Message ID | 1477578591-28924-10-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 1ECAE60588 for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 16:04:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C8152A2AB for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 16:04:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 016352A34E; Thu, 27 Oct 2016 16:04:34 +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 852122A2AB for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 27 Oct 2016 16:04:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S942300AbcJ0QES (ORCPT <rfc822;patchwork-linux-crypto@patchwork.kernel.org>); Thu, 27 Oct 2016 12:04:18 -0400 Received: from mail-ve1eur01on0102.outbound.protection.outlook.com ([104.47.1.102]:36000 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S936570AbcJ0QEO (ORCPT <rfc822;linux-crypto@vger.kernel.org>); Thu, 27 Oct 2016 12:04:14 -0400 X-Greylist: delayed 3725 seconds by postgrey-1.27 at vger.kernel.org; Thu, 27 Oct 2016 12:04:14 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=3kSM2i320xIilBjFjFvgI1a3YYuvkDosM5ph/oENeWI=; b=KybqdnRMkJ3uNWFC2DWEkDsG9DBJ91vJJdLsF4QScAPU4YLqtZSAofbzkMTO62mrXohWGJHfqRJacBSE0M6WVNjrRujJKOPc3G+eQRXjnqAZqq6LPtidj2yFwTIGbkJsXX/rEu9NkA6QGnHDD83QqwaabgYOv3EWRSAVuLrjmPI= 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:55 +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 09/18] crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path Date: Thu, 27 Oct 2016 17:29:42 +0300 Message-ID: <1477578591-28924-10-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: 0a436ee1-cd78-4ff4-b91f-08d3fe75b900 X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 2:GLw6ycrizwhNVeOkYa/vnoCiynniH3B1S4/JybE77oWukLbkRPFoTDt+rhQPcGUdbozAMA448lq6CSWMml3+bKrvjQr3sK9WvPMEALxTZ64TbTeWaqgDYZuNcIlPfguJYRczo4p4dEAjDI9usf5Kjb9GYjF95bahIHM8QOAqHe88j7/BdnLiZsKmy5kwqcQqrAJM55zxwdwBuOkvH8GyOQ==; 3:LOIXWtYz3aEoBJvMtOx22AAqqHNz3PjQCh1LAuagu1n0Ofk6TWjJDzjgFugfrnCDw1zy9bBiq0DKPH/2AFHl4pfQqPXNHZR8erI9gpnIzk0Rr7A3j6tyRiEl8xRHdzT10yz83BBllC4Wf4PpbUB1JA==; 25:Wc1h40h1BRtir/81DKgrGhzVLqQ785jPgH0KJ2UassRVQB9alF8eMuMk6dFhYua4NE8KolXo9n6A3zjN0ryqbpQtdau6/CuR5UxU7wG9Cd0VFapQlp2f9E4lVP1X5gWI+rfJsNQHFChwnnAoaMnR/Y9Gb9RXo+lL9uy4DEj9GKjGv9Vs5aRunMOHkoZoOM0IcYDGBFol9XFw9W9pyxpuMHHhdljdH2vGG4q1J53M8D4jU/mGsE+4ge3j+MpYD7RqM7r2yD1lAiPCGLRaVsNfGL+HTO4ZvWIbNneNiBVBpiUZWkXm1Q9vl1Va6Fkz2kMLOGrhAh0ToHu7sE9AyCgveyg/m2MYTeMDggvgCcYpfmDTFEEVEwOJqyIef2lBEctWsAb4HkFYdI/ThCY31zo0gy+YcLnMXIhP9xdNRF3nkWw= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0802MB2555; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 31:d0nax+shBHUXaLDgD5AxcXO8oMBbgeLL2NJVT4zvlzTNvAvDeVN1tle08sMVvNAZv4nCrEY4e2lUc3tKFoDrikEoakB84jzGQCMxDA0/6zNJBxjNaGF04h8FI2ePIQslXFB/kVBN85Y0o5qIp18apnyXQCFFQCVeHZK4VLaDB9oHcYH6UsVyXH25rf0s8ohhPKGEnxhbIvFgbJglEgnqdyI+BvAnkseutsyDEroh/TsbkKY8D9t26miakFa9FzuhFmnTnEH6vRN5sO6jPhtTAg==; 4:iMbQJIv6gUeP+60P1rekLiLSQUhJCKYqKnQgcOg3wJATLxf1Bepm5vsBPLyb5YAZyC2tHBFDz+T7tEIm+J+I5r7dWemuGO0SZqEK8zEETuZ2kQ7bkJd9wFpp0hsBDlHyJ7j5kBo9a+d6afdgdgJdLtQCstr+5f+zTwoYptZNq04mkW3xkeBEB86p5+iKPnFpT8Qf7GwVB37NmtzW5XnU7AHfuG/XXW8JxcLsy11ShO7RDDIPYE/PUJiGc+VJhhgo3aEYfo8yqXBREIBpe65XeX70X7IeSuKaUFmUAtP8tCCSfWumtRp3DsH7GCAM7bqv9ylug4nELDozo3WF50bc8bzVPooA8He8UEPsbrwCm2GaOz/0tcuskwTLrbVqFDlooXbXIB83Jv+3/nP57QF8WcP1ciFMzrfD+j3C6+LuWafUPQPYAhq/EWRgzqyeXlJ3vnZwzE3l7LhXHk0JetImro654y2fQtRpTavSFiWwuN8= X-Microsoft-Antispam-PRVS: <HE1PR0802MB2555373CB63C269D36ECCEDFB0AA0@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:utJI40LcDz1BN6bBpYaqcBOjetRt3cM9knOXpYx?= =?us-ascii?Q?RHhnfeivV3HKjgFIBBd7iBAwrtF1sOlqi6sdwLee1x7xDAM1AGtBHUOBdAup?= =?us-ascii?Q?VQG/AB7CUsmolvHyvK9911kVHNAh6bFneg+Ql/Zj2bG2zW1AU8Pk/g+/MC0k?= =?us-ascii?Q?M3v+hszvEC/dEKI3RgqJyEqPtFvQ7vp4fnF7D18PVgyhwXwcjNNln0Km64oL?= =?us-ascii?Q?yu259LtzYncEdTtk4VFKUJDGeMbcsl+k/MEDDaCiEIym+evqV360MplElL9R?= =?us-ascii?Q?bVMfD0dHjEP4ReAyq4kUDYE/SopxO2E464UF5V6NuvrFjoGkjBdpCuR1Mw7r?= =?us-ascii?Q?voiOF+u5uwu57SULB3mdpkQ0QWoS7NOazyys0FCi9X2BfusSWjipYpZuq7Wk?= =?us-ascii?Q?ZoE3M97kUdB4ezdeidnTqIPU7OSPjsnwv4kIkRp5O/gVIJXvdliUdMFA12UV?= =?us-ascii?Q?awS58ZYkX01RjpeU2OSpMyY3izGydnp7u+eguXwo662OVmILQuCsZfmW2nJ1?= =?us-ascii?Q?jyY3wrPqLYxxfrkmFaPP9CnTqbHSFG6Cah0bFRf1tem1myoxlKRxspaNMNkx?= =?us-ascii?Q?tj3NQssFYDGsV4op5E7l1rxMBGZS45kcn2q4obay9rA+tAlzgGmrC6Zc8+8c?= =?us-ascii?Q?PzIYX+dmkky3YJ8RraiCUNF5lW3KUmXcPNZ6KcX8m4kEh9AhopwOFXX59eMV?= =?us-ascii?Q?EHdnPwMgU+vDejgrn3hxMpUTXSSCqs22rqIZWQKDwBczJ1Es/bGRf+A83XlW?= =?us-ascii?Q?8RX4k0u2zbweETOjdEtfBp+YRHvxgLcHZH2F3LhUQ2yvqp2Bszodzd0g2yWE?= =?us-ascii?Q?e6VXCNQKYydm3xJtivs7r+qn74rOaOGNd9h9Q9o7/cBz78sclO4/0ypANypP?= =?us-ascii?Q?zR5OU9X5hcfLcjfPlAneoPa+/hXA7p75Gl2fbzgebCBghaEAYAjLeX9k40Dp?= =?us-ascii?Q?Sz3DVEKW+gMJM2mO5eFLT1Tyy8hKfadl6VDprBBnSg1+XcmSz3D1nWWCMhhR?= =?us-ascii?Q?c5R9lYeJnx4SSkCOWgaYEpCGO47gz7Np6atu24M6rZrNWspNaAo7VGEuxuw/?= =?us-ascii?Q?p9jT9fh2DSVKOV8Z8DgCcMXJ9rQrqDM43ZnR6l1gGaYy+4ze8qI/swvw9xwZ?= =?us-ascii?Q?c6BMdhmA3g9ipPvbe9+7yAuioL60Jj7sWgxEPy0eYwwHokQltHS1xcAl+ttq?= =?us-ascii?Q?R0pMXOUl4F1LsxBeKUJiYfLA/X138usoenUxCLKlZsF+DULwwzvJp4FfFfXO?= =?us-ascii?Q?k0Y4diQxZPYol2EB03lc=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 6:d7GMDfm0m5gaVcM8NdPnS7Z1zt2Ai3SGdqYMg8npk6g1CoaW8GJCWLJT2UU7a8ZpFeUwCi4eAMGCLgl7aWg5hF/l3O25J+UPqM9TzowXYtTNie658r4o7mqyJUs73a8na3Sm1xEVo7r8bXGrfY3TJbGROtXTyq9GFTPnlqB5kGv/enarajAXNu2EJIqEImqlLMiUy+pdNVu2bW9S9swovVez1jshB779I78zh8/+aywPBky0+zpZRuRE2ZJ4nuRCofHWkNDKD6YK1chuGnaEXsQGgSR1iT89N5CGu4XfycGnUQc1sVxaNc7gKsBBOUaSJjyp+TpKiZxjciNePjr3cA==; 5:VuI1CpTGyCN4RCx6nnn89gWIAHO0amjXPT8e6LJD/5irGxUOdbn6+P+lBSN0bHqwBAThMaAWv79r5IriW6uH7m/l5Xr6TxP4SeHc2up75BXbS2RbKNuS0m+tN4riIdn8AfyYVLYEH0hMxHcIbRT4bw==; 24:AhcNpQVA2iHTw2o0ZaMR+F4y3I7SV53Acj4+EPD/VPrNdbNzSG3fSWOsxFA8rTZ3jTU3MbUDnIk11xDHvx5n6X5Veru39iKvbZOPNzeVUQ8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2555; 7:PZ2Br38ERUtmP+ekttA7eaBQkngHs0MmlAUpL7rFfjT3WtXjjSzriTB+MeB5xyN3lQ3tmmIcPsYBa0LeM4uqWKZ40pahEgkfH97tW2+gPN3ffLFjpT88jJ8qr6l2uCwVhXfRP9qwdeq2/2MjwkD6g2NzDXK4XhfRwmBcZyg+WgUDHYCrcOft9PpXUx9D4/PKYiGKPm6Ro53+8wOf1aGmUfNwL0tYQwtCaT2DgCwhbGXjsnUhGlvxhoLC4rhVBVPve8FYxp+9fHDKbr9IBP2Jmde6tp1871nqvgDvACkW3QWiEvYbCeIlSHgbYs4QmcvR9by/wHHxjbV41+KDw5+IpwicIK6h5VE1G+g0G+3qjZo=; 20:XP3DXMDfZ1txI2yPShhHoE4+mMVV+dF1/EsqdUJ/2llyrATqJ2kVGPY2ykYGqpUtKE1fHu86jmIe9ONRNQ5NcB/fRCkt2iKi31VefKup8Ki72w5UKjEfVg93ObwXgH7cYhFr61N9BfPmy3oUYEQE14IiaK1CrwEqZnTo5y6vmeA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2016 14:29:55.2028 (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/af_alg.c b/crypto/af_alg.c index de130c2..2f8fd84 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c @@ -133,6 +133,12 @@ void af_alg_release_parent(struct sock *sk) bool last; sk = ask->parent; + + if (ask->nokey_refcnt && !ask->refcnt) { + sock_put(sk); + return; + } + ask = alg_sk(sk); lock_sock(sk); @@ -258,8 +264,8 @@ int af_alg_accept(struct sock *sk, struct socket *newsock) struct alg_sock *ask = alg_sk(sk); const struct af_alg_type *type; struct sock *sk2; + unsigned int nokey; int err; - bool nokey; lock_sock(sk); type = ask->type; @@ -292,6 +298,7 @@ int af_alg_accept(struct sock *sk, struct socket *newsock) sock_hold(sk); alg_sk(sk2)->parent = sk; alg_sk(sk2)->type = type; + alg_sk(sk2)->nokey_refcnt = nokey; newsock->ops = type->ops; newsock->state = SS_CONNECTED; diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h index 9e6a2f3..bfefd81 100644 --- a/include/crypto/if_alg.h +++ b/include/crypto/if_alg.h @@ -31,6 +31,7 @@ struct alg_sock { struct sock *parent; unsigned int refcnt; + unsigned int nokey_refcnt; const struct af_alg_type *type; void *private;