From patchwork Thu Feb 20 06:22:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuezhang.Mo@sony.com" X-Patchwork-Id: 13983371 Received: from mx08-001d1705.pphosted.com (mx08-001d1705.pphosted.com [185.183.30.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DB3071632DF for ; Thu, 20 Feb 2025 06:22:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.183.30.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740032536; cv=fail; b=ohDcVgDix/I0Z4G92XG+MKOX0QHGSeSSi6XWJyzSXrIT25xAEp7iU5T1SfE6+uU8dkN+8xdI/0ap8x2ua/EMme6bqJPsNTYeQb0Z9tMFJ++fQMRIkHcmjVy8KaZLQkjUQESKbvla4QE7vuulVR/5TVTzZk7++LyZ+b+A8p5MWCc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740032536; c=relaxed/simple; bh=isExXh6KJir9RSZKPDHppnvTVIC1B0eCxJAw6PSyzWI=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=Tj38LJkGEeZZgp64rGzKM/ffCJE7RGsMxLFxtz7fiwjhE0vqBbpLYqwmYWEytqm5tWq7PI5ZVopCX5xRMlbj1Z51WAvAOMregGkGB6Y4eOYqDq1l9ehOVcRQr14Yi/NbCRdirHq4LCgQq3CtybKvnawf/4bE4r8iOhvyjdaP7oo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=Df0CUJ6U; arc=fail smtp.client-ip=185.183.30.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="Df0CUJ6U" Received: from pps.filterd (m0209321.ppops.net [127.0.0.1]) by mx08-001d1705.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51JNrOil032557; Thu, 20 Feb 2025 06:22:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=S1; bh=isExXh6KJir9RSZKPDHppnvTVIC1B 0eCxJAw6PSyzWI=; b=Df0CUJ6UQGf/HXrEmtOw345FEWiErcCosONxKG6oPNkpI PLJ8UCVVmMjfDS603IBg9w3V+R1Fq1PxYn6CnOj4cLtE8QiC6cKMzr8nlesu2Y64 vmZjfF/O7OmOPIbeWrdjOYw+l1hjHL++h5jOTXLAEUKN/42QAmMv3tC0+81yWlrX QA6ZyZRZlKq+ahqRMyK8L4pNmrKnnbk5Le0XLk28uihxjtTgjyfD70iUQCEBqaO2 AbVAoba+laTbB2EyOkn+HZ6/WKuwTJRegBDP98hwXCQ6zCGH35qy3vyDyiZ2o1P+ irmkR3k97N8inXYuywX27JCrk5Tm3b4pBjZ3PClMA== Received: from apc01-sg2-obe.outbound.protection.outlook.com (mail-sg2apc01lp2112.outbound.protection.outlook.com [104.47.26.112]) by mx08-001d1705.pphosted.com (PPS) with ESMTPS id 44vyyf1fjn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 20 Feb 2025 06:22:05 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S2nOSa8E9bH0H6FEPMRwux5Nh44+PXd8DgKPIT8M330g/3OXd2qZVP1GcrO0qhbQSRWH1O9zFXQNvn4jcVSdwYi2dXwo0r20BY6BMNQYyfSiHCuAWyZ9Sc9Z6cHq9lRSMWJY71ImFWHqB60VApdz8p5WlWNVNhUInCyYbUaYcwXO1zd1iTqK+sgNaSLkXxM4lRotmyYLsuk1bI3lsIBEeq02M12LzMaEhPQdFFmNnUe18r9+wenkQ/8RT/N2+S3xf3GYheYEXB6wJgTi0VQLC4UGqO68Kb0Pkls72IelkxSg/h6RiFDaM5ojQJSIK+xPBUP4wuUMJM2xXumr6T9qwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=isExXh6KJir9RSZKPDHppnvTVIC1B0eCxJAw6PSyzWI=; b=ZJIOctw2cfObaBjxBuEV4AefrQzAwsWrXRzx96ODizKYmX1/nF0neanPAO3QKYYwZp4tDLnBIStRl/ITbdkf1OnDSeMJbScSIGnE2aMnrCEY8sUdd8YXd3VrIFvezQymd4wj7/rv6fUAkXQaiuASTdD85t8y0jrHQFte1ChPQ68JbL/sovTUsfjmLNingLgKxuZFmkhh9WmdBKnzJmyd83S2UI8pJ90rMbDpEzfBsyLBcpquaD2JBLgSws6w9ajWVKRhldUoCPkHDWbe4Q3whDWUkd8CGi2qU9Rb5/vCNtsNK9bHZGLEqnwhQUcOND3m6crs+RnjjNmPmvqmVVeyuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sony.com; dmarc=pass action=none header.from=sony.com; dkim=pass header.d=sony.com; arc=none Received: from PUZPR04MB6316.apcprd04.prod.outlook.com (2603:1096:301:fc::7) by KL1PR04MB6782.apcprd04.prod.outlook.com (2603:1096:820:d0::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Thu, 20 Feb 2025 06:22:00 +0000 Received: from PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::409e:64d3:cee0:7b06]) by PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::409e:64d3:cee0:7b06%5]) with mapi id 15.20.8445.017; Thu, 20 Feb 2025 06:22:00 +0000 From: "Yuezhang.Mo@sony.com" To: "linkinjeon@kernel.org" , "sj1557.seo@samsung.com" CC: "linux-fsdevel@vger.kernel.org" Subject: [PATCH v1] exfat: add a check for invalid data size Thread-Topic: [PATCH v1] exfat: add a check for invalid data size Thread-Index: AduDXkoznFOvDQ6PQSuo8rAaljtCHA== Date: Thu, 20 Feb 2025 06:22:00 +0000 Message-ID: Accept-Language: en-US, zh-CN Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PUZPR04MB6316:EE_|KL1PR04MB6782:EE_ x-ms-office365-filtering-correlation-id: e7c2e704-f147-4a78-9103-08dd5176e295 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?F7UUMjhp5JKma32zws036eOMUlxNFBn?= =?utf-8?q?IuTQhiw0GZnOXTrhlOJhtmGfNht4ZVDX60s0xLvvl31hTjLgnAPq9YEBcKhKtbJPP?= =?utf-8?q?hXEHQf4qY1msv0ts13VRwyM/sfYUgLWFHaUqOXFyQaQP0/mOQrZZVjyMPgnuKiOiB?= =?utf-8?q?BsrfULXxW0ypPuJK+cnbY8e0tqfxxhiXg1WWUi0f4aZmJtWQ7kxnkGy6f9Ar7pQxb?= =?utf-8?q?7MMKqn/X1WSPaH1pj8/CIKqqdUNnUQcybNGmmrOPcokgs7MrzuFPNoBK0++TBQiof?= =?utf-8?q?no3CbEaXbYZnLFDusdjMIUGzZNJPw95tGydp4czFQJKxB0zVkz2SzpLBloytoepLv?= =?utf-8?q?VRAiciGaVIiYc0SpGhiC8KuNOCLL70Np2hlw9QnpcpDQ4/z/ux9UHPQ+8qvcVs8mm?= =?utf-8?q?LPWzMo3JpoGAz8yowx1UDCIdRGqnxLhixXXgAYlregtoNPoMuhwWbXOdodrmWYOvj?= =?utf-8?q?Ili2F0+1KW5j7fGGHavjH+oZKsGzfSBxvY7Yl4pftLs2XXTr9K/EoKQugf5SUcasc?= =?utf-8?q?EmbrcK96S0EgttttODepSm7l5rxzXCQfu97Z7gmPncIhoGV2mpmpbqHZQLm9YyGmM?= =?utf-8?q?HmdPIrcB/VwADlnZIOyouUap6PbM0RsqGBejXzGAQ26HSJLDlUwJh9eI2Xafr52lX?= =?utf-8?q?NtF4j5cfU02FCNLXS2Unje296yH+h/pJPBpI4FpvqnbeNfrjlie93yRCvbfWKVAce?= =?utf-8?q?5wCoZfJ0oIlPFMRb3fTrMu77vhjwh6S4qkx2EpN9lMPBtnCefufts2oJRrKgBjU4l?= =?utf-8?q?B8AKMgdDbN/jVceQQppg/S0HXMZhTLZ/pHzYieaBMPJJE3JbgDMGc+IQvqqpmxkdc?= =?utf-8?q?IAonBkZ2e58szzbguuibo574Nlx6mAFFHtf+rFsKFr9ScuE1dUxVdgQIuOWx9QyF4?= =?utf-8?q?w63FQjXXdlZSLQU8vHUPWqqw1jqZMSjXKaesTgOPxVIVAEdYWFVtxdFVq5HOiXHOh?= =?utf-8?q?zAefVqBP3KPo6cSFvp4YW0gCR4TWqwWrrRtwuEXeSOhtucsnMTUo9TAhkEAKctb7o?= =?utf-8?q?mopu1JLEiKGvpcNjDfSv6fsSrTADZ/ox3XQrYL6PqjrLwIibbFMoEneWrwt2riizM?= =?utf-8?q?rcpbWR3yYr7F3hQLyQkpcEvtuILaqZoZcgoX0ZBgKQWWdTEY7b/9oHfoyQ+iroJ4+?= =?utf-8?q?nHzqNW2e1rJrUXeQjBROZJS6v6f/ESNLgh6LRNWcoNOfLLIAGrBQkafhSs9o+SY+l?= =?utf-8?q?zrnPqW/Fo8diOj2DR5UUC6wIC7uyQ1uZBTPTIcDGi/hsXyTMY1bCREbRvFpZ5a1+E?= =?utf-8?q?UtWjcxuog2HwUPJwDUFIJlpl8YF/WTYt9t6Ss1+hmGbM3wtKWrI9mfkAzsqOndvEW?= =?utf-8?q?Pv+JujHcamTJKJ7v2F+QIA2kCHceXnsvrfDkMmgBU5wuUAOzemGiUFMRWCJZ3fNzx?= =?utf-8?q?avUOiPmugEI?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:zh-cn;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PUZPR04MB6316.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?mDex0KqxGIGdFPbHVNbG1THrRAT8?= =?utf-8?q?ud5Ni1vaQYAj+FCTy2bGslmPjUkWpf+mywIaIi8FpSDZ8I+sLClz1m4rCZE2Kka7K?= =?utf-8?q?dh7T+QTMmki2RGYB5MJOnTSAxA/lPYrOQCAmOwDO3gEBma8Jyczl+4SNlScUuw2kL?= =?utf-8?q?+GEaCb2rvSJQ6b4hufqiNiXlEhtWi5XbIkEBLn5sBkd+kB8VnaX7h+d9S1/n18I8w?= =?utf-8?q?jBkzsvjpjnFteHRyUcGgWFfcOOrWtjz5NXDqqXcBX1mHqVFm/dzYBoY/ZZ7RaMOgs?= =?utf-8?q?Jz9OXsL95hCqTvbR6NY4ohu8TA63L5wQc2fcaz8EG9S6yoD6QvquDzOxQ1w5EX3hB?= =?utf-8?q?pCi0ZFEK0g8qf16XRRk1BLheaX3qgguPnagAkHHHJkgKmQRlQYWpGfPtdIckKH+Vw?= =?utf-8?q?UPTe1cg7y3k1m7EDS4z6tMbLm7FiA/LZEEtPwIBhtXSFzcYI0C3CN0fPAl8DvuNPQ?= =?utf-8?q?2KcQ5XappElUbVsP0XV9Utcc6FlKtZN+P2vnv5+YFz9iDhEX8N9TlM7pckeHv8m8+?= =?utf-8?q?I5Ud+H8NA7ofQ1uAppqBqg/3OBS0Efrs9VmLC6xXXKftQKjR3jtuyiy/wKPUsARqP?= =?utf-8?q?NRqnwmUC19QbYyYSZwSFMuhC1VQ5tYb3XMOMeKAHBU83Bctj4gqAFuCRsL1VF/p64?= =?utf-8?q?YwYvuOYUtPSR988ZAI2iNG498Sy9qfuagxYpkbgt16Gnq/l1vGgLeU1b5iwYywWkH?= =?utf-8?q?1uhIDAmSJEKnJPI63aFENhQt9Wqt8s7Jf4EjDX1oOuz2qDF4YnSWttzxoeoyUta+C?= =?utf-8?q?d2unAB8q1L0aQOU5UluMrPR2IkdIA47a+EpmDO3TPRtp45VvsiiviGJhFcr0OFtz6?= =?utf-8?q?JHRx58+U6wbYs59p50PTqQ88i5ePsp3H2dPpzDlo/iaOObPPKo0/HcpniEW5s6MkC?= =?utf-8?q?ttsOvs6mIVPNZScWZUIpFbkSPKWFTXnIabrduVrZepgDHHlqgloxap4mzi+Cb9bFc?= =?utf-8?q?wa8qIUYy7oPjWtIO4p4HfsMWHC8gK7QIWxCFbIbMc7HRb9CWc43WV/9lFoXEYDus/?= =?utf-8?q?fniRseejNwYkceWS6dLZKBOhkXqKZqjZ8qsoCLy6AXl+z2t0J9gIkA8yqgSjH2scH?= =?utf-8?q?K+VoHiKJ8XS9h/DNghykWl5kK/sBcCTwiysHl4ntTr9Sm/FVMAXaACUFRMDIRODIF?= =?utf-8?q?9oG8SPqu4NcjIFZxXdD0r+89y8R8IoNiCrcTbbY/ju5iH0PzkCNsqzo2+5UC3pP6L?= =?utf-8?q?S+7daU2z5OMnzFt8KgBnZCQoFNB31xa+NdrWPgFdKwftZBWCeUjZK7MvvvLkKnwsl?= =?utf-8?q?PNyd1RUvFX/49kec78qulwlG4HDz1ZYpABPryFcYgN48MrJRnf9AWAXyaytoZtmV9?= =?utf-8?q?MORt7V+LphYmnq9OasZ2v6Bb9IFg5JV9dP9Hdr2E1v3aZd9hef7Iye8WTtGb8cs3s?= =?utf-8?q?sxIkkaMrJA+qFe2yffxEyjYCXYYsxfIhSPJmrylz4ceveeQN9UVin/Xxk0zgcxZy/?= =?utf-8?q?kgh7tB/W5ZCQybENCF3H/0yLPV2r5J3YxGcdvlW0n/35sKMcuAwkiB2vWtJsa4Hgk?= =?utf-8?q?cjRVXSvxCQjG?= Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vlonKkkKcfkz+UswZeyyguulK8ffnNK9JoEHYl/mMZOApeGsVY5Omo7pQMBMaBdRC4+3UX+Lv/Q2/0Sk/qeGFfPWCO09pyG64sBGu4R9G/KvNWxCpscujHadNdCqH8lK6chS//3NHN/WI3k7gzoeyhH7rn6ORsIRh2C+jKl0pCUFTDoI3cnZB8RS2WA44j6MaFvQKF51jHz6ii+jcL32bBJWvxqjJOTJyaqrCR2mmE8l8OyAiOzPqRuNCXmVbkKz5hUjFei/aFDQMevAAYYW/r8DnS5VNfpET5JIOj+PRyLkeEDBvgiAxJsbvg351/NcjYqoVuqLBhwFt1IraJwBSZxZtjkg3YA63uy+kpRXiA0p+EFD5BnfYR8aew4ZiX7Hnxj5+6oAnpYMbXU0PfQ1B+b+SYzmIfeEy2UHYy1LFCnI9lLG3AEA5jtBMmKxE98rOuBtn66zmeOeikA9d/Cy5l4+YYx/7uSwmxLCnAhf3+piffShZ++mqvEj7frW3ia+1NCSE7uoqf2BzCXEyhD6uZyYzr/KnedVgFvB/pRewesmTGfyH9xecJvq6/j8E7PgSaNg7aW7Lark/GwncW6SXg0glYGU+bxZ+Kt0K+rLivmpSsrIlevNWEtQNFHF2DJO X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PUZPR04MB6316.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7c2e704-f147-4a78-9103-08dd5176e295 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2025 06:22:00.5405 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 66c65d8a-9158-4521-a2d8-664963db48e4 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 02nHNCUpFNbVMxcDKPKsvHLw9Fa9cLPDlBl1HVWFhBQU0OU0hw018zK8TKa9UI7A+U68h94m2WXP50i0n/a/sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR04MB6782 X-Proofpoint-GUID: jnOG9tL22xCngeWgotCq1dcbm6bOzfZJ X-Proofpoint-ORIG-GUID: jnOG9tL22xCngeWgotCq1dcbm6bOzfZJ X-Sony-Outbound-GUID: jnOG9tL22xCngeWgotCq1dcbm6bOzfZJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-20_02,2025-02-20_02,2024-11-22_01 Add a check for invalid data size to avoid corrupted filesystem from being further corrupted. Signed-off-by: Yuezhang Mo --- fs/exfat/namei.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c index 9996ca61c85b..a8f9db2fcb49 100644 --- a/fs/exfat/namei.c +++ b/fs/exfat/namei.c @@ -651,6 +651,11 @@ static int exfat_find(struct inode *dir, struct qstr *qname, info->valid_size = le64_to_cpu(ep2->dentry.stream.valid_size); info->size = le64_to_cpu(ep2->dentry.stream.size); + if (unlikely(EXFAT_B_TO_CLU_ROUND_UP(info->size, sbi) > sbi->used_clusters)) { + exfat_fs_error(sb, "data size is invalid(%lld)", info->size); + return -EIO; + } + info->start_clu = le32_to_cpu(ep2->dentry.stream.start_clu); if (!is_valid_cluster(sbi, info->start_clu) && info->size) { exfat_warn(sb, "start_clu is invalid cluster(0x%x)",