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 64003C02198 for ; Wed, 12 Feb 2025 07:33:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BAE4E6B009C; Wed, 12 Feb 2025 02:33:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B5F676B009D; Wed, 12 Feb 2025 02:33:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FE116B009E; Wed, 12 Feb 2025 02:33:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7CC0A6B009C for ; Wed, 12 Feb 2025 02:33:30 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E84BB120F22 for ; Wed, 12 Feb 2025 07:33:29 +0000 (UTC) X-FDA: 83110477338.12.AD885FF Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by imf21.hostedemail.com (Postfix) with ESMTP id 86A231C000C for ; Wed, 12 Feb 2025 07:33:26 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=LU52ieBz; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf21.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.169 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739345608; a=rsa-sha256; cv=none; b=MjCLzNM1IrWSFffoLj0ojM44O5rNzrs32ylz5NaU4fIX5lxzkgb/NHd5DmZw7ljv/HihPL wiTBFyRZrN6uCcJICgEb6ncPrZGR8GnN2pWYYeHqTVAHu5+7Teh9bCki67JJP8P0H8YbOm Z5M80N8k34iPqgX1O5PFpmE0OOVCXUI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=LU52ieBz; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf21.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.169 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739345608; 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=fkwC4yo/St1MU9GrbOiGWT5f1H9mKSQMNgvX57ikxsY=; b=4Uh8P/67OZlw8TsTgd3Am769Xkwl++AXjnwQaYX1MvecgLmfXPWb4H9JK+bRRph7/zhvrf Ck/yQO5ENGV6pELmOnNGKDSL4tonJolM3gOVIdGp4IdQVeLErMBs+x6c2DeqG+6yDKE/Vx NHkMdypmk1op80xIgahrML0o0ER7WJc= Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-21f49bd087cso88161715ad.0 for ; Tue, 11 Feb 2025 23:33:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1739345605; x=1739950405; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=fkwC4yo/St1MU9GrbOiGWT5f1H9mKSQMNgvX57ikxsY=; b=LU52ieBzbjEuehkhpuChSrwfJ8SgrMWmm1jRa+cN53Pp3t9Gzqg+pxSYBFzbbXUtDw 6M3geC5SNymCYskEwOhUnIwiusTkKkIDCb0M1mkP5EM5p8/D/V9u/g1QT/Pq2VSSHgjJ Jcx5DSjDeCeKiaH2rprjWNK91B4xZwPceXimuvIBuQhZds1kQnhFMcVo00y9JGm3hizR KpD0NPEkC81BOxbRU0iR77WPUdxHq04lMPErfgSprKM7GuOPHDCtdDpK2ceW1sw7djAk GD3g+rt8zR9wtBABi59XmLt62onXsMewJ3dtVRwXI7eyw2rg8HbZ2MSAbCxtjTGDm6TM 0bmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739345605; x=1739950405; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fkwC4yo/St1MU9GrbOiGWT5f1H9mKSQMNgvX57ikxsY=; b=pzCm/8i7LeJ34tnnARk/PH/JZiQE31F+Fluw9bqeWEJLraIbJ6hGemEx4Vt08e8N+F a8hDIv5bMVWoOn2na1i0FYjDIDca99S/lOPScbtRhSVtKYoM9raQYeUPcFqWNE6TSqII ZBRxHpGLzbpvQ8Ho+d/M/luMbAEw/CbOZL4EvtqhdNylYLiQbG8wY1ruP7twEbuZpeli /qww9nnjmqsINJ/916Q+uaEkl3nIACMC5pe3Zf1yxaAfGqa7ijwSW+dxxbtuDiho+r96 dKwyJmOWEs4AWIlto0n1VLlmdaD9oX31vHYZK4GGFucr+ZJKczDfW8T26DtRwp57FdiS d/pA== X-Forwarded-Encrypted: i=1; AJvYcCWXH9jIBVrwyyCrktMSrWLMIg3GubaQp1Uz1qPO48epnITHViUTGlnFj/IWLX7dxnuR90GZXeyjJA==@kvack.org X-Gm-Message-State: AOJu0YxyzXxyAZZZZiUPwamUZExHlo1iD5vRSaz90MAQmrVTG0vi27E3 VZn92meNAkLNZqZ0WpTxXMV1bSTHhjFBxPAS+vtSsqpuwcNo01xAMc2sfaD8v0c= X-Gm-Gg: ASbGncvdiG5H2SoU7JzYnWJ8IHD3G1VdxvmSZcUQYCrYpIw5MhWslGUEhm/Yyl++agG 2bwnJn583SPQysn/pNat2BQqtZIP8iGNRrPjV5s4NO6f8H5dSWAo/c63kd5XyB9ekL7Iv9mlKKs GaA8HLVMJGimF6c5DOft0WT3V1YAT8pcz4k2otdigcM2oI8BKWXONztiXDs8zHpqDf0WnNlWcar hVW8KUW6fDcZWPGbJzHEISSTfZMjpq5f9XWExNcRtfkgeiQkshvK55BFAWwOVZBW0kKBs7aOJi3 c9PGSnXpdN9ar1+qGwm9TKl1qlCivSGBdMRu5C12Qg== X-Google-Smtp-Source: AGHT+IGiuGc7iBWpCw3G4pXH50ZiqqPYc7UNNfOGWQ0h2PpQXVIqAav7BnmCxlwuHgBLLmHBduzIkw== X-Received: by 2002:a17:902:fc4f:b0:21f:7821:55b6 with SMTP id d9443c01a7336-220bbae2543mr35144095ad.13.1739345605349; Tue, 11 Feb 2025 23:33:25 -0800 (PST) Received: from [10.84.150.121] ([203.208.167.153]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21f3650ce0bsm106755595ad.21.2025.02.11.23.33.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Feb 2025 23:33:24 -0800 (PST) Message-ID: <2e194c31-c177-496b-8e53-a20625e20a2b@bytedance.com> Date: Wed, 12 Feb 2025 15:32:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] arm: pgtable: fix NULL pointer dereference issue Content-Language: en-US To: Ezra Buehler Cc: linux@armlinux.org.uk, david@redhat.com, hughd@google.com, ryan.roberts@arm.com, akpm@linux-foundation.org, muchun.song@linux.dev, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <20250212064002.55598-1-zhengqi.arch@bytedance.com> From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 86A231C000C X-Stat-Signature: wqzrf9c9g96p9gtab9e7cy9bn5rjp8pm X-Rspam-User: X-HE-Tag: 1739345606-676648 X-HE-Meta: U2FsdGVkX19vXD86DG3InQbyjT6jhEYor4zmaz8S3ulZGkoBEOY4lHZs1WGwhntpC8DHC2wRRQRbL4DBm0Ctj8rfX9yszGn+8ks+3zIkjPXgocvwqj0berzyg6Q1S2loewphvepEYRKqri+BqFNcAsD9B7LQCYuBdwOaNyXdvi1iDeAHzHFI2Hq0NI/c3bUmOzVrr/bO2EOsAtXJAtcu/CNPUx0T36WTfJDLHrejXkFHwqekHcy4H2zMVtAXotsykgcUyzMR1NKII3SQYFYwpjuzZwpdWQRPf5b2OdoxI9+y60JP5J1todymV7hj/XWnDDt/vCej5d65jFwfQ505j7STrL69tTZYlRyLj2WK9VkhPuc/BUFLvGe2c2Jw5+xo2Ryf4k1ApfGaBm41kaY29tdEY96gnozMOlmVbEW3fj7JffN7XAjuLUfdVJAKRCZraWnhFMEzwrrhqzEQAtDmsr87ZZBT0a6auX7ZXSfQp7tcWk9p7tmLa65LUc55t3bFLys0wmds+B1lNCQHrmvfFc39AvVHP3ejlgrSsMwd7Kp/RiCxUcgJ/ONXPcCQplNCU10+SzPza3Pyc6iyREIUH4gvAy8oQc8AronI7R9OCz0OvCWgp1mccJUCkZENywg5l24XjJTZ1FsdkNGNJzeZyMGCLgdc9KS0L4Ev4wYKhVJFRa3WQAE39FWbkaqemYS8mpHRXy7wVLxLf4LdcoY+WmbR71PNeWAsSqw7OJYxi7go9/by3gIlbNJgi+3JzhuvGMPjvEDEGc38aiHH67IjrEl6Flhgjm/njTXPn68EK3I0Camd7+ntpUBvUd2rDpIiCa1Jrxuz5jYLXfiLedGlZVXglAiqzvRqoDvqWGSUIlaXPRA+QD5xvIznumUCmlGi71odArvP37BoajzFAYhElLk1kLkBjKLSxRV0bgTQQXIT5HXXcnsAVoSHutxeglz7fsZikMUF2uBHzDUGtFZ NMSZZN66 VquxThULBEm01Z2YRabbxSa0OzvJGy1vfbsX9XHMKLa7VLJE/FLPvW/F+nHTh3MrYPMbeuJ0ujeL38HSvj6wOMHGnaDorP3gN5afr3BnMkAux+G90TcMMZbRRTMRTF5w0JSSj84gyaZQMGn8UVUV5nOCrSawXxEOtkfrw+sIxWPPFD86N/8QTr5qKL/+NmhfrYE+ennlT/FK750jVslm1BO1Ar3HH6aQCrn3vAC7uk8xkL6KPD9oTPT+BnukJEayEO7kZ2ApHFGkl1V2uKqrZ//S38RY7gCQ0NXvesnFm50XzkmONvSrXsB/OAOhS6fSbsv7boXyA4j83xWM/vedWczG+qJj1CGQylEjwnS759punHS7HuDt7nwYvHntQ7eTlfOP3sger2jT1kRPxFyz8cobm5zvtXxjPIc4C0BUD/SvPNLPtxIt4rAYONv7ekRwYT9WD X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Ezra, On 2025/2/12 15:27, Ezra Buehler wrote: > Hi Qi, > > Thanks for the fix. I will test it as well as I can. Thanks! > > On Wed, Feb 12, 2025 at 7:41 AM Qi Zheng wrote: >> >> When update_mmu_cache_range() is called by update_mmu_cache(), the vmf >> parameter is NULL, which will cause a NULL pointer dereference issue in >> adjust_pte(): >> >> Unable to handle kernel NULL pointer dereference at virtual address 00000030 when read >> Hardware name: Atmel AT91SAM9 >> PC is at update_mmu_cache_range+0x1e0/0x278 >> LR is at pte_offset_map_rw_nolock+0x18/0x2c >> Call trace: >> update_mmu_cache_range from remove_migration_pte+0x29c/0x2ec >> remove_migration_pte from rmap_walk_file+0xcc/0x130 >> rmap_walk_file from remove_migration_ptes+0x90/0xa4 >> remove_migration_ptes from migrate_pages_batch+0x6d4/0x858 >> migrate_pages_batch from migrate_pages+0x188/0x488 >> migrate_pages from compact_zone+0x56c/0x954 >> compact_zone from compact_node+0x90/0xf0 >> compact_node from kcompactd+0x1d4/0x204 >> kcompactd from kthread+0x120/0x12c >> kthread from ret_from_fork+0x14/0x38 >> Exception stack(0xc0d8bfb0 to 0xc0d8bff8) >> >> To fix it, do not rely on whether 'ptl' is equal to decide whether to hold >> the pte lock, but decide it by whether CONFIG_SPLIT_PTE_PTLOCKS is >> enabled. In addition, if two vmas map to the same PTE page, there is no >> need to hold the pte lock again, otherwise a deadlock will occur. Just add >> the need_lock parameter to let adjust_pte() know this information. >> >> Reported-by: Ezra Buehler > > Perhaps a detail but, maybe better use "Ezra Buehler > " here. Got it. Will wait for your test results first. Thanks, Qi > > Cheers, > Ezra.