inet: set `error' value not under lock_sock().
Subsystems (3)
PATCH 1/1 inet: set `error' value not under lock_sock().
A trivial patch to set `error' variable while not holding lock_sock().
--- net/ipv4/inet_connection_sock.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
net/ipv4/inet_connection_sock.c +1 -2
@@ -306,14 +306,13 @@ struct sock *inet_csk_accept(struct sock *sk, int flags, int *err)struct request_sock_queue *queue = &icsk->icsk_accept_queue;struct request_sock *req;struct sock *newsk; -int error; +int error = -EINVAL ;lock_sock (sk);/* We need to make sure that this socket is listening, * and that it has something pending. */ - error = -EINVAL ;if (sk->sk_state !=TCP_LISTEN ) goto out_err;
Signature · 1 line
2.1.3
David Miller
maintainerFrom: Weongyo Jeong <[email protected]>
Date: Wed, 9 Mar 2016 10:22:21 -0800
Quoted 4 lines
A trivial patch to set `error' variable while not holding
lock_sock().Signed-off-by Weongyo Jeong <[email protected]>
Deferring the assignment means gcc doesn't have to potentially put it on the stack across the lock_sock() call.
You're making the code worse not better, the assignment into a local variable is not an expensive operation.
I'm not applying this change, sorry.
Quoted 8 lines · David Miller
From: Weongyo Jeong <[email protected]>
Date: Wed, 9 Mar 2016 10:22:21 -0800Quoted 4 lines
A trivial patch to set `error' variable while not holding
lock_sock().Signed-off-by Weongyo Jeong <[email protected]>
Quoted 7 lines
Deferring the assignment means gcc doesn't have to potentially put it on the stack across the
lock_sock()call.You're making the code worse not better, the assignment into a local variable is not an expensive operation.
I'm not applying this change, sorry.
No problem. Thank you for review and opinion.
Regards,
Weongyo Jeong
===========================================================
Considering Office 365? Barracuda security and storage solutions can help. Learn more about Barracuda solutions for Office 365 at http://barracuda.com/office365.
DISCLAIMER:
This e-mail and any attachments to it contain confidential and proprietary material of Barracuda, its affiliates or agents, and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient. If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.