Received: by 10.213.65.68 with SMTP id h4csp1900803imn; Mon, 19 Mar 2018 16:57:35 -0700 (PDT) X-Google-Smtp-Source: AG47ELuQHrh44uKyyXkdGiZseLN2VWEcwdPrmjNdlRm6B1yd9223vLrOiJBV3Jw9uNb/LOgbu7o1 X-Received: by 10.99.95.78 with SMTP id t75mr10510803pgb.330.1521503855580; Mon, 19 Mar 2018 16:57:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521503855; cv=none; d=google.com; s=arc-20160816; b=a0Taa+JL8xTRMEtjo95eQekCmWaj/QSZVNKslwT/a3L9hGQeo/0m9RckrWO/1K+tSu rVYFMlzjXFdLT5dQcSI7gTWro+vsszAv58eqUAjgofnoHSmMlfuFhMebiBk+uGx0mQwr tRwGB/yjwHcSpY4noJVBYDzdOVDiCWzfhrmBnMQwEyzUCU80epPfaSxLlxZAijrksUlC cbai1ryYQ5hsDPOaLtGCC5xzVVc7dtBmwdaI9T7BVCrVWhoo+eCuSRFzTo/Zf+W2sXwb /+trLyuMidKVo8XwWb7HzoTd17v508k7YCUWnpVKZjw2ROu9a/zMQiapP6QhqOtGmJv0 Vd5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=Y6ueIKowli7sEnyvmfatWx8WzTom3RZX/T7nQv/ossM=; b=zkKSzlww2WBmPeguRqamWDKScGXCpGZlFQCibtSW49M9Tza6PcTZYFM5yoRpReU0+W Rl2ecaNb0C0vycfp0mlND+21OCgYYbDkMDK8CiqKKgYj+628co1KMNixsE7XAXbDQqpZ Ty5OecRuZqwiNMtDfqz7VnSFLgexR9javxZgfuNZgYDsTFkSvU6a7EHXOLDpCgHlD2IT E2i0BJmXKMnz+0usGDGeDhXClRRG56jQb0pRgPbSf1gKrkzEx/Nb3YkmgwEvKM5PLl+q nSBuwmvL7YeryQEG8Bpqv2gfM73LgLR9XROZnU4FpoTsK0tRy/lhJnGxH4hi6fnqX2cj 37aw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=epv+DEuP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si258669pgo.403.2018.03.19.16.57.19; Mon, 19 Mar 2018 16:57:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=epv+DEuP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966510AbeCSRVm (ORCPT + 99 others); Mon, 19 Mar 2018 13:21:42 -0400 Received: from mail-bn3nam01on0106.outbound.protection.outlook.com ([104.47.33.106]:7584 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966393AbeCSQJH (ORCPT ); Mon, 19 Mar 2018 12:09:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Y6ueIKowli7sEnyvmfatWx8WzTom3RZX/T7nQv/ossM=; b=epv+DEuPuxrkJFQjAZPR3x2ZzUxwuaYR6JkcyuDodE6yn4xjBIlYMpZTOp8K3hH9ia88Df9kFW16TTrJ1G9zQMaqgPGcLCMMJAaQqwUxf4/DilDB7ZT93DQY1BpGHYIa9aXohKrX68PzAC3jsf7MZwheEB64hAKs3TTUkH6Dr2U= Received: from DM5PR2101MB1032.namprd21.prod.outlook.com (52.132.128.13) by DM5PR2101MB1095.namprd21.prod.outlook.com (52.132.130.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.631.0; Mon, 19 Mar 2018 16:09:04 +0000 Received: from DM5PR2101MB1032.namprd21.prod.outlook.com ([fe80::3d9b:79e7:94eb:5d62]) by DM5PR2101MB1032.namprd21.prod.outlook.com ([fe80::3d9b:79e7:94eb:5d62%5]) with mapi id 15.20.0631.004; Mon, 19 Mar 2018 16:09:04 +0000 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: linzhang , "David S . Miller" , Sasha Levin Subject: [PATCH AUTOSEL for 4.4 081/167] net: llc: add lock_sock in llc_ui_bind to avoid a race condition Thread-Topic: [PATCH AUTOSEL for 4.4 081/167] net: llc: add lock_sock in llc_ui_bind to avoid a race condition Thread-Index: AQHTv5xSx+VkzBI5lUGTf3C3S4lj5w== Date: Mon, 19 Mar 2018 16:07:03 +0000 Message-ID: <20180319160513.16384-81-alexander.levin@microsoft.com> References: <20180319160513.16384-1-alexander.levin@microsoft.com> In-Reply-To: <20180319160513.16384-1-alexander.levin@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [52.168.54.252] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DM5PR2101MB1095;7:Jfz5vhQE8TwPkRm4PJk9Xt1Hhlyi1DNIXiNEFrJxY2d7eVwWhgyJBccI/FdQ2mAJbJPtosn4nUHAxXaGrJw65wd3B23EPAaWIfHap1VhEJRRCTp4gVJcxxC6tOCy2ZbnjKpDrtvvkvWaGjc8A5N+AAd9M54+ppTrJXzQTuXku4IeKco5cvLuUL0tVTuhg7FPFMIWNxDtOKX9NiOgicvLbCMWXTcocVrEkYKds6FGhLI6n6GpWRUFIqjx5giXWHy3;20:bt1zLEmkAyLNG71hXBqZfl0m5HVhEJvoaUhN5sFRI7IFoqNKQnDVLCKNmUMcI8ixiu9gKI3N5SJ5PHCh3CX0YgHvKBNp6BwWRuj9GtDMAENpnEv7+vmMBM2KSRW+LxzNc42W3T7I47m11OVVaVMKbEiASsAfBU1qSiEvxGDceOM= x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 51edadf9-9f42-4db1-65e1-08d58db3bcb5 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7193020);SRVR:DM5PR2101MB1095; x-ms-traffictypediagnostic: DM5PR2101MB1095: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(85827821059158); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040522)(2401047)(5005006)(8121501046)(3231221)(944501300)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(61426038)(61427038)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:DM5PR2101MB1095;BCL:0;PCL:0;RULEID:;SRVR:DM5PR2101MB1095; x-forefront-prvs: 06167FAD59 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(346002)(366004)(39860400002)(396003)(39380400002)(189003)(199004)(305945005)(316002)(1076002)(7736002)(14454004)(86612001)(25786009)(8936002)(2950100002)(110136005)(66066001)(186003)(10090500001)(5250100002)(39060400002)(2501003)(99286004)(76176011)(86362001)(4326008)(68736007)(3660700001)(105586002)(8676002)(81166006)(81156014)(106356001)(3280700002)(72206003)(10290500003)(478600001)(2900100001)(59450400001)(97736004)(54906003)(6512007)(53936002)(6506007)(102836004)(6436002)(5660300001)(6486002)(107886003)(26005)(2906002)(22452003)(6116002)(3846002)(36756003)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR2101MB1095;H:DM5PR2101MB1032.namprd21.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: UzeRU18VEMdEg1Q3w52Eyo9xAQOqyt7zoiaM96yDvcq2A8xw4KmscIndUcTRlAsZtaP2ceUTBen7lPD7Pm+Dv+MWUaVRpu40zOGc/KaVWoXzE+z5+DISIH9dbZgPGSDZMwrBjGSJwouzCQZD/JejGfQwHDBM40HE78Yjwbdsa0rGS11L5MeTOC9MhRqRlO+J9Di/ABeHjVvqIe/bS0EEUOojpNJaMYFGfIFkjM5AKoqJLdN118Mfx0lUhgDANBHsW9sVxK30tCj7bp0hVpYubIDu8LsJfXWuorZ3mCE5ZPw5MwrkwlzwI0j5eBpR5RClc7rV41YnwSj4n7pd80sXEQ== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51edadf9-9f42-4db1-65e1-08d58db3bcb5 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2018 16:07:03.8733 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB1095 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: linzhang [ Upstream commit 0908cf4dfef35fc6ac12329007052ebe93ff1081 ] There is a race condition in llc_ui_bind if two or more processes/threads try to bind a same socket. If more processes/threads bind a same socket success that will lead to two problems, one is this action is not what we expected, another is will lead to kernel in unstable status or oops(in my simple test case, cause llc2.ko can't unload). The current code is test SOCK_ZAPPED bit to avoid a process to bind a same socket twice but that is can't avoid more processes/threads try to bind a same socket at the same time. So, add lock_sock in llc_ui_bind like others, such as llc_ui_connect. Signed-off-by: Lin Zhang Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/llc/af_llc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index bb8edb9ef506..1e698768aca8 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c @@ -309,6 +309,8 @@ static int llc_ui_bind(struct socket *sock, struct sock= addr *uaddr, int addrlen) int rc =3D -EINVAL; =20 dprintk("%s: binding %02X\n", __func__, addr->sllc_sap); + + lock_sock(sk); if (unlikely(!sock_flag(sk, SOCK_ZAPPED) || addrlen !=3D sizeof(*addr))) goto out; rc =3D -EAFNOSUPPORT; @@ -380,6 +382,7 @@ static int llc_ui_bind(struct socket *sock, struct sock= addr *uaddr, int addrlen) out_put: llc_sap_put(sap); out: + release_sock(sk); return rc; } =20 --=20 2.14.1