Message ID | 1477578591-28924-15-git-send-email-aryabinin@virtuozzo.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Herbert Xu |
Headers | show
Return-Path: <linux-crypto-owner@kernel.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 143906057E for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 17:02:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F323D2A0C1 for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 17:02:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7E582A1C5; Thu, 27 Oct 2016 17:02:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 684A42A0C1 for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 17:02:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932442AbcJ0RCZ (ORCPT <rfc822;patchwork-linux-crypto@patchwork.kernel.org>); Thu, 27 Oct 2016 13:02:25 -0400 Received: from mail-ve1eur01on0103.outbound.protection.outlook.com ([104.47.1.103]:14496 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934208AbcJ0RCY (ORCPT <rfc822;linux-crypto@vger.kernel.org>); Thu, 27 Oct 2016 13:02:24 -0400 X-Greylist: delayed 7110 seconds by postgrey-1.27 at vger.kernel.org; Thu, 27 Oct 2016 13:02:23 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=W2axYPxBcqMfv7m3/QECwPN90SRAqxIx5D3ZEiDj6pk=; b=LpvVZ8pVhGNLPUS/7Ki5Zn+n9Q9D3yVYcKk8O0zBzNSLYgewxcXB1ezc90eeL0QpBZmojWuLwEJEmyCx+5JzsrVUk0viWa/fNOw+4d4CJIHL+UHOO1YlwrGAobTIzxm61EIhaCT0HUT6v0zx2BZcx8egNGWHQV8dNzjWbfiiFK0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Received: from localhost.sw.ru (195.214.232.10) by HE1PR0802MB2555.eurprd08.prod.outlook.com (10.175.35.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.12; Thu, 27 Oct 2016 14:29:59 +0000 From: Andrey Ryabinin <aryabinin@virtuozzo.com> To: Willy Tarreau <w@1wt.eu>, <stable@vger.kernel.org> CC: Herbert Xu <herbert@gondor.apana.org.au>, <linux-crypto@vger.kernel.org>, Andrey Ryabinin <aryabinin@virtuozzo.com> Subject: [PATCH stable 3.10.y 14/18] crypto: algif_skcipher - Fix race condition in skcipher_check_key Date: Thu, 27 Oct 2016 17:29:47 +0300 Message-ID: <1477578591-28924-15-git-send-email-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1477578591-28924-1-git-send-email-aryabinin@virtuozzo.com> References: <1477578591-28924-1-git-send-email-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM4PR0501CA0035.eurprd05.prod.outlook.com (10.167.83.173) To HE1PR0802MB2555.eurprd08.prod.outlook.com (10.175.35.148) X-MS-Office365-Filtering-Correlation-Id: 5f5a014d-938a-4d9d-22d6-08d3fe75bbb5 X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 2:evqJeRKf2uixIfFybK9zsDnjrVS38lV0OKezLi4MirrH3nfFlFM3CNpjnMr5EktJH88atL2gJ6NL2VrNcUB2iKqB3ybpHfIJDuB/+ahQ05+wSCHcGerBBoD80rMOIBdg8gVyimBHfL6QXs3LM18JZ8kKctiJBRcRWLjdm2yzCQHNjuxyoMEd+cfjqFWKlcobuO/jsHvPpv5EYr8cRht5YQ==; 3:7vQ5X/efq2bzSSTPaCP04VvqFYCGHlOtH7tzs3Vxuo2n7sKMMJSoMVJNYuq7ob/e369g4otp0aXgIwg+NDCHRa1js79pSd+KkXkExi5L/Qqn2NLukG6y2YFfAg3W765rqvlLgsBVsvqDIvlKYYpEng== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0802MB2555; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 25:dR8XyA8MMeNWYXqZInss4MhnmbZaHFn2AXjfHikjaqkQJU0zXRL2dPErgEBOzzx/SLo8vQ8f0Td+Ij83MxcUgfZuFvbggCF5DuFhS3OuvoMkJ35aSehDuoBp/x5zBmGbU6RJdoChuI+oD2Q5jNqwAnJfsYDAstUghYi/zwvbAJkS5/bRvl31ys3dJ4WnPd+zPZyycIdFkQMZbSQGfEvmxoz0k1O+W93+xgRNicI9evg3L32iyPLEdIk3EX4FOF3AfodkJkIQn9pAWIO5FKppLuEvYXq2GJPr4WxkFIcilkt046JLFcsxm02awuHrQMyOtRC0yq6tiT5IuWw3RSMTKg0nfAAzDOSc+zU0EOd1b0d5qwyelTQ9ZWy382mhu8WDlP9ISzEpmRwk0KoNXtkkXbbQdO5xojT5auogx8ZHkhTY22dsJLK7UUNy3xSLx2W85HIdLAoRUuE7DDzBUc4ML/Hq/QjUj+BwkLATvu7B2zHx2L7L9JPjQkLxJ1yZwhafnLmkkrMRW3UHzmULbeTOOHbaMvoRrJF9QEm+JHtF04xLUGtIOLSvV4RYlQfTV2fxhrhIC86CwqpCdpFH/1D/KM/3TDbOJ8nrygLBA/ssP2hPEy4pWaMEIL0xsv84TKpeNTbeV8pEzQ2O6DCLyVAkj+K26U2cJ2lndbXvQSAieUWISDglfwS7ohAj7NOdxzV0Q4mrN3J/ji4Oms+/Cxsucv2R3Cwpul9vwMI2+mhzjl+I9G1MiI55Bo2fFi9yiM84 X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 31:9RLJGPxw+FVG5JPvirWu1qksLYhOq+VJZBvqOUxYkCBp82ICInO+TXI+3onCb9UHX/VzJKOqYD/JExaqHpfwkXQ22WkdB99GcMusH+MbrbxvyXFvOAg9w51OH7iOYgd979wvIblchZ//i025qaAFtYBDr9wnYSXLzbGMuIuMGLFr0EXB043A5qmZjyICd+6vE23mJxZBePgW0tR/oBkU6s5OnCjWGyEXRM2vBBdagRbTYVYMdESBy1+gqe8Y5vDegyhXfTXHUMBppLpyBVCYUw==; 4:dnQ8divVK6gXnbTDA3Uzca4Z1+WNK9UqEEVFNp/FFe+3O1Vh7Tplqaj0L9ovpNTSMXC6s92I393nSdHMyVzFAzt2ojnr6uPC9wqbtfcnrAu8g7j5SUEdZQuf8hgRTa8yOAOee0ZENv3cif9wF5gIj8WYnawID/T6U35fdGH9lOKpcWmCj9z0CEL51lElOkVYyHqlfngNMGkPlaNQKvZz647HyVZL6ii8IQENahv4y954X3/JF7umybfsEMQdPbt4Ot6eK6IBtCQ+J//Gyksuw3DrfohvW9rSLIVjN8QxIMxA0SQcEnY7Ib4Q1aHRDtaBfPGXNb1PQofb3elyKpu/VoL3uB3lyC7wVEFXoSYU3pw8SyYBP4TFIvPHWvb3G14EvwwNlOoypWkYmeJuqPe3IPa08wjmcHb7hCPPm+Ny+RC7W6J1hbYZB7Nopvadvr2Nmm0PXNCZoUReAZ3x0l9XztWctF0p8nKzKX9dKzsEkfo= X-Microsoft-Antispam-PRVS: <HE1PR0802MB25550B07E26E0B479B3B3E7DB0AA0@HE1PR0802MB2555.eurprd08.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6043046)(6042046); SRVR:HE1PR0802MB2555; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0802MB2555; X-Forefront-PRVS: 0108A997B2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(2906002)(81166006)(53416004)(76506005)(8676002)(81156014)(42186005)(305945005)(7846002)(76176999)(48376002)(19580395003)(50986999)(7736002)(19580405001)(2950100002)(105586002)(86362001)(229853001)(586003)(6666003)(6116002)(3846002)(4001430100002)(33646002)(50466002)(36756003)(4326007)(69596002)(189998001)(77096005)(47776003)(5001770100001)(66066001)(107886002)(92566002)(5660300001)(50226002)(5003940100001)(101416001)(68736007)(106356001)(97736004)(781001); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0802MB2555; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0802MB2555; 23:YLK2p2lcWt2rD/IfHskr3lzZa9EaQLKcnnA5HAJ?= =?us-ascii?Q?nVu80m/UdVpPomx6vMUIwk5nUSo9AzqIx1kRCezpLDCpytebpboZlU7E+X4l?= =?us-ascii?Q?Nu3364kBM5m+lPecj6pgHqvCEO5VYnD0DxMM8ECrlOF4eJt5EkKszcpQB9FK?= =?us-ascii?Q?MoNdt/09Yg978U5J57VLl4vN/Yn8QROVEu3S93s0BAdNtTy+vnBrx8pvWSrk?= =?us-ascii?Q?c4Wf27cQDnJrlGWKZz0Pct/Hd8oYdY4GnbjDgl14IyniyBEd32Yv0DRcmhLW?= =?us-ascii?Q?9nyqV5M84152FSVu0Q/KhJRHnaH6XXOKnp4j2hKyGMIlR0mBJEGvHM/AxcLO?= =?us-ascii?Q?Hy33fDOT1wm++1ebnt2NFTCQFtYU6l3fb5ogw3vdUMjGQqocClYc6j+d0LkG?= =?us-ascii?Q?bWgCI6VtOK84vT6TOe+tYjMJJbg1Zch+ofyuleAGq9EF4fmQEqIXirEPDmEd?= =?us-ascii?Q?LUBZLurSQRN+9suTkbuKjhs2wsBf3AwgWXwIUl1Q77WiCFfFPuqy77hWLl5s?= =?us-ascii?Q?9/RgD+dvuAmToCq5z6fxIcrKGzw2HQ+HtGA3G4h/tuqzoEZdHagrIEQqgvgX?= =?us-ascii?Q?O900ih8Qf6I+SSk4V7AmnL76JCl3WqedcEntjh6UTKAvjgl2czDpP1dSOjaO?= =?us-ascii?Q?F8Wgxp/IRGdxMoT3rGO3yITTKq7jrD0ZzcDT6aiHUGxbqxFV/s8J3jhJ4nb6?= =?us-ascii?Q?lHdL4pOQicfh2iENbBWhQo5Vuj45MoaxwuPR8CtVmvB03Bxs4C+WbiPUixIB?= =?us-ascii?Q?kiHC97nbLbaoGlOQYkOq/SeKU3VZFNMo31YJMGrKE/yY0hN2o8y1DBEQvW4W?= =?us-ascii?Q?sJMCMxVrqa5XZRHF+jaa1W7Cn5N+OUTX/xUgpUV9HD+mTc6Y6pI204nlOSpL?= =?us-ascii?Q?i1BVCIkF57FQoWg9pLYrirBKxMjUgrM10ElkpRlBBzcIjOeGgoViJdLsG1+k?= =?us-ascii?Q?KCodel9eh5K3ER1z1VnQ6wpOG/uzy6iNSmGRifi/U10dwapV5A2Py7LnkNWf?= =?us-ascii?Q?b4XEbtwCWtKCggf5a00ce8u6Z5jc8j31xz7EAxDlaZYLqlUQrCIgK2KeXmeF?= =?us-ascii?Q?YbB+dZUOe3esgEtyeR3Ibjs65SU7DGTbc2JplvClzRbPnjFlphtfR5fUa5Ka?= =?us-ascii?Q?UyyPtU+WnzUi3T1kP0n0YnfP19jcSG0rMlg8DXV9tn+n2tTXo3lL3VVp5YdS?= =?us-ascii?Q?fS9FpzwMPQYTjtdQgR0XjSEvPpQRi2U0QVTTY5gdI7uG3E50yVJUxH85rrW0?= =?us-ascii?Q?s/oZup2f6c2m/bqb8jZc=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 6:niRku71my4jNbfcXaL754+X9JZaEDbsYnsXrs4ihBkLl9ClWNBaPnkmtZoCypHG+G+T6xuClXRsWzjjiYrUlPSYJh2JzEm8gXvsS/Plvxhe11KBEw3ZRnpzgj5c2pqsGWCELdH2vAkEkRBbS0zmM6YpcR28K2z6LtnZfvHIWnks/i+M7dMBmjgRltokWyWU0GDxRzrgKjL8yiMSltHpVpkr1FcXzFK+L9fnSOyDE2PHFVZrPVXEz6E1K8MFfYUq5APdHBRmr6c20la9BM2s/jZ8Bwtj0tvJcnOCyS4k8ya5aswP+khAAydn42h8Rn+cG4YnHH/VSvshY6y07mDg8Eg==; 5:Ov3qqzEtLeroH2OjBAuvGAfjgPUa0nRMRoGod6sziHDDxqxCiZZ3sulVsmYPZzz/ERwcDzLJrl35mELdbaOB3WAzZ041H88GnbtfxyirO1tmYAiXVXJ6zWkFNMbiqbMu0yrdjTYR+4+axvFUDTUtTg==; 24:oZKdw2aejpXFDa/KRWVItoQqnuxbhk97CibsTFC1Sxf2768QcV8NaODXneUTRm+yAO2gVCJY6Qy7/53bv5rHVuMnlFAr0CcndIBbauugRGE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 7:d4jIf81E1KkDSX1soYGEQ1ZroiuD10FVeLh449CSyx6NUIKqRxaH5rrpgpE1CM6ShTWBlmQb1IUaU+iwK21AriUq+Bz7PpMdHX3t6Z/efO/jt0URS2NfJJvUScag2B9al+oH4NejO1goz7aFf/FFtmKiG5UHx8sJJoHI4T/5x1Qxc7fESAFuQCLchuplTqlCFoB2DwlE4rAI9kQxidAgXjVFpnf2/V1j+fgKTJ1SMLdprXUkn+HhQRV+X0N4+pYYOBR3SuqjOzPoqzt5/dNARV5n9bl8qHsR2ffybJRiLaoeGe6igpOESrTLD0rlknUZ68+xCwV5oauKOITdBqqmYQW1kUJ4qBIdslk5OicGSTE=; 20:kg2sgNfAbcuUjk92U11iFG6i/a93CMH8i5dlS/81mGu/+mD1B2w6ABULII4TYq8NPGs5swuYV3bKc6Qc3e1hpsvK1wORsVJqOuxkpGsP1mQzn06kPmDcsIaKVgTF8Kp2LhGXx8BdDIHhuRwp948gALn4ZbddACrkGv2uFA9aZVw= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2016 14:29:59.7686 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2555 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: <linux-crypto.vger.kernel.org> X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP |
diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c index a7800b7..13fd26e 100644 --- a/crypto/algif_skcipher.c +++ b/crypto/algif_skcipher.c @@ -551,22 +551,23 @@ static struct proto_ops algif_skcipher_ops = { static int skcipher_check_key(struct socket *sock) { - int err; + int err = 0; struct sock *psk; struct alg_sock *pask; struct skcipher_tfm *tfm; struct sock *sk = sock->sk; struct alg_sock *ask = alg_sk(sk); + lock_sock(sk); if (ask->refcnt) - return 0; + goto unlock_child; psk = ask->parent; pask = alg_sk(ask->parent); tfm = pask->private; err = -ENOKEY; - lock_sock(psk); + lock_sock_nested(psk, SINGLE_DEPTH_NESTING); if (!tfm->has_key) goto unlock; @@ -580,6 +581,8 @@ static int skcipher_check_key(struct socket *sock) unlock: release_sock(psk); +unlock_child: + release_sock(sk); return err; }