From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-858731-1516767497-2-8432673885899615811 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=1516767496; b=oDpNrYtPZkONSN3IhURkcjaSs16woZ58VEq7RQlYWxZh54m JecYFIjDqpLchXhPgZTJbko7eN7RGCACRwylCff8usgk10ezZtPJyuNT6qQP7S/M yWAORcxSPhJfjwGKl9GvnlfuXuZa9b5Z0hy5Rgbr6Na0VaFJQL+uWdBHQ5jbgX9M t2S/41WOTltcGve4dFJ23QElvkk10NrGq2Ldo53dEaPXeP2nbwLRnXhvK+rFr1Dd Wq2l6Vp4/LWP+PDmhzsWDAVMsSZBpHkpA3xNrxDHdptnNwQjehitlmf6zOgKUe1P NsQJB27tnfe2V1qUgD1w8YA+2D6fP2N/seUBC3w== 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=1516767496; bh=PNuofO Hm84FKe0VsxtEnm/2YnF8+eZsYHIvZvaZ/qiQ=; b=DT9P9Ms/bxFYj5hR/XOKQb LLj3awaAUQ4E0+WTIdx+Wshj4/bJoe4YAqtSECruuoHZIMkjp/SHEKrFmapO1nlr 0EC6jlb4o+Ujol0oq/2oBo5rb3zZhQLzPA4u48LT+Z34qreJrdf3VJPukAkrkwWO lpqRKvO/YpkOLbZC8B10A5pGRngUcc3VzDLx3AQqzn5XJNslNRqpv4cYJyDGfy0a zZilczpSPA9L9pwufXp6fm8HdNRfyBJS2dAgiX88NyoCiZF2oaU0CZYwb3k8Kr7/ us7eHB3x1DCKHd07tQLJzy5pluQlbBeTstkEzWEZlQDMQpWOKnEq2k+T0l9+banQ == ARC-Authentication-Results: i=1; mx3.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=TWjClv5G 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: mx3.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=TWjClv5G 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 S932989AbeAXESK (ORCPT ); Tue, 23 Jan 2018 23:18:10 -0500 Received: from mail-sn1nam02on0098.outbound.protection.outlook.com ([104.47.36.98]:53569 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932569AbeAXESH (ORCPT ); Tue, 23 Jan 2018 23:18:07 -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.9 33/55] xfs: fortify xfs_alloc_buftarg error handling Thread-Topic: [PATCH AUTOSEL for 4.9 33/55] xfs: fortify xfs_alloc_buftarg error handling Thread-Index: AQHTlMoCqo53oV+9MEyjNhep7qQmvg== Date: Wed, 24 Jan 2018 04:15:46 +0000 Message-ID: <20180124041521.32223-33-alexander.levin@microsoft.com> References: <20180124041521.32223-1-alexander.levin@microsoft.com> In-Reply-To: <20180124041521.32223-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;DM5PR2101MB0933;6:+PDA18sviEIKTLCNO7OfsatudJf/4cqe/Fu2KT1i53iDFG+1jLWhbEErQVvf1l4HnNmOEuVrSWQhQ8FkZuG+hjLdF80Sb9drWTFOMaS26s35cQpc3LqsGEVnvxuWSMZ0/r9qhsAhYxG0PsCXuUTFAbTNmBhYU2OzJsOUH+jqV/0FOmnOwgBd0pyIucmRz8WRw0oU6Kh4j+ajbwSjWGAinmqt9FITsYvMySJQ3wXijSRDc/CHs1d7i17yAo1KN8oZwW3dBFLWwMGy7lfwAJibgvlaxCweafnG12gH3Q6rPCicvTLhyj89eRXPBjec4pWfewjUDCmsiqBASNKGffFhiYjvBOODg7yTBIjKWVgLVNX0CLDHUfiZGrQ5y5fXmALX;5:UAMrB4XrNrOJGSmC6e1JzPyebidjuHFvyjgC8eFhILIJ7d7Qo9qub3uWevVGk1Q2K+Y7LFkkBcwMqOayYEm0CPgf2fbRprVymgCdY8vc6d+3FUEMCL1kJNLLthN0InDhkhi38KdC9O23vSj7ktjImyQRmtrCCbT3kfXc1VW5GTQ=;24:bkSYP2hbTyjla+dy00p+Okywnttl7WNpE81IO61P1c8gaYfvfKOMi6wa+JeAHU637IQyeE2N5ije9P9qQurhVIRdPlFwmkz8HZvh/oXGY/g=;7:hAgjqfOREfBAGxgVHSpj6IN4uHe7OvO07eJSDsyWCSwKY1u+gjU7pAwLLfeYyGv1Z30JTjiyusnpIK5u6+Olsqik+s83xO/6hNE2T8CkLfLy6Kmx10FMTP7oVh5qR7l+A1o0swW0FQ3I7UL52M0m2cK/akflKhqAaJYNP5vHVGupJK9Y+qDhK2nL68SYX00h31Wj6edd+lzQZ7ozZtYyA4gt9Sy4Y2Sa4jiGb6E1zi2/XLoBZRP+BNtZYuD0hKUd x-ms-office365-filtering-correlation-id: 23e8626a-1552-4d42-76d9-08d562e1777d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(3008032)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:DM5PR2101MB0933; x-ms-traffictypediagnostic: DM5PR2101MB0933: 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)(10201501046)(93006095)(93001095)(3002001)(3231046)(2400081)(944501161)(6055026)(61426038)(61427038)(6041288)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011);SRVR:DM5PR2101MB0933;BCL:0;PCL:0;RULEID:;SRVR:DM5PR2101MB0933; x-forefront-prvs: 056297E276 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(39860400002)(376002)(366004)(39380400002)(396003)(189003)(199004)(105586002)(305945005)(478600001)(110136005)(10290500003)(76176011)(54906003)(106356001)(25786009)(66066001)(10090500001)(14454004)(3846002)(6116002)(1076002)(6346003)(97736004)(6506007)(5250100002)(2501003)(72206003)(59450400001)(4326008)(36756003)(3280700002)(3660700001)(102836004)(2906002)(5660300001)(53936002)(107886003)(2900100001)(6436002)(6512007)(99286004)(8936002)(68736007)(7736002)(86612001)(81156014)(86362001)(2950100002)(26005)(81166006)(8676002)(22452003)(6486002)(316002)(6666003)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR2101MB0933;H:DM5PR2101MB1032.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-message-info: V4OQg6+BLQU8I2bnHyQgsnwxvYXTscgb4g1itzBMpfdrsi4J5uEiZZ2EHP6KKZy2B6V9wNlZcNmD0DH9bV1mvA== 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: 23e8626a-1552-4d42-76d9-08d562e1777d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2018 04:15:46.2699 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB0933 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 eca7baecc9f0..3f45d9867e10 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1785,22 +1785,27 @@ xfs_alloc_buftarg( btp->bt_bdi =3D blk_get_backing_dev_info(bdev); =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