diff mbox

inet: set `error' value not under lock_sock().

Message ID 20160309182217.GA9708@jwg
State Rejected, archived
Delegated to: David Miller
Headers show

Commit Message

Weongyo Jeong March 9, 2016, 6:22 p.m. UTC
A trivial patch to set `error' variable while not holding
lock_sock().

Signed-off-by: Weongyo Jeong <weongyo.linux@gmail.com>
---
 net/ipv4/inet_connection_sock.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

David Miller March 9, 2016, 8:37 p.m. UTC | #1
From: Weongyo Jeong <weongyo.linux@gmail.com>
Date: Wed, 9 Mar 2016 10:22:21 -0800

> A trivial patch to set `error' variable while not holding
> lock_sock().
> 
> Signed-off-by: Weongyo Jeong <weongyo.linux@gmail.com>

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.
Weongyo Jeong March 9, 2016, 10:46 p.m. UTC | #2
On 03/09/2016 12:37 PM, David Miller wrote:
> From: Weongyo Jeong <weongyo.linux@gmail.com>
> Date: Wed, 9 Mar 2016 10:22:21 -0800
>
>> A trivial patch to set `error' variable while not holding
>> lock_sock().
>>
>> Signed-off-by: Weongyo Jeong <weongyo.linux@gmail.com>
>
> 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.
diff mbox

Patch

diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 6414891..58bc39f 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -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;