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 97071C83F1B for ; Wed, 16 Jul 2025 19:05:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37E816B00A1; Wed, 16 Jul 2025 15:05:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32F056B00A3; Wed, 16 Jul 2025 15:05:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F6E96B00A7; Wed, 16 Jul 2025 15:05:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0E4CB6B00A1 for ; Wed, 16 Jul 2025 15:05:20 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DA64EB9E39 for ; Wed, 16 Jul 2025 19:05:19 +0000 (UTC) X-FDA: 83671055958.18.B7874CC Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf24.hostedemail.com (Postfix) with ESMTP id D4983180011 for ; Wed, 16 Jul 2025 19:05:17 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=mandelbit.com header.s=google header.b=lDs2KYAN; spf=pass (imf24.hostedemail.com: domain of antonio@mandelbit.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=antonio@mandelbit.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752692717; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7RcrsdI236vfRls0v6jnV8ZyNrLxF2FgdQXKSdt6Pe4=; b=CqaU+tHvc8HkpV+ZBzO09U4xJRXwWPtIBqyif0YczI7lt6BBGjGr4estuM9w/VNfND3fXw VhYVHuPVH7aveHWKgjyYH0UQg5IkD5+4rzMOn2O+qmwVbcLhuO4NIzWZ4eJHL6XtnslaAH sX6BoGqOsH1lrqHnUFKqgKLOJlm1IUw= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=mandelbit.com header.s=google header.b=lDs2KYAN; spf=pass (imf24.hostedemail.com: domain of antonio@mandelbit.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=antonio@mandelbit.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752692717; a=rsa-sha256; cv=none; b=YUtEmPZQ/wk1BAIqLtpBe4HuuGG0J0Pn0dr3Be1Y6H8EIzIkKP0KRiFGcOKXgvzk+/BvXh I/mPocaLKuGZJund730ee5mirSTAiQhlsuAN+ciUJ5HAiv9euxPtP29d1bGgfdYtEFnZnC +zU63UEdMrzGdTz2VwlvTTRA/UpocWQ= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-607cc1a2bd8so215483a12.2 for ; Wed, 16 Jul 2025 12:05:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandelbit.com; s=google; t=1752692716; x=1753297516; darn=kvack.org; h=content-transfer-encoding:in-reply-to:organization:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=7RcrsdI236vfRls0v6jnV8ZyNrLxF2FgdQXKSdt6Pe4=; b=lDs2KYANt3D5zG4qr7lcPPrlRb3wWND+2DkDAVHPvSu2N3PzVyqdkek23CuvSxDw2c kTFnZq+jUnkgHFR44h46iznJpyriGRftfCnBFykY4zwUERtVmrXJO54IEiXXg5cj3iNP ntHzDF8CBLW4y+SL+AHrKRjV+CADXgqDLcWEW5na9qRk82i4iaMG6/hDPwocDV+eGzoO A+F7sZCi00WQ2vQQLmzn4IIBHxuVXswYUV8iyorr2NiIrLe08tokKonPvOv0CovjbUyv +gRzWfNDUcpz6U97wNMy0q28fqizem8rsvWMzQk4oHP3nfmuDbizV5KdHk6MGVfXMd52 NDog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752692716; x=1753297516; h=content-transfer-encoding:in-reply-to:organization:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7RcrsdI236vfRls0v6jnV8ZyNrLxF2FgdQXKSdt6Pe4=; b=RXWFap28IL6stJBH6G0VB4K/mL8HuusXKH2yuI3AkKlc6M83EHXov6anan6fInCyoe K5YyLrHsB/N4Ot25yCIiHLo9EvlxIQzVMzQSPjvzUHWqNyU5+iMrfjAsDWnx8ap+OmGI 58I9o8vmkI47eCfo4FPF+ueRiG77ilMCouPWbYODMjSw10jYX6zgipm1vVW7DC0x+L03 EjYSMoM4KRK+iRcy3BscpF2xLoxYykopihK7sMJm/sdYKWn+k7gPihVj3rHtuz+iAFjU BC8Y6HwsktKDwXXC5gZDPLw26q06Z+nXeszuxcXVkLN79IRQ0Wr7ZTQZcGR8xLKGENJa v45w== X-Gm-Message-State: AOJu0Yx1KIXYRTvifgn1FTMrOZrmaEAZrzUH5QsFLwlQ3xWVr6g5MFv+ Lk2lRFrc4Qqj0CBfkc4isE90lOSE5CAeJlmeTupG/Poj912eRVF5p/7roHSMUXB+8Z0= X-Gm-Gg: ASbGncsRsv+otLvczbt1WPqBKgcFkafHEAFTyhEu0JzW4hbIV/+Y68xsqQmkJhxO97M /UseV4nOHaiHC0NzR9DLj8QFy5ejCnoYTvipYA2Ov/4x44NBT7cEGfEWMXi/J1230rRs2vvSZtb gRpFeoyW/rUs9Ueb0aqWzRsfQ/al8WyJ8NMVXbFhjw5W/qXbC5LzX+bny0pZHHg7v/HCFUubwbe xOmYJGWF81uM/IXYkcOX7fRbRe3w+kVNZnZV0ZhxzfPlFfeelhQ7e5FxNxL2ecxjzuBANiTk77y CqT2Lf22+gZ0yBD0QVpD0jemlw08l2exAUURidpULbWJXR0kO4j7e1IA1iqwjR/erovrJofmsd1 SXKI9EDEL6Xxsy4b0WFSlQdeur3hr2k7JPBrIhRQH7p/BlQW09MzD0X/q2U9LNB0= X-Google-Smtp-Source: AGHT+IFTOvQHRcpUpep2BKPjz869wJJt7pz57mwK2Kz+IwAZ7QypFGx8qLsFWfSxGZGjM6wQBMgi/w== X-Received: by 2002:a17:907:60cf:b0:ade:8d5a:cf37 with SMTP id a640c23a62f3a-ae9ce0fa972mr381800066b.44.1752692716292; Wed, 16 Jul 2025 12:05:16 -0700 (PDT) Received: from ?IPV6:2001:67c:2fbc:1:a864:eb02:add4:d64a? ([2001:67c:2fbc:1:a864:eb02:add4:d64a]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae6e82df57asm1223230166b.161.2025.07.16.12.05.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Jul 2025 12:05:15 -0700 (PDT) Message-ID: Date: Wed, 16 Jul 2025 21:05:14 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC] mm/huge_memory: prevent potential NULL pointer dereference To: Lorenzo Stoakes Cc: linux-mm@kvack.org, Andrew Morton , David Hildenbrand , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Zi Yan References: <20250716145804.4836-1-antonio@mandelbit.com> <63267ca1-478c-429c-b005-526129fe2e8f@lucifer.local> Content-Language: en-US From: Antonio Quartulli Autocrypt: addr=antonio@mandelbit.com; keydata= xsFNBFN3k+ABEADEvXdJZVUfqxGOKByfkExNpKzFzAwHYjhOb3MTlzSLlVKLRIHxe/Etj13I X6tcViNYiIiJxmeHAH7FUj/yAISW56lynAEt7OdkGpZf3HGXRQz1Xi0PWuUINa4QW+ipaKmv voR4b1wZQ9cZ787KLmu10VF1duHW/IewDx9GUQIzChqQVI3lSHRCo90Z/NQ75ZL/rbR3UHB+ EWLIh8Lz1cdE47VaVyX6f0yr3Itx0ZuyIWPrctlHwV5bUdA4JnyY3QvJh4yJPYh9I69HZWsj qplU2WxEfM6+OlaM9iKOUhVxjpkFXheD57EGdVkuG0YhizVF4p9MKGB42D70pfS3EiYdTaKf WzbiFUunOHLJ4hyAi75d4ugxU02DsUjw/0t0kfHtj2V0x1169Hp/NTW1jkqgPWtIsjn+dkde dG9mXk5QrvbpihgpcmNbtloSdkRZ02lsxkUzpG8U64X8WK6LuRz7BZ7p5t/WzaR/hCdOiQCG RNup2UTNDrZpWxpwadXMnJsyJcVX4BAKaWGsm5IQyXXBUdguHVa7To/JIBlhjlKackKWoBnI Ojl8VQhVLcD551iJ61w4aQH6bHxdTjz65MT2OrW/mFZbtIwWSeif6axrYpVCyERIDEKrX5AV rOmGEaUGsCd16FueoaM2Hf96BH3SI3/q2w+g058RedLOZVZtyQARAQABzSlBbnRvbmlvIFF1 YXJ0dWxsaSA8YW50b25pb0BtYW5kZWxiaXQuY29tPsLBrQQTAQgAVwIbAwULCQgHAwUVCgkI CwUWAgMBAAIeAQIXgAUJFZDZMhYhBMq9oSggF8JnIZiFx0jwzLaPWdFMBQJhFSq4GBhoa3Bz Oi8va2V5cy5vcGVucGdwLm9yZwAKCRBI8My2j1nRTC6+EACi9cdzbzfIaLxGfn/anoQyiK8r FMgjYmWMSMukJMe0OA+v2+/VTX1Zy8fRwhjniFfiypMjtm08spZpLGZpzTQJ2i07jsAZ+0Kv ybRYBVovJQJeUmlkusY3H4dgodrK8RJ5XK0ukabQlRCe2gbMja3ec/p1sk26z25O/UclB2ti YAKnd/KtD9hoJZsq+sZFvPAhPEeMAxLdhRZRNGib82lU0iiQO+Bbox2+Xnh1+zQypxF6/q7n y5KH/Oa3ruCxo57sc+NDkFC2Q+N4IuMbvtJSpL1j6jRc66K9nwZPO4coffgacjwaD4jX2kAp saRdxTTr8npc1MkZ4N1Z+vJu6SQWVqKqQ6as03pB/FwLZIiU5Mut5RlDAcqXxFHsium+PKl3 UDL1CowLL1/2Sl4NVDJAXSVv7BY51j5HiMuSLnI/+99OeLwoD5j4dnxyUXcTu0h3D8VRlYvz iqg+XY2sFugOouX5UaM00eR3Iw0xzi8SiWYXl2pfeNOwCsl4fy6RmZsoAc/SoU6/mvk82OgN ABHQRWuMOeJabpNyEzA6JISgeIrYWXnn1/KByd+QUIpLJOehSd0o2SSLTHyW4TOq0pJJrz03 oRIe7kuJi8K2igJrfgWxN45ctdxTaNW1S6X1P5AKTs9DlP81ZiUYV9QkZkSS7gxpwvP7CCKF n11s24uF1c44BGhGyuwSCisGAQQBl1UBBQEBB0DIPeCzGpzFfbnob2Usn40WGLsFClyFRq3q ZIA9v7XIJAMBCAfCwXwEGAEIACYWIQTKvaEoIBfCZyGYhcdI8My2j1nRTAUCaEbK7AIbDAUJ AeEzgAAKCRBI8My2j1nRTDKZD/9nW0hlpokzsIfyekOWdvOsj3fxwTRHLlpyvDYRZ3RoYZRp b4v6W7o3WRM5VmJTqueSOJv70VfBbUuEBSIthifY6VWlVPWQFKeJHTQvegTrZSkWBlsPeGvl L+Kjj5kHx998B8PqWUrFtFY0QP1St+JWHTYSBhhLYmbL5XgFPz4okbLE0W/QsVImPBvzNBnm 9VnkU9ixJDklB0DNg2YD31xsuU2nIdvNsevZtevi3xv+uLThLCf4rOmj7zXVb+uSr+YjW/7I z/qjv7TnzqXUxD2bQsyPq8tesEM3SKgZrX/3saE/wu0sTgeWH5LyM9IOf7wGRIHj7gimKNAq 2sCpVNqI/i/djp9qokCs9yHkUcqC76uftsyqiKkqNXMoZReugahQfCPN5o6eefBgy+QMjAeI BbpeDMTllESfZ98SxKdU/MDhCSM/5Bf/lFmgfX3zeBvt45ds/8pCGIfpI7VQECaA8pIpAZEB hi1wlfVsdZhAdO158EagqtuTOSwvlm9N01FwLjj9nm7jKE2YCyrgrrANC7QlsAO/r0nnqM9o Iz6CD01a5JHdc1U66L/QlFXHip3dKeyfCy4XnHL58PShxgEu6SxWYdrgWwmr3XXc6vZ8z7XS 3WbIEhnAgMQEu73PEZRgt6eVr+Ad175SdKz6bJw3SzJr1qE4FMb/nuTvD9pAtw== Organization: Mandelbit SRL In-Reply-To: <63267ca1-478c-429c-b005-526129fe2e8f@lucifer.local> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: D4983180011 X-Rspamd-Server: rspam06 X-Stat-Signature: c5pujysj7dpkdehbr6br9f57egcee1ip X-HE-Tag: 1752692717-769474 X-HE-Meta: U2FsdGVkX1/uPSAmpdCEO8ma7sM5i1pe6xNxx5NqmA6xZ3GyDxNsw2DfICnIKDaHIZLFEU2HO2TLzndkT0QJt7r1rcLGJyVRK7ehC3iiFwFgBUuyx8MAYp58WhYaejlGM3SqzE5oczVvhm/UAEF5gfsMrcZcsUFec+lKavijruA1ab2qMLK0DfX8THdK3eABiK6LjYyQRxfAScPt9vsb+OZEG5eGBv3iatXdZKCWl/y2+kD2GJd6/Uy0VVezxsKprmIWvdybXS6lj5JsHwvUT7zGMjMBk2ZqVVivQs9emWc/PRHiDnrGzfRMXZoVivaTNdRQY+tXmJKY/BDpS0tNKkHAMlcHfcv2VqQt5ma3p5ZnXyqVY+CoECxpfQZ3C2SaaWRyy8WZZzfm8nF7Q7EjuGHnyjf1/8gnJN8K6r+12d7HFkLx0OKY8MAWKBX0rOx5E+HEZRfiQAtdJD3GEYFM/MPwd1jNZD2r8Q3UavnJQZ+cZeN+Qg1CwEB1A8yrwzu7nCizTNAXJ5/clcwBruzNFf3LkDDzoc3+so0/Gb7XzzlliUAelqzwQHwwtb7vxm85Gwo5rn2SXzij4yDfnQYawd14fhrgb+yA3T5zJOEpzsV7u4MMpUDCXO98aSVisgZ180C9KUZy19nnEPWCzFPIccqdPNDo3dH3BwN7gTr0ug5cleIfwAzdU+PgkU+A5jyoSdPdA77EkwZLj1dsXOmLxiaNH4lUI6BICPxIiF3eJgkWtg6+yn9KmZstVcOwoZqvEGk0mOGH2gyc+t/rK3DQFVzNeRwn66zjIGG1eg8naJlCvpe3L+RAmzIUDODA9y2jRHpPg6kTrEBKW/H57GJ+k/OKqx3GydSgYX7F74HuC17q1nV+t++MFHIxpN8NeCKoNoggFzq3+Js3DkuO7j8zvVg91Phno/LoerAsCwlBFK2jH5d0zWEeYobGsw3UloIyCTQ+xM0wTL4sJC6BKpg 4tgjG1am vt0/23vxGS5G8HBO2bv8zrw1delBpdMqGKUWi9wiMhGvd3f/1Y4Vude5cxeifi7vKtuYu4HVKvqGin1qpeNlyJlAeuWnShaM+7982jCRdgNUqaQHLibz6meGb84WtkOkYJpnnpQTxCKR1NRgYki5e7Iod0TNY//MeRmGOJRy+SU+8KsGzrX2D2HX7Wsro+hrdAcgg3oxqOkOBQVaBkf2Hkwltb7jlG6wsfPGIwdButOBmdNAWBgqbzLywqh7bnkpwqOHVaeUU39MY7Kq1Q95lvF3FrjvBC6DwXBYq10aIxPULXiaRfADidBYdxpzMCJkVnJypdtkPkUIy9emszzQA0Jo9EXN27eTpVBZT0zwdGX9lyzPFD661dqtE+gKxQaK36jRslCDGkjm7TKjeGGL4M8tozhz5r9en8lwCZDV0s51Z8CHmvPXjd/jsBQoJKBm+LvmWnALh28SRoIw= 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: List-Subscribe: List-Unsubscribe: Hi Lorenzo, On 16/07/2025 17:07, Lorenzo Stoakes wrote: >> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >> index 389620c65a5f..d649026db95a 100644 >> --- a/mm/huge_memory.c >> +++ b/mm/huge_memory.c >> @@ -3802,7 +3802,7 @@ static int __folio_split(struct folio *folio, unsigned int new_order, >> >> /* Some pages can be beyond EOF: drop them from cache */ >> if (new_folio->index >= end) { > > It's kind of not _hugely_ clear but, if anon - which implies no mapping - we set > end == -1. > > At which point this condition cannot evaluate true (index is at page granularity > so even MAX_UINT64 would be page shifted and still not equal -1). I may be missing something, but why can't "index >= -1" be true? In any case, with Zi's patch the NULL check comes before the rest so the problem does not exist anymore there. Regards, > > Under all other circumstances, mapping will be non-NULL. > >> - if (shmem_mapping(mapping)) >> + if (mapping && shmem_mapping(mapping)) >> nr_shmem_dropped += folio_nr_pages(new_folio); >> else if (folio_test_clear_dirty(new_folio)) >> folio_account_cleaned( >> -- >> 2.49.1 >> >> > > Cheers, Lorenzo -- Antonio Quartulli CEO and Co-Founder Mandelbit Srl https://www.mandelbit.com