From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-901460-1516769523-2-14840340374810578685 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES enda, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='com', MailFrom='org', XOriginatingCountry='US' X-Spam-charsets: plain='iso-8859-1' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: stable-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1516769523; b=ttG1OY4+qM+t6G4cOYKy1wKxpCj63MO4GiGWn+iPZflsUdq qfbDQEEpIQX6oGgKeUMkZHgJMvpkBVxHZ+9mMqH/0PRjNOVcpH1KNqU2oZDsIbBv tJu9+csy0fCMjAn970AV6BRlOvJLb5j4DJacrDMVPAx0uL3Nt0b6w6YS9lrPH0mE uIgaMlXQ4BC1aseDZtVB7u9DI577QvJIUtoHbn2yHJd4BQs4pmhcKW1NjyxYimxx V1a3/0SitdqRlNdPFgo3+GUHFodEtbAH1BatcTXM5Jqh/I7SJ1BJQtQ6OFDzYOgX 8n5B+6H+wNkcbCXlVf4AB9tm3qM99Ij9iBKEdwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :references:in-reply-to:content-type:content-transfer-encoding :mime-version:sender:list-id; s=arctest; t=1516769523; bh=38IrIF zTKw17Dfn9+H4llAKDGXdZEG8ZCX+6rTpxXLI=; b=C8G3/F2Z/83JHX8uelrMMM 7P+g/Kz8ZgrRdZJQBZtXnUav2zoRAx/spU4aIGxAqE94JeFbtxURZn6Go8AS1RbK GEYg5B++DULjX/JkFa4qi9nrfQJiXjuUCP1dhwynkr/+ufPB4tjyjgIldb7+HQwR 9Jmp8r3uTKWAC0ptEpxD1W1te2/7PJxwT7OkmKfFdlrcFQ91HF21IPoBN3OMetey 8+F8wyKC+c1aiAq0+yh1ek8nQKuxMAubpZzM5vzPUxCVvttR4A4iCKwh2WuKKHgJ 2Yh6EC1zg1aE4Rg6Mpv+Bghg3T4tQ+yue7+QnqWwe21x+bSGzEBuCMwOjBK9Pbdw == ARC-Authentication-Results: i=1; mx4.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=bqEv6LNj x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Authentication-Results: mx4.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=bqEv6LNj x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932468AbeAXEvd (ORCPT ); Tue, 23 Jan 2018 23:51:33 -0500 Received: from mail-by2nam03on0117.outbound.protection.outlook.com ([104.47.42.117]:41259 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932466AbeAXEQD (ORCPT ); Tue, 23 Jan 2018 23:16:03 -0500 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Michal Hocko , "Darrick J . Wong" , Sasha Levin Subject: [PATCH AUTOSEL for 4.14 071/100] xfs: fortify xfs_alloc_buftarg error handling Thread-Topic: [PATCH AUTOSEL for 4.14 071/100] xfs: fortify xfs_alloc_buftarg error handling Thread-Index: AQHTlMnnioU5zE4hNUKIqD50nad2dw== Date: Wed, 24 Jan 2018 04:15:01 +0000 Message-ID: <20180124041414.32065-71-alexander.levin@microsoft.com> References: <20180124041414.32065-1-alexander.levin@microsoft.com> In-Reply-To: <20180124041414.32065-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;DM5PR2101MB1078;6:aWLgiGseqn155yh27VWg0/LxbflNE/q1bMbsEXpC/vg14spnY5KqULDDJ/1yE0bv4dnUrNj3Z676eLKsooioFQ3hb47U9Gs6ZKVKFnzBvQrDKzVhPb3kw4toCorKELtvMLH+EaS0cVLNFG3JCuQS/oH1oViLKUhvzzLxhqyNuk9Ijw/X1+72Y0mHLR/AXvg6tZ9U6neoYf8P2rbVLMG58jZOjsKO2LpYevhz7iJPbkWBImEXOYs4lnnUd39CoEbl7qPVoNMFlYZ0pC53jqx82tBt2cop6KZRb4Fc9hfw639F7Y7G4NQFujSVBNtG9zAq8cMiHp4/y3fieJtJqo3kg7gQjqT6QqLZwZAkjHEuI+munp/6n6bfn6zbblWYa07p;5:NF41aRLCzqC6+eDgiYliQXPhRSANlZrCtyvIYy3fYj5qDJtjiNuPl5j+LrLyHZVix9PKAVpyALkpm/LzfYjobkq1uvj9tN9P12+KDyApcHdQ9SMmo7yyh5EmHUgvoZ9F+tUSkqCARBwOYtusXE7azP3lkJhlyL2n3gIzkHrAD5I=;24:GU5lfQFxC5Dif79910fH5tSLgaMB2gyO7BlM6ywLnKu4NvuB8D50n3BioUWWFvTfudQxM+jyQ4mzXIiPTmF8l4HJp2BlzkJbI3TxJXYs3QU=;7:SmFjjFcT7ViMz2lCLlv6RlDdruX3HO7xDyiv1qdO0cDUYp+5eU9rE9r/OfxJM1pBfSOI8g9pm6QWNeh6rL4T7KwnRukBtqeXJu+ThPdq8/UdlvvD54nbwd//gsnUHURGvW4qW6jmAaLNQSKzHAy1VkRSw4qISiDAn1KPnifJcUvJAuZAkUKET4N0JNHi22YgjAAziijQOzSHpcBv73nCBaKBR5vE3fn2Yjb6+nfJBZNO/jFJhavSK46zN/thR3Dm x-ms-office365-filtering-correlation-id: 5d588415-6ff0-442e-4973-08d562e12b1f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603307)(7193020);SRVR:DM5PR2101MB1078; x-ms-traffictypediagnostic: DM5PR2101MB1078: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(274141268393343)(89211679590171)(146099531331640); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(6040501)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231046)(2400081)(944501161)(6055026)(61426038)(61427038)(6041288)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:DM5PR2101MB1078;BCL:0;PCL:0;RULEID:;SRVR:DM5PR2101MB1078; x-forefront-prvs: 056297E276 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(979002)(376002)(346002)(39860400002)(366004)(396003)(39380400002)(199004)(189003)(86612001)(22452003)(6436002)(106356001)(107886003)(102836004)(105586002)(305945005)(5250100002)(2501003)(14454004)(3280700002)(4326008)(7736002)(97736004)(59450400001)(6512007)(36756003)(8936002)(2950100002)(3846002)(6116002)(6506007)(86362001)(54906003)(76176011)(110136005)(2906002)(6666003)(53936002)(66066001)(72206003)(6346003)(5660300001)(8676002)(478600001)(10290500003)(68736007)(81156014)(10090500001)(1076002)(3660700001)(25786009)(316002)(2900100001)(99286004)(26005)(6486002)(81166006)(22906009)(217873001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR2101MB1078;H:DM5PR2101MB1032.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-message-info: gQomGEhcOH/NJqoOFvgDTmp1ezyWo7EMJ2Y5DDeeNY6MlCFO5Q+2qHC746sIPKe0J8fSGpyky5b/XfA034JZVQ== 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: 5d588415-6ff0-442e-4973-08d562e12b1f X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2018 04:15:01.3990 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB1078 Sender: stable-owner@vger.kernel.org X-Mailing-List: stable@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Michal Hocko [ Upstream commit d210a9874b8f6166579408131cb74495caff1958 ] percpu_counter_init failure path doesn't clean up &btp->bt_lru list. Call list_lru_destroy in that error path. Similarly register_shrinker error path is not handled. While it is unlikely to trigger these error path, it is not impossible especially the later might fail with large NUMAs. Let's handle the failure to make the code more robust. Noticed-by: Tetsuo Handa Signed-off-by: Michal Hocko Acked-by: Dave Chinner Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Sasha Levin --- fs/xfs/xfs_buf.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 2f97c12ca75e..16f93d7356b7 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1813,22 +1813,27 @@ xfs_alloc_buftarg( btp->bt_daxdev =3D dax_dev; =20 if (xfs_setsize_buftarg_early(btp, bdev)) - goto error; + goto error_free; =20 if (list_lru_init(&btp->bt_lru)) - goto error; + goto error_free; =20 if (percpu_counter_init(&btp->bt_io_count, 0, GFP_KERNEL)) - goto error; + goto error_lru; =20 btp->bt_shrinker.count_objects =3D xfs_buftarg_shrink_count; btp->bt_shrinker.scan_objects =3D xfs_buftarg_shrink_scan; btp->bt_shrinker.seeks =3D DEFAULT_SEEKS; btp->bt_shrinker.flags =3D SHRINKER_NUMA_AWARE; - register_shrinker(&btp->bt_shrinker); + if (register_shrinker(&btp->bt_shrinker)) + goto error_pcpu; return btp; =20 -error: +error_pcpu: + percpu_counter_destroy(&btp->bt_io_count); +error_lru: + list_lru_destroy(&btp->bt_lru); +error_free: kmem_free(btp); return NULL; } --=20 2.11.0