mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-25 16:33:36 +00:00
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>
This commit is contained in:
parent
e9dd5fd849
commit
c852a6d706
@ -569,11 +569,8 @@ int dlm_lowcomms_nodes_set_mark(int nodeid, unsigned int mark)
|
|||||||
static void lowcomms_error_report(struct sock *sk)
|
static void lowcomms_error_report(struct sock *sk)
|
||||||
{
|
{
|
||||||
struct connection *con = sock2con(sk);
|
struct connection *con = sock2con(sk);
|
||||||
void (*orig_report)(struct sock *) = NULL;
|
|
||||||
struct inet_sock *inet;
|
struct inet_sock *inet;
|
||||||
|
|
||||||
orig_report = listen_sock.sk_error_report;
|
|
||||||
|
|
||||||
inet = inet_sk(sk);
|
inet = inet_sk(sk);
|
||||||
switch (sk->sk_family) {
|
switch (sk->sk_family) {
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
@ -618,8 +615,7 @@ static void lowcomms_error_report(struct sock *sk)
|
|||||||
queue_work(send_workqueue, &con->swork);
|
queue_work(send_workqueue, &con->swork);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (orig_report)
|
listen_sock.sk_error_report(sk);
|
||||||
orig_report(sk);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void restore_callbacks(struct socket *sock)
|
static void restore_callbacks(struct socket *sock)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user