Message ID | 201808200749.w7K7nB11002040@finist_ce7.work |
---|---|
State | New |
Series | "scsi: don't allocate memory under spinlock in scsi_register_device_handler()" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [74.125.128.109] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Mon, 20 Aug 2018 09:51:21 +0200 (CEST) Received: by 2002:a6b:2245:0:0:0:0:0 with SMTP id i66-v6csp1050254ioi; Mon, 20 Aug 2018 00:51:17 -0700 (PDT) X-Google-Smtp-Source: AA+uWPxA30X1mOTAYoq/qSGBziq6wQex5h+Rdd/8FYNlVC0KiPeRQeN8t2x0UZ2euFPjzVKVL/1U X-Received: by 2002:a62:9e5d:: with SMTP id s90-v6mr47236852pfd.214.1534751477805; Mon, 20 Aug 2018 00:51:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534751477; cv=none; d=google.com; s=arc-20160816; b=yGCQ2RpZNTA5JzvSgUxHIQz+E2Lr1lE5JrqmY6xkChvjbga13pYosS5NwxvugNQgaK h09mxvnbbBAUcL/URuu4aL4eBwa5tUOKODASnRIj3K4ashIufIxuB5PW+5useMu0kBdi AAzOi4/L39HfYlGevgaBBbMHMqs62QRtfRNFf4IfpuLVgbuFKwAd/8l+62X4AbMXEsW6 WrFKv0hPbcZ4/VHaylURlELinVAQ0UBAotG+Ccad/F862VD2Mf157dgk1KIVvzLu76OH zM6MLxuA4BEQv24AVf9RJBmj61TZJOU14VlhFkwIaHLwSa+GMpz9XrDOD+B43mkPHNsN VQRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :cc:spamdiagnosticoutput:mime-version:in-reply-to:to:from:message-id :date:arc-authentication-results; bh=XEgjsC/pDMKwEK16FU3Cj3ZHuWe3EwlBDr0sdqWB4JA=; b=l/Df28F4XIalE8r7q2RMczVWX9adsfsjG3amk4IR8PpTn8FhuYbciOPnNVUwHp18xo w1q4pl+vOz6SqlMzifa2dZ1nsmFOP0aru7wjzlrSurWfKDpq1Haa2bThvOQ0cKGiAKAD nGbliBzvYG1s2wcHFVDDT9Gl1AplUyijxky/1pgcYGQk3Vuw7omK5LMZWO+l3L15YOEt /C8YM/JV96z4l02GWG/1HX+NPm+sECXde/r9jjTNeAaA0vsg/g7alVD0N+7c9byObyyX DW6sReKsJy6r2JqySLe1ot1k0iuY1mFZpiJBoKmmq8BAKnO8uLBFVJuBSwuv2MJit4aq pEsg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of devel-bounces@openvz.org designates 185.231.241.50 as permitted sender) smtp.mailfrom=devel-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: <devel-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [185.231.241.50]) by mx.google.com with ESMTPS id h3-v6si1399082pls.150.2018.08.20.00.51.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Aug 2018 00:51:17 -0700 (PDT) Received-SPF: pass (google.com: domain of devel-bounces@openvz.org designates 185.231.241.50 as permitted sender) client-ip=185.231.241.50; Authentication-Results: mx.google.com; spf=pass (google.com: domain of devel-bounces@openvz.org designates 185.231.241.50 as permitted sender) smtp.mailfrom=devel-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: from localhost.localdomain (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id w7K7nF7k013873; Mon, 20 Aug 2018 10:49:16 +0300 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp0147.outbound.protection.outlook.com [23.103.133.147]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id w7K7nEwG013870 for <devel@openvz.org>; Mon, 20 Aug 2018 10:49:14 +0300 Authentication-Results: openvz.org; dkim=none (message not signed) header.d=none; openvz.org; dmarc=none action=none header.from=virtuozzo.com; Received: from finist_ce7.work (185.231.240.5) by AM6PR08MB3111.eurprd08.prod.outlook.com (2603:10a6:209:45::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.22; Mon, 20 Aug 2018 07:49:14 +0000 Received: from finist_ce7.work (localhost [127.0.0.1]) by finist_ce7.work (Postfix) with ESMTP id 25F66679AC; Mon, 20 Aug 2018 10:49:12 +0300 (MSK) Received: (from khorenko@localhost) by finist_ce7.work (8.14.7/8.14.7/Submit) id w7K7nB11002040; Mon, 20 Aug 2018 10:49:11 +0300 Date: Mon, 20 Aug 2018 10:49:11 +0300 Message-Id: <201808200749.w7K7nB11002040@finist_ce7.work> X-Authentication-Warning: finist_ce7.work: khorenko set sender to khorenko@virtuozzo.com using -f From: Konstantin Khorenko <khorenko@virtuozzo.com> To: Konstantin Khorenko <khorenko@virtuozzo.com> In-Reply-to: <20180820074633.1962-1-khorenko@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1P18901CA0011.EURP189.PROD.OUTLOOK.COM (2603:10a6:801::21) To AM6PR08MB3111.eurprd08.prod.outlook.com (2603:10a6:209:45::32) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f9dbf16-4520-4d57-8f86-08d606716ce8 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:AM6PR08MB3111; X-Microsoft-Exchange-Diagnostics: 1; AM6PR08MB3111; 3:bKZOBJjxgbYpI1t3NeEvcblUKsaYObuJ7BtiXRRRZ+gAwLRJA+LNyVWhsAz0dN2C23gwlPDDrYD3iZiJbwCAj/V4gpo/VgpUSyrRQZ6v2EYAURvmhsJVDneLDSwHPQOWI7Xnqbv1yDOoCGiqD+aQs65ygEbDK0s+vqnqsE0ji1vN8ecYmYDqdhsFreMdItZXfvCwZVMv0RwzbBdkuZPLoG2V/J3Lkh0tZo3u8jkmX02ffe2ASEXXMA13mtBLfKGy; 25:FB81cP6i9eKuBOaQ1sU2A27uadP9dN6rBYnviaaPM8hTs/pD+qQNha1deL3Fioczb8nnAvGCLzCBKum5uuTtjApOdlAsukmyC8cpgEA54y10Rbsab/KDZMJaGlc/VbOuf3vW1h8d4YvdiM4mYkDXZGcNyYHqQPkzvMguynWSL1GdU2scf8+yAJJbyAD+ytPjNdiHg6UABD5YFsNr1UbRV/vVc+2tvvF7Gk3zw36K2c/aSEwGLFhse7WgRpyJw4Dj9U81RtVxTbvKNhe2c07NZTN4tXo8NFozYgDlc7gn+8LBYHv6H0FNmVj6MDaZsuJkbv0B2tjI0dHFVpFZdCMUjA==; 31:y6+iA/BKsPahLd0GUR157uxFtyGZwfOZCpsCnp//a7jFBVWAkh7HnSRytZUHdpfjiLzGvktAqyBOGYduWlLE2YgzUwoAIWrbi8KyXtSv6lCX0ZDEmGniz+SeuLwYOu7UUYunazV7Q65eBMoFvksdqFoy7Ypz/Wvz4HPA6RHtQKF1hYjz526GxoZ0wwna9RlHZcPRLTQKeK+USnlwMD9pSO1alUJTZVqhNu4IeygoTdc= X-MS-TrafficTypeDiagnostic: AM6PR08MB3111: X-Microsoft-Exchange-Diagnostics: 1; AM6PR08MB3111; 20:Bhk/67Mrfqm9CvB5nc3CdJmtjhg1qiLqi0oiQIULatV+ySmVilsA6WRMafcfVn/ymSob8Lb8ii6R0kly+6aizlXtNx9jCgwHKFxCXwnx0liYzKtqLiZf57L1iuZDLQgkXOEripiY3I0M5/XZO7L/8Ftc5Bu9oJcAaZ+KxS++ej6hZsh4iIMzpNkVAH/0rd+18JjDBtSb1p2Sm5MhphkfPbE2/eCf/lzT4neHLC38m8D4IZNWfpvKIo2y1sWb0K7l73VmYTfTFx3Cmn17xgJnNjyboBxTfBTR6QpTuSnTTMKRkcgXVEwfBew9dcJTi2o0KfSxxyDW95BrIAGsmNX7+3w3BscmvnnKIWtnweVHxOj+Wh0j/EyiMUsiGmBbW/+rbg7lwjogPK1/j8VLm3oNFLBgb3A7Ol/B1fhoIxOt4TOI5kwHIz0wkB+RQxwdh6a2v4m3FximgIEQStwSgI81P+uYxCHrb0zXdgVGIK4wld4rwOqLGFMqFnNuXP8rkkzZ; 4:Q3fW6klqRjpRBH8XUWg3Zu1eUjz5GhOZVlVs7oisCwkdVPH393ieod7EJhBs2CEiH3Z2NAq1oIk98XRR0qFIlQ+sTCU3bnSTBncSNubOxuIpvdFcWewxNj6XPs2GSYNkjdH+mGt6fuisi/DNOXnDRAiR+Ct3oe4G9TWXSWxoG/JuuoEWlh/sW+Z0+9PjwLDWDyGVI6ZlQ7NBARSqgwKBrO+0t9ickfDgNhkhY+J9eP3Sf/Y7KkoyQ6aiaAIkQ3GxYWVMIiaLEIxYHWCZYTX3eKluIIqvEZKiHpwIKp1ptT/GiIycZuGhZmYpnRMjZFpI X-Exchange-Antispam-Report-Test: UriScan:(215187933766430); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(9101524173)(2401047)(8121501046)(823300264)(823320095)(93006095)(93001095)(3002001)(3231311)(944501410)(52105095)(10201501046)(201708071742011)(7699016); SRVR:AM6PR08MB3111; BCL:0; PCL:0; RULEID:; SRVR:AM6PR08MB3111; X-Forefront-Antispam-Report: SFV:SKI; SFS:; DIR:INB; SFP:; SCL:-1; SRVR:AM6PR08MB3111; H:finist_ce7.work; FPR:; SPF:None; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM6PR08MB3111; 23:TUkalHozFi/0TWHOomX3uhImmExHdbF3fteP8bsBEOzZpmAxLhNitCsO6SiIx6KWWkOylT4of6orY7G6xILV+N4B5pdEQIdkP3GK9hgKJLw+eKFh0wB4YuSkgoctBiEUnoNLmnxR+kN3MGUnXc0W/Q==; 6:My7p/RvzMUTRXG7dmQqtOKbGCt+WGUXcJiX4ypjRZbKwUKStGhyDMD6GC5tJoQp2yc2SJObnjbJ+ysoVMdtJeHBOvs+7PYrPaf2WHcyWiMtC2b8BHBvHBESQ+FBV7QOlp0dvCR0sHW3sU50YXX/PLRKvCCO9OFBTE+wagMtUhD1EVNO8WZNph63H4mco71O+7rdvWi+Y2KhkXWWuJhnH3rIJ4/d7A3no4/e7/QVtq+vWehL/1BTIpPFyMnsd/UklHdHQWc9FT5hAbhSqbIj4Tn48VfyZhOnZvwJFJbVWZerHWjQfthk4eTRXVxOQCDE3xOrkbx2AO4ioUvxCovShtNBvKBeMddo0fF4udhNqGDx9Fatg80wG+UsYi4syqKvTebo3YJ34feC8YYAibma1opQ18oKDPPlGdGz+/pxWqabHD9K1oRfHTjcUl2uZ1pZqw1hyJOJTwveeSqXA1METlw==; 5:c/hqKHC5Wunuzy60NPiJMon9+T5AfN+kpmDUf/d+9FA5RURBwaAQj4PRfxZ2b40GdcnB7ekT1oKYgYA0rU4aoxZfAq4uuZH4le+KZIKD8NhwZUiXGJj8k+D6KPxYuLpiKCL+zsaRSJ77cjCEsxDB91kSbUr5KlDAVptJUOaa3E0= X-Microsoft-Antispam-Message-Info: Rl/LrMC9auUm3gKO4XKLpQgdkoVq28F/jLENakj5HTGuX/HE6M+wZbc2oHdqdEORNPbSaPsTOnilgBNe4D6Xw7v0Cu+d9cutC66hQt7k1Uqe3EJGnRNuxEifxojAdS7PZHuG4kRYHxJpQ/sVWjiRQcUZku9zM7su38gIkAyzlva3eYCnNLrdGVTR+UfeUFSLZvZomLw8Y17DOb2SO298zeyLEqqXtJVUBRLwC/4retAa3ue6lBzwNaf7cbhwhxR/3FlmaF8N7YjmAMdtXs+L50CDUvE9ynTR2Ffc85/navQtpUv68/o+2YAH8fC4gco9UgEKSqU2/QQ3/qFHO4O5uI8kRR9TlxY+S3bmMN4IAfA= SpamDiagnosticOutput: 1:0 X-Microsoft-Exchange-Diagnostics: 1; AM6PR08MB3111; 7:PAA3eYdLMmxALGu7+GWYIKTKDQDsQ2WwYAr+HboK8vS+LaIBlSmNMAgDJCfrm5QZ8ZagWLHLq2afh3EkqrjE8+pnc+6KLfpvTjiBCK+Mv55NQ9V5lLGQ9xbk+r4nnmb3nPzWQcOzVstgToDsbiZ+Il5vIhGNDVVYkxcYOAMKapK2lMe9zqJfAKkc+4DMcLP6KW1P9Io0NdJqNiUqND/VysMYlWkUltWuMnCgZwc+s+7Bk0gc+JGpDA85BkdXJ+Po; 20:qm5FAb1tmTVY0YtoN9b5zgTkUSeoIiQklo90YU8oPemPEQncFsdwpsjS5u7gVPEMjIE915CBV7SGenZizmug6W/V6vW5Mknq3rB3GLjzvt04P8k18pDHhW5QKxU6smtO186sHBSGxRnosvdZzjv/m52aguv2J+5qag/+kgMsk3w= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2018 07:49:14.6974 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f9dbf16-4520-4d57-8f86-08d606716ce8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3111 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 185.231.240.5 X-MS-Exchange-CrossPremises-AuthSource: AM6PR08MB3111.eurprd08.prod.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 06 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-TransportTrafficSubType: X-MS-Exchange-CrossPremises-SCL: -1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating; SFV:SKI; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: AM6PR08MB3111.eurprd08.prod.outlook.com Cc: OpenVZ devel <devel@openvz.org> Subject: [Devel] [PATCH RHEL7 COMMIT] scsi: don't allocate memory under spinlock in scsi_register_device_handler() X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development <devel.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/devel>, <mailto:devel-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/devel/> List-Post: <mailto:devel@openvz.org> List-Help: <mailto:devel-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/devel>, <mailto:devel-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org |
diff --git a/drivers/scsi/device_handler/scsi_dh.c b/drivers/scsi/device_handler/scsi_dh.c index 147827832aad..dc1cdf3f3090 100644 --- a/drivers/scsi/device_handler/scsi_dh.c +++ b/drivers/scsi/device_handler/scsi_dh.c @@ -365,7 +365,6 @@ int scsi_register_device_handler(struct scsi_device_handler *scsi_dh, if (!scsi_dh->attach || !scsi_dh->detach) return -EINVAL; - spin_lock(&list_lock); if (scsi_dh_aux_src) { scsi_dh_aux = kzalloc(sizeof(struct scsi_device_handler_aux), GFP_KERNEL); if (!scsi_dh_aux) @@ -373,8 +372,11 @@ int scsi_register_device_handler(struct scsi_device_handler *scsi_dh, memcpy(scsi_dh_aux, scsi_dh_aux_src, scsi_dh_aux_src_size); scsi_dh_aux->scsi_dh = scsi_dh; - list_add(&scsi_dh_aux->list, &scsi_dh_aux_list); } + + spin_lock(&list_lock); + if (scsi_dh_aux_src) + list_add(&scsi_dh_aux->list, &scsi_dh_aux_list); list_add(&scsi_dh->list, &scsi_dh_list); spin_unlock(&list_lock);
The commit is pushed to "branch-rh7-3.10.0-862.11.6.vz7.64.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git after rh7-3.10.0-862.11.6.vz7.64.4 ------> commit cc2e7a1d6e016832af7847cce30faf66890d7d99 Author: Konstantin Khorenko <khorenko@virtuozzo.com> Date: Mon Aug 20 10:41:50 2018 +0300 scsi: don't allocate memory under spinlock in scsi_register_device_handler() scsi_register_device_handler spin_lock(&list_lock) kzalloc kmalloc kmem_cache_alloc_trace slab_alloc cache_alloc_debugcheck_before might_sleep_if might_sleep might_resched _cond_resched This is a pure RedHat code, mainstream does not have it. Moveover if kzalloc() fails, we return with list_lock not released. Fix it by allocating memory outside of spinlock. https://jira.sw.ru/browse/PSBM-87859 Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com> --- drivers/scsi/device_handler/scsi_dh.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)