Commit c852a6d7 authored by Alexander Aring's avatar Alexander Aring Committed by David Teigland
Browse files

fs: dlm: use saved sk_error_report()



This patch changes the handling of calling the original
sk_error_report() by not putting it on the stack and calling it later.
If the listen_sock.sk_error_report() is NULL in this moment it indicates
a bug in our implementation.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent e9dd5fd8
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -569,11 +569,8 @@ int dlm_lowcomms_nodes_set_mark(int nodeid, unsigned int mark)
static void lowcomms_error_report(struct sock *sk)
{
	struct connection *con = sock2con(sk);
	void (*orig_report)(struct sock *) = NULL;
	struct inet_sock *inet;

	orig_report = listen_sock.sk_error_report;

	inet = inet_sk(sk);
	switch (sk->sk_family) {
	case AF_INET:
@@ -618,8 +615,7 @@ static void lowcomms_error_report(struct sock *sk)
		queue_work(send_workqueue, &con->swork);

out:
	if (orig_report)
		orig_report(sk);
	listen_sock.sk_error_report(sk);
}

static void restore_callbacks(struct socket *sock)