From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E1EFC433EF for ; Thu, 5 May 2022 10:30:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B68156B0073; Thu, 5 May 2022 06:30:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B19B66B0074; Thu, 5 May 2022 06:30:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 970036B0075; Thu, 5 May 2022 06:30:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 88DA76B0073 for ; Thu, 5 May 2022 06:30:32 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5455F616BE for ; Thu, 5 May 2022 10:30:32 +0000 (UTC) X-FDA: 79431320304.07.B192C06 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf21.hostedemail.com (Postfix) with ESMTP id E5E6A1C009B for ; Thu, 5 May 2022 10:30:25 +0000 (UTC) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 245A6ISZ018740; Thu, 5 May 2022 10:30:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2021-07-09; bh=wiO4gyNdFwqOOAEfPc1HXZYdkwTrTNWnmFiIWUGyEWY=; b=UIXGqUMJ9aLzRBw4ZC2djIAt5L34yAaGJvKHAC2ZCGBfI2sEvfOSIn63zecM8Mvkq9Q4 Tq+aUyG4ENFxVZbiRnd+sQQwy6U3PQNXFBANTHyDunQUuXQbOOoXKl0AlSznWMmos7cQ +CZHbRakgFsfA2jJQQ2kzaXvILDS7XDPQSP29uZoCo/taOyxH11KbALRP1lquTjYJXj7 5+SApQY+TEMbT2avYblHub5ZdQW3uvZw1U+s+pG6deSm6ODaOgzHEiKLs2wknocAO43k GV+Px+3OSkpw1m9l0lRHEDyYE1ebDQhrYWN6+ux9TCVB5Xi+OZ0VV7u002H9UXUe5Gw8 zQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frwntb0rw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 10:30:28 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 245AOv85034293; Thu, 5 May 2022 10:30:27 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2176.outbound.protection.outlook.com [104.47.58.176]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3frujahbhf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 May 2022 10:30:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jL1zwairJ0LaWaUWvv4ALipCeCo2E9Qfya36OeNI1xqGLHFKuabTmbU+/BgGr2o907ARdJKg/PY6FDwCo9veQvtEjuqgBFQ4lmbjbcgDlabbPOADG359OyoL9VlPsiLEgMWVyBHsNqZgZem3TvwqLRT56lPw5Vx4e/9MD42j7oX5g68hyH8tU4XXFErqWE30WtHXiqI64tn+ehXgqckZkFGjSe1Hm+Di/mrSFA6ZY1rNMmqP5hyQZZLplz0aPB/CEIUaUlWMQsxua71l7HapgswC5TtKmH9DEuXLxBN5TwJm+wQiCsOc8F4eZcH9qe2O+9PwgtVw8GAm34xUE6LXdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=wiO4gyNdFwqOOAEfPc1HXZYdkwTrTNWnmFiIWUGyEWY=; b=J169i1R2TaVHXkY0qYdFMDXQMPtivJ5xAQ1II2ZVfNIvXOcKGzVLtL7siw3LYt2SvplJYREOYhLOuqkwNJ940W5CUjCL4qlPJAsZe4kN8FVgQ9b2Ul9e+Pcy9ymAK1BMl0USLHyNn5uzlUR3ZJOkaMrcoMxsVj8qz8ZR5tPARcZhkG5cBaKTqyHmR98KkVf82rMPWxpc+mEDrS0MDpoSulMX07ofDaj7eUeE5P/czirYAg0js7BLgEuUWHgen5RcB32erk2vW+ZhPQC6gmO4cOo1kqjWXlTBud58uvS+7GyjaTIkEJRwO0Jo/8NZLUayA/YXsgIS4OjmWt0adXWPIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wiO4gyNdFwqOOAEfPc1HXZYdkwTrTNWnmFiIWUGyEWY=; b=MV58txMX/bAZnawVSx+bWsuby2GetZ1ubJxvGTd6DXKo9Da6f7tAxVBeZQ5OAahx5bONjpG6OJkoTEUSIBLVsyga8KCn2FmZ3VXPcPV/glSiyZC/fKXb+f1cU/hLA9HSvzoO8kSYMU6evHpj/8c8Xs66dt6dfo0wkThDw4Hp/5c= Received: from CY4PR1001MB2358.namprd10.prod.outlook.com (2603:10b6:910:4a::32) by DM5PR10MB1836.namprd10.prod.outlook.com (2603:10b6:3:10c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 10:30:25 +0000 Received: from CY4PR1001MB2358.namprd10.prod.outlook.com ([fe80::e929:b74c:f47c:4b6e]) by CY4PR1001MB2358.namprd10.prod.outlook.com ([fe80::e929:b74c:f47c:4b6e%4]) with mapi id 15.20.5206.024; Thu, 5 May 2022 10:30:25 +0000 Date: Thu, 5 May 2022 13:30:17 +0300 From: Dan Carpenter To: willy@infradead.org Cc: linux-mm@kvack.org Subject: [bug report] mm/shmem: turn shmem_alloc_page() into shmem_alloc_folio() Message-ID: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-ClientProxiedBy: ZR0P278CA0119.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::16) To CY4PR1001MB2358.namprd10.prod.outlook.com (2603:10b6:910:4a::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f6da0c83-d265-4ffb-7c6a-08da2e82444b X-MS-TrafficTypeDiagnostic: DM5PR10MB1836:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h6TTBkPnO7HVGnRlTcRGDESvmVEPF7k8kvG4XOjupqzfpoiPcSeCtLT9xTxQKsBGGk/jhDMr2GRZT79JVC/8L+m5A9vIZ4vM+aMjqcQ/D9pp3C9b0ShZFDVUbMHucg9Zsv60d6x+FghpTXy2aGY5eyqbuYDnSdsIYow/fYo3qUghOgyk4psPJgdmoA97KfTyqkSukqHwlxnPFB2tenMGqcPH+EMY5xZ/uwU6cZt91ZUkdgccfS4B2nUVEruaaoEd0pQIiOFHf6qfcD+0K7u0SDMLysgFFoui5WYVIDIXsrjFxME3J2ciw9uIZHlpcF/3QgrWu1dtbgmuJbuG/B4VI16r1+v5yRr1h4WIWPmPmqzEZBdUHrR0dsyh+t1bf1BL4UIVaN5LJ1AKL/BVWwXWUeQfdkXI1pCg0xRnT0h3l3YKk+FLpnZgX8mHpO2bbbm08dCPyYRbJU8xPuO2W9r6TzE9jyJ5pTDZZfL1Jelw2+NB/gTmXDlJj23HVUG/PsEyedUuL0LuOu0hFdfBrpSAgKkDS60h6XolZMFy9zBQb0qgYpaVx26m7L4vr+RBGTYUZXdPh6T8XIl0RY0nV44EgszjvH3fjyQwvuFVNSrNybw1upUu4Juk2Ph4OKI8wCeAwIjWOLh/FPGDQ2T+R0wbQJL6vHE3jlCU6dG2msL7Z2EVX0uG2HpEKPTzX316IuyjMzCz6ebQ3dsZFd+G2dsfDw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR1001MB2358.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(366004)(6916009)(186003)(9686003)(6512007)(86362001)(508600001)(6486002)(26005)(6506007)(316002)(33716001)(6666004)(52116002)(38100700002)(38350700002)(83380400001)(66556008)(66946007)(4326008)(66476007)(8676002)(5660300002)(8936002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AalSfkV2LUxyJ/YjnrOXf2VJgzzuo3J4EImDQIP2ej/y1KVJFBrU7HIb+r0N?= =?us-ascii?Q?a50iJSLG1dU3hsfFYw70cFKKH3r6h37fWu/9QOHBjIci7Y5WWuEVRpUrP0/o?= =?us-ascii?Q?1t0AOzUYfHbO0eyjlBDZla706oRc6xrCRjPbvKOFYPoDn7l8vEs+7VyafJSn?= =?us-ascii?Q?NI/BZP+qYGu+S7NK+HYmdyT+M1wZ/Fms8WkH5XO8t+Tj17z4qSzgYyRODyhe?= =?us-ascii?Q?gNWb82yaDnq89pa+/N7UKVuwxgNgzBvrpyfNi8kkDzd7Do0cQxsQ80l6TBvQ?= =?us-ascii?Q?2FO9vVQJv2UWBQ4y5hgegDTSZqaIHLjkdvrdQG4XzWHzoiC/Nhshd4UVvaqj?= =?us-ascii?Q?+yn/hFWlI//DHaZP7Xk7DeLEdAp1QslYtpghXYO3N0JTG/+Vx5A9cOYtJ/Rf?= =?us-ascii?Q?GoHK9EzEIbApZI8deZscB9r1n4iHCmoP8UvTn7wALLdNTjHLcK4bfBpaiWgE?= =?us-ascii?Q?28ZphBJOLeD/sxLj3O3JV2fEgRmb5clqL7Mg/MZLgDiQPxGkYXGkruKRdiJy?= =?us-ascii?Q?KW2YJYVlqzk0ZGg7anTU1/v5HVEGK7//qp200fxGRd+hM2xxe1e4E0W/uP7M?= =?us-ascii?Q?Yvwuboo6jtaCQIldWIaKpXSp2Q4IOYNg/m8lMUFkPUzWt9tQYRxogCqGMQkL?= =?us-ascii?Q?8817PwoDki0lIh+q2XQiZaLyWFQyjz7gPkYP22MTc9SoCyNjWT2CyttofibK?= =?us-ascii?Q?BJHeGacgJG/WWnIs/US7ZOEXVP+KG8u9iH4aYunpEMzPrXAs2RmJIjI7d64x?= =?us-ascii?Q?0yKG4XpqP5tLcEDa7FR24IrY+/dIgZlmzpNmVa0ij3X2ChzQpvrlu6wcbhcV?= =?us-ascii?Q?a8BgpjCDcqH2VnpRL0bhhRi8jF5pYnYcQXl8mqwNc97l8z1tmnZyL4pOayxn?= =?us-ascii?Q?p4Q+/GAdwJBC3sCmUKDPxLgKB8IMqNtyBOtp6wNEg4avnR3vCY6PG2xEX83O?= =?us-ascii?Q?X8GBdmzosOnNoX7ZCWAdZewCHVnSQu250m9ioJzOOII8aUHrpG98e0lxaYPp?= =?us-ascii?Q?kuoFBXQImc5P0erjbgXzzUyS9N8dExemboAeToUdYyVm2TfuUMZlOwQcmVqN?= =?us-ascii?Q?BYOPrdpTc5L1z+avvRezdgnX1baUJ5JqlOzCcZeA4XytwME8Zb6z67LZFK52?= =?us-ascii?Q?eMNFE0IdP/44YYEWNYqNDm+e9nwvwy4RMLtbgxFYKTPdqTI4UcmtQy5yvPa0?= =?us-ascii?Q?5DD0HSpa2qcSxpd/z2ZigYVSv0EZ5aYRl6pXnLXYPwjajAqyGlmUMVkr25Yt?= =?us-ascii?Q?5HQzpx+yVMQR7Y1kb4B7VDx1lgPfe4n5AXCMSf9fukWbq5SrvLEJGm2MJv5U?= =?us-ascii?Q?hR2HuvhIma5GnG50tkOrn8OTxPHtun33lm/mkowGjzkod26Ere6mnsZjBnxv?= =?us-ascii?Q?w6DCAUgGSrwPmspHRbVLjy210b6wi3Pspfpw+en/UxwPbSUyxXHuSUpTTBY1?= =?us-ascii?Q?nfmU6TNhvalrmGWDs+tNdznsrDp6PtWNW/d95mQgO0i07x+ICPeXyV577vnY?= =?us-ascii?Q?WoNxjkQy9cHkJjN6/ZI/v/lxWLE2ObNckdewUG86mj2eC92Tm5xUw+2Ld0WD?= =?us-ascii?Q?bDqeO4ltvHTLWqQZesXY/kj1NPZGBj0LVzbLNtB1bqLFc73vLkrm8nU8BieY?= =?us-ascii?Q?1Ov3RcD7ns/vUYIZT1ar1FElUECjTQDKtY3JIgZxZf/2w6O+6AVNxyX7Hscs?= =?us-ascii?Q?+AhC1fAoK607d1zfP8aPcpZ6jMexKImNzgxBS8ZNbCLjS4jz2Z87/yInkgj+?= =?us-ascii?Q?giJmkGIqy7Lxr5jL5XKMnW68l+y5mvg=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6da0c83-d265-4ffb-7c6a-08da2e82444b X-MS-Exchange-CrossTenant-AuthSource: CY4PR1001MB2358.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 10:30:25.6520 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kTkHPvvI13a1INnd0wpMLFm/u4O58Oa0zKGgptzIaC0mWmtyUSFBQDuBGR47o3a/GwgrfYoWEEySboZcsTCAau7wChWDVH2xuu6UuLjeETo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR10MB1836 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-05_04:2022-05-05,2022-05-05 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205050074 X-Proofpoint-ORIG-GUID: 48ipzWJKjXT_HI6xUEbDaAgSii0gfPNu X-Proofpoint-GUID: 48ipzWJKjXT_HI6xUEbDaAgSii0gfPNu X-Rspamd-Queue-Id: E5E6A1C009B X-Stat-Signature: 1wdnxkbogzpkfi4ubb77dj7ttckxb314 X-Rspam-User: Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=UIXGqUMJ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MV58txMX; spf=none (imf21.hostedemail.com: domain of dan.carpenter@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=dan.carpenter@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-Rspamd-Server: rspam09 X-HE-Tag: 1651746625-813503 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hello Matthew Wilcox (Oracle), The patch b0bb08b2d5f3: "mm/shmem: turn shmem_alloc_page() into shmem_alloc_folio()" from Apr 29, 2022, leads to the following Smatch static checker warning: mm/shmem.c:2337 shmem_mfill_atomic_pte() error: uninitialized symbol 'page'. mm/shmem.c 2303 int shmem_mfill_atomic_pte(struct mm_struct *dst_mm, 2304 pmd_t *dst_pmd, 2305 struct vm_area_struct *dst_vma, 2306 unsigned long dst_addr, 2307 unsigned long src_addr, 2308 bool zeropage, bool wp_copy, 2309 struct page **pagep) 2310 { 2311 struct inode *inode = file_inode(dst_vma->vm_file); 2312 struct shmem_inode_info *info = SHMEM_I(inode); 2313 struct address_space *mapping = inode->i_mapping; 2314 gfp_t gfp = mapping_gfp_mask(mapping); 2315 pgoff_t pgoff = linear_page_index(dst_vma, dst_addr); 2316 void *page_kaddr; 2317 struct folio *folio; 2318 struct page *page; 2319 int ret; 2320 pgoff_t max_off; 2321 2322 if (!shmem_inode_acct_block(inode, 1)) { 2323 /* 2324 * We may have got a page, returned -ENOENT triggering a retry, 2325 * and now we find ourselves with -ENOMEM. Release the page, to 2326 * avoid a BUG_ON in our caller. 2327 */ 2328 if (unlikely(*pagep)) { 2329 put_page(*pagep); 2330 *pagep = NULL; 2331 } 2332 return -ENOMEM; 2333 } 2334 2335 if (!*pagep) { 2336 ret = -ENOMEM; There used be an allocation here: page = shmem_alloc_page(gfp, info, pgoff); But the shmem_alloc_page() function is gone. --> 2337 if (!page) 2338 goto out_unacct_blocks; 2339 2340 if (!zeropage) { /* COPY */ 2341 page_kaddr = kmap_atomic(page); 2342 ret = copy_from_user(page_kaddr, 2343 (const void __user *)src_addr, 2344 PAGE_SIZE); 2345 kunmap_atomic(page_kaddr); 2346 2347 /* fallback to copy_from_user outside mmap_lock */ 2348 if (unlikely(ret)) { 2349 *pagep = page; 2350 ret = -ENOENT; 2351 /* don't free the page */ 2352 goto out_unacct_blocks; 2353 } 2354 2355 flush_dcache_page(page); 2356 } else { /* ZEROPAGE */ 2357 clear_user_highpage(page, dst_addr); 2358 } 2359 } else { 2360 page = *pagep; 2361 *pagep = NULL; 2362 } 2363 2364 VM_BUG_ON(PageLocked(page)); 2365 VM_BUG_ON(PageSwapBacked(page)); 2366 __SetPageLocked(page); 2367 __SetPageSwapBacked(page); 2368 __SetPageUptodate(page); 2369 2370 ret = -EFAULT; 2371 max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE); 2372 if (unlikely(pgoff >= max_off)) 2373 goto out_release; 2374 2375 folio = page_folio(page); 2376 ret = shmem_add_to_page_cache(folio, mapping, pgoff, NULL, 2377 gfp & GFP_RECLAIM_MASK, dst_mm); 2378 if (ret) 2379 goto out_release; 2380 2381 ret = mfill_atomic_install_pte(dst_mm, dst_pmd, dst_vma, dst_addr, 2382 page, true, wp_copy); 2383 if (ret) 2384 goto out_delete_from_cache; 2385 2386 spin_lock_irq(&info->lock); 2387 info->alloced++; 2388 inode->i_blocks += BLOCKS_PER_PAGE; 2389 shmem_recalc_inode(inode); 2390 spin_unlock_irq(&info->lock); 2391 2392 unlock_page(page); 2393 return 0; 2394 out_delete_from_cache: 2395 delete_from_page_cache(page); 2396 out_release: 2397 unlock_page(page); 2398 put_page(page); 2399 out_unacct_blocks: 2400 shmem_inode_unacct_blocks(inode, 1); 2401 return ret; 2402 } regards, dan carpenter