summaryrefslogtreecommitdiff
path: root/fs/dlm/lowcomms.c
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2022-11-17 17:11:55 -0500
committerDavid Teigland <teigland@redhat.com>2022-11-21 09:45:49 -0600
commitc852a6d70698d5e4a9f3670ecabf9656ff00c73c (patch)
treeb4fcd944d25d28ebfe40b75d3a7a18cbc07006ed /fs/dlm/lowcomms.c
parente9dd5fd849f1ac125919a79eb4be66f078dd7f51 (diff)
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: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r--fs/dlm/lowcomms.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 677e31144ca0..643f9810ec35 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -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)