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 1FE8DC83F1B for ; Wed, 16 Jul 2025 19:13:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B55888D0001; Wed, 16 Jul 2025 15:13:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B2D4D6B00A1; Wed, 16 Jul 2025 15:13:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A432E8D0001; Wed, 16 Jul 2025 15:13:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 92CD76B009E for ; Wed, 16 Jul 2025 15:13:14 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 07A0412DED7 for ; Wed, 16 Jul 2025 19:13:14 +0000 (UTC) X-FDA: 83671075908.08.C944AAD Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf26.hostedemail.com (Postfix) with ESMTP id CE53914000A for ; Wed, 16 Jul 2025 19:13:11 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=mandelbit.com header.s=google header.b=OF5vKZ0o; dmarc=none; spf=pass (imf26.hostedemail.com: domain of antonio@mandelbit.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=antonio@mandelbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752693192; a=rsa-sha256; cv=none; b=rSK/gwxzbSUzc5Q7+zYZtyAIkdPbq8UZpHW+FgUu1oYaa2IjN6uEIs3YeQ1+4uBomqndEA ITRYf8L794qNjc5s/uVxe2/e6r2D31hesAN2x1M6bs0fBwcMGBUOOBjkJa2IdolpDkpuSE rGKVOlFHwJL6twyUHM/+jKvlL6gHos0= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=mandelbit.com header.s=google header.b=OF5vKZ0o; dmarc=none; spf=pass (imf26.hostedemail.com: domain of antonio@mandelbit.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=antonio@mandelbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752693192; 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=RPWXbuBhYSwM1TrVt9RgjWEMO7ys8vGTE4/Q8Rp/Cvk=; b=ZG92nCD1Wtm9uz7wq1DXIlHqQzZO5EQQ9cDELk0N6b2OHejGJiaeEzySvcuAdl9Vsmsig0 hG36MmVdCpsmxqN/3Dz+D3e5Gop40hTiyHiLMTggU/573yt58AslMN7Mp0FozgpcErZkjt 1AmoH4V3nxbzWgom7uNNGxsbEtW1Pc8= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ae3ec622d2fso30456266b.1 for ; Wed, 16 Jul 2025 12:13:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandelbit.com; s=google; t=1752693190; x=1753297990; 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=RPWXbuBhYSwM1TrVt9RgjWEMO7ys8vGTE4/Q8Rp/Cvk=; b=OF5vKZ0opa1R/POCwUpGbL9cMu1ZV7C1NJRotAqKWYl6n6txEqzTfxgz6OtAYZPl03 YVZTm1JpfT0KR2VkeRaXNXnOSo6k2cl6hb60ozT4mdR/aP5i7RlChFu4RhAV4m/H4ydz LQNCOhZ8P475ZubrV4uKjoo6D12C9XKkst4TFLr8izqJi69P5fE49wM9tAXfIZYQ7WBI cUTaBoMRYfmLy/i0lxfUqou/zNAFz4bzVuaXh0lj1qZ5Tvd9f3PNzVyOg7zEW0unotP3 TAfElPpZtisR8N4LVR/e7jwt+Y/0FYYp9hDKoWXkxn82Aeiqrz81fAy5by84/M8F7TeO iR7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752693190; x=1753297990; 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=RPWXbuBhYSwM1TrVt9RgjWEMO7ys8vGTE4/Q8Rp/Cvk=; b=nl8ZWf8Xiv7MVEvIyCfWXCbPeVbe9bZdNypIegw+6RyyYogXJDk5SR/inG/fnKbblu doHPVuKdeusJn/xWa/jcshyvVNZ6DJ2/VtKtHbWOksYULQe3/oWpX+AO53gKIQ0UwUde p3DpkeJVEkk+WUVyqq2VAufnqluWE13WHomvA+WllA8Sgh2/HLpU/K3hjGNBjNDrvMNY iO8yRnGds+3nfwXkE5QrKtvzTDWc6I8n8rST9MD69XsFyEmR5FMvdkmhJrR4RM7RFpnd 40PGOrypjwrDeg9Kb/2GQnTjyiKdrrWlGbK49jHQhW3lOY/faDsK4CqsMzZdXV/V3hM4 iQoA== X-Gm-Message-State: AOJu0YyD5tlNJ0SCd1BpLcYo6QvnAzqrEu1N1Vur2dWIetwEfOARFkr3 MplHor6bPEXeqzYAEaAo8qTaankS0G1lfKANUV4Sq6Rvf6zugiVeZI0rWM7sCC4Ca4c= X-Gm-Gg: ASbGncvmYR5zPXttm79czdDoRyRYb/biOeRv70LZRWUqTv1x5OQAeqxxZgM3v2Mu2kN f1W28H1xS3Mx/G96EyMKzofims/OJ5YZITNN+kqpeBX4OShL9ECM7n9pdDqezDlTMqTMfD9HNg8 fOxx76o8oB3Cpt9I5FLiu05uzRgRpj2RpktCgxKsE08vHVMZT/jUXTuw56Fb50G/N5CSWb4hc4Y 1D+oSt+vcedmOkCWWDnAowAOtMDN0DG2MxAHEakUZdvjIYIpy+RzRhsVEt0IPazRIkkxoluzkqJ 4h8W9hn4bUc8/Ubgh0uttTPOm3HhMdQh6nE4RYRqwBX6tmmT/E9PczVeZa/gPKGkK9DRgIKqMrZ zj10Q1xlzBc+3g//+mpSJvMKIXLOJUwP/gVFLACdnqm9UFiq2fbUaJBWaoJn3Ayk= X-Google-Smtp-Source: AGHT+IFRvf/mYfDTGxTpF5LZ+9r4MeTmsRYxD1Xc4H1lfc9Ejb09r+xjTIOYCwJSDny2/OCNxg/cgg== X-Received: by 2002:a17:907:f496:b0:ad8:a512:a9fc with SMTP id a640c23a62f3a-ae9ce0fc5femr377618966b.42.1752693190107; Wed, 16 Jul 2025 12:13:10 -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-ae6e7e90a07sm1231596666b.6.2025.07.16.12.13.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Jul 2025 12:13:09 -0700 (PDT) Message-ID: Date: Wed, 16 Jul 2025 21:13:08 +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= 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 Organization: Mandelbit SRL In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: CE53914000A X-Stat-Signature: mx8xho3epsk3p9w8f165zskirac1m5ku X-HE-Tag: 1752693191-192610 X-HE-Meta: U2FsdGVkX1/Yyb14nM9fTdCtzzebjefq+GRvoI5nX14raxtWGKSCd5LmJx/GnUMvOsBo2jYInh49+Ghg8CMmpTOuP+EwjZYyXtFzfDk8cY/aonuMbUYqx1vZwSq64+dRw20n30j0r9VwKnVQ8vjvHALyWxuxz9EgaUMlG8woad4+bAs4OI7HAv2pzgTUWJUZW83beFT7F/9xA0cylsCzf3bP7qd5iv0ZAz7ATKOnj0V6qL+YgDCTBonzcO3mt9EqwE7wQ6tYKS055r3eIDXIpbP7056miD3zc+Fll2iQJYdWFL6yG66KSCM3C1nEtdBPHKHJEcbEn5Snuil1KhZoa7xH+m1Cq3DtjAxRGPbQv6HD9doqJ5QxTHA6ua3Pmufu6AR+cCnk7cSbKlyZPH8D5LYwWquT4Pf4HKAIkoDSWs0kRK4b2sdHITNckZD98qv72LjS095hr3u11Ixry7TwflzaC1KZa4S1WbAepCsImboB/hO1PhoPD0S6kAyMB0AwZSkKpEqcSRkIHnYOvXRVhpKsXCOCcnKx+/IvT0620llaIDkxx1KR8PvKPFJNfhoItpWd9zPiBQjF8KTkFRHzbWn5rPC81SC5r3dC3dseNhV8bUDhRd7Fd9j3rZMpEAXGju1TrtuvdghRBrzkJZ3npPfWEuNUeyn1Wgk6ivML4RPggsfpRVXw5A7cr/W4q/3p2hBhlzpxfQaxLzfwA2QnYEOMlwEQo1GMXQ7sJ2z7CXtd1wNPAkP6xP5dKH3JfskZv18jegZ7RaCBOgS9hOQzswcFiKZPwxO+IZDmQe8BAS65J9QxXtZ5f+zFR1i3Y+CxKc9quCtTI4amjZpPFo0WdEZbgnJ2CwYH1ude9vopUqmyVYbVNgSz79M+xTwcyrqlJKZgCzT9VuJENib+yB8q+RmCXqK5GDaxlc+rsb9vTaI17ygfT/Cms0xB7ZuOE2NGO1cDn6ckweGsa3ZZq7J 4NAF+ar5 jyv7cdZTM+v5o2gqUb4yCqCSAcGA0+dgKthh245i+8QlsFPOjw0gV+tttiKLOZ/X2GpZqnDoruF7TDRqxBKDnQfFZPfSe6y7Hryuk5iyLb4rfSbzgChn0n5S/Q2uOlIcFWVYe1+qZ6CfWXOvXYHOeuJx7n156JyHspo4hqqKHNTd5cvkK+2N74sR/uSJy44/FppwkKy0XvTC9Q0eHfR1v8uOFqYOOJerU85T9umptIk5XkEM1bWt8QTjMmz+oYItoPWbALr2QfHPIi11rtcgTgQBZl/QTX75i0vby3znt+9/yjmXHFBt/AxQdWU7Kz3oLIOlyeUcMaSci84GJLaD1h+l+kJxqwcHHaf08cMGZ0XiHU480oEHOsQVDVSij6A5gnKBLdZ7dY+f/3I/2z39jOgM0UhPhcYQYo/yl3LsHWg5h+H2ehDrLFtT8FB+dc/0atVw0NtgTtUKFJoY= 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: On 16/07/2025 21:10, Lorenzo Stoakes wrote: > On Wed, Jul 16, 2025 at 09:05:14PM +0200, Antonio Quartulli wrote: >> 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? > > These are unsigned long's, -1 in two's complement this means -1 translates > to the maximum possible unsigned long. Index cannot == the maximum number > as this is a _page_ index so a folio would need to reference a page larger > than could be represented in a 64-bit system for that to be so. Got it! Thanks a lot for the clarification. Cheers, -- Antonio Quartulli CEO and Co-Founder Mandelbit Srl https://www.mandelbit.com