From: andrew hendry Date: Thu, 25 Nov 2010 02:18:43 +0000 (+0000) Subject: X25 remove bkl from causediag ioctls X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=74a7e440807d34e586e9feb8e14851b5c80fbfe5;p=linux-beck.git X25 remove bkl from causediag ioctls Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller --- diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index e2eea0aec466..8cfc419cef4b 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -1538,23 +1538,22 @@ out_dtefac_release: } case SIOCX25GCAUSEDIAG: { - struct x25_causediag causediag; - lock_kernel(); - causediag = x25->causediag; - rc = copy_to_user(argp, &causediag, - sizeof(causediag)) ? -EFAULT : 0; - unlock_kernel(); + lock_sock(sk); + rc = copy_to_user(argp, &x25->causediag, + sizeof(x25->causediag)) + ? -EFAULT : 0; + release_sock(sk); break; } case SIOCX25SCAUSEDIAG: { struct x25_causediag causediag; rc = -EFAULT; - lock_kernel(); if (copy_from_user(&causediag, argp, sizeof(causediag))) break; + lock_sock(sk); x25->causediag = causediag; - unlock_kernel(); + release_sock(sk); rc = 0; break;