From patchwork Sun May 9 12:45:23 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: andrew hendry X-Patchwork-Id: 51999 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 474E2B7D61 for ; Sun, 9 May 2010 22:45:36 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751534Ab0EIMpa (ORCPT ); Sun, 9 May 2010 08:45:30 -0400 Received: from mail-px0-f174.google.com ([209.85.212.174]:33179 "EHLO mail-px0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750899Ab0EIMp3 (ORCPT ); Sun, 9 May 2010 08:45:29 -0400 Received: by pxi5 with SMTP id 5so1237765pxi.19 for ; Sun, 09 May 2010 05:45:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer:content-transfer-encoding; bh=iXgNjg+SynED333VPAzKUDgPyXUtyAP/HUk/WyztaaU=; b=NSiaxNNTvPgLolv3rEecV92SAWGNx+mQVfEVkwAWUIdYkpHAgAUIn4s37QwPtRb2T7 9/PwCzdiYIok8iBV+r2QvzIW3rUH4w+Bp5H93nJDMq5gGshKRJxwX1hSn2YoHYbbu45+ OfCKznjSJRH9NR4GMHNIPovo+jPyLrPjYBRQc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; b=LLxuSrpk1Grkwyh4Oo1MHoTkH4sVejewwkk1vP+IfiXR4u04TfmaAy2U1yii7QSy2s WISg8Pm3oWxK+ZFn/VUrREdcFtJVSicnzis9vvksQi2WiKVL6GwNoQJq26v2RutMvu4o +2Cmp5s5SzMQJ2Xs1D9ZPfkdxIJ/sGzCZlb8s= Received: by 10.115.114.34 with SMTP id r34mr2019150wam.64.1273409128660; Sun, 09 May 2010 05:45:28 -0700 (PDT) Received: from [192.168.0.8] (210-84-37-193.dyn.iinet.net.au [210.84.37.193]) by mx.google.com with ESMTPS id g30sm20069598wag.16.2010.05.09.05.45.25 (version=SSLv3 cipher=RC4-MD5); Sun, 09 May 2010 05:45:27 -0700 (PDT) Subject: [PATCH] X25: Replace BKL in sockopts calls From: Andrew Hendry To: netdev@vger.kernel.org Date: Sun, 09 May 2010 22:45:23 +1000 Message-ID: <1273409123.2727.387.camel@ibex> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org x25_setsockopt only updates the socket x25_get only reads Signed-off-by: Andrew Hendry --- net/x25/af_x25.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 296e65e..9f177a1 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -453,7 +453,6 @@ static int x25_setsockopt(struct socket *sock, int level, int optname, struct sock *sk = sock->sk; int rc = -ENOPROTOOPT; - lock_kernel(); if (level != SOL_X25 || optname != X25_QBITINCL) goto out; @@ -465,20 +464,20 @@ static int x25_setsockopt(struct socket *sock, int level, int optname, if (get_user(opt, (int __user *)optval)) goto out; + lock_sock(sk); x25_sk(sk)->qbitincl = !!opt; + release_sock(sk); rc = 0; out: - unlock_kernel(); return rc; } static int x25_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen) { - struct sock *sk = sock->sk; + struct x25_sock *sk = x25_sk(sock->sk); int val, len, rc = -ENOPROTOOPT; - lock_kernel(); if (level != SOL_X25 || optname != X25_QBITINCL) goto out; @@ -496,10 +495,9 @@ static int x25_getsockopt(struct socket *sock, int level, int optname, if (put_user(len, optlen)) goto out; - val = x25_sk(sk)->qbitincl; + val = sk->qbitincl; rc = copy_to_user(optval, &val, len) ? -EFAULT : 0; out: - unlock_kernel(); return rc; }