From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8378C2DEA7A for ; Thu, 23 Oct 2025 03:32:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761190364; cv=none; b=FXnluqdHRpk5VaOY8DW8Dccr1LTvTAimJRaSDNjgeq2+raROEvP0S+wX6JH6dNMyCJjKr/o+akHMjoPnWjx4DfzvhpZEXxKxUc/ES51W7A0vjf3RzT1wP+QERvgrS0bCgUiJ+qLvHfbJuAK5znqG/Nq1+WeBtW1qAnXNih5T86A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761190364; c=relaxed/simple; bh=xWhL3+Dq6MSXsHvH7+WWuMbywvoryjin7C3sX75Ef8U=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=pb138fXaaihL3ijurgkRWye5xa/X/yvwb2gyXRY/bUtcTUtnG+UtrLpQtCmAvZvGrldmorb4z3jCwoF6WHvnbPIftPXNdvbo+NPtHN1bTMfH9LvYYOZhSKxaJzHRN+21t48amdQaIzyH6kyqUc39ZpyZVrcVJUcpiDFK6kqGi2Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AAAD31516; Wed, 22 Oct 2025 20:32:32 -0700 (PDT) Received: from [10.163.71.44] (unknown [10.163.71.44]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 930813F63F; Wed, 22 Oct 2025 20:32:38 -0700 (PDT) Message-ID: Date: Thu, 23 Oct 2025 09:02:35 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH V2] mm/debug_vm_pgtable: Add [pte|pmd]_mkwrite_novma() tests To: "Huang, Ying" Cc: linux-mm@kvack.org, Andrew Morton , David Hildenbrand , linux-kernel@vger.kernel.org, Catalin Marinas References: <20251022032951.3498553-1-anshuman.khandual@arm.com> <87ms5i2z8t.fsf@DESKTOP-5N7EMDA> Content-Language: en-US From: Anshuman Khandual In-Reply-To: <87ms5i2z8t.fsf@DESKTOP-5N7EMDA> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 23/10/25 6:47 AM, Huang, Ying wrote: > Anshuman Khandual writes: > >> Add some [pte|pmd]_mkwrite_novma() relevant tests. >> >> Cc: Andrew Morton >> Cc: David Hildenbrand >> Cc: Huang Ying >> Cc: linux-mm@kvack.org >> Cc: linux-kernel@vger.kernel.org >> Suggested-by: Catalin Marinas >> Signed-off-by: Anshuman Khandual >> --- >> These tests clear on arm64 platform after the following recent patch. >> >> https://lore.kernel.org/all/20251015023712.46598-1-ying.huang@linux.alibaba.com/ >> >> Changes in V2: >> >> - Added a new test combination per Huang >> >> Changes in V1: >> >> https://lore.kernel.org/all/20251021024424.2390325-1-anshuman.khandual@arm.com/ >> >> mm/debug_vm_pgtable.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c >> index 830107b6dd08..def344bb4a32 100644 >> --- a/mm/debug_vm_pgtable.c >> +++ b/mm/debug_vm_pgtable.c >> @@ -102,6 +102,12 @@ static void __init pte_basic_tests(struct pgtable_debug_args *args, int idx) >> WARN_ON(pte_write(pte_wrprotect(pte_mkwrite(pte, args->vma)))); >> WARN_ON(pte_dirty(pte_wrprotect(pte_mkclean(pte)))); >> WARN_ON(!pte_dirty(pte_wrprotect(pte_mkdirty(pte)))); >> + >> + WARN_ON(!pte_dirty(pte_mkwrite_novma(pte_mkdirty(pte)))); >> + WARN_ON(pte_dirty(pte_mkwrite_novma(pte_mkclean(pte)))); >> + WARN_ON(!pte_write(pte_mkdirty(pte_mkwrite_novma(pte)))); >> + WARN_ON(!pte_write(pte_mkwrite_novma(pte_wrprotect(pte)))); >> + WARN_ON(pte_write(pte_wrprotect(pte_mkwrite_novma(pte)))); >> } >> >> static void __init pte_advanced_tests(struct pgtable_debug_args *args) >> @@ -195,6 +201,12 @@ static void __init pmd_basic_tests(struct pgtable_debug_args *args, int idx) >> WARN_ON(pmd_write(pmd_wrprotect(pmd_mkwrite(pmd, args->vma)))); >> WARN_ON(pmd_dirty(pmd_wrprotect(pmd_mkclean(pmd)))); >> WARN_ON(!pmd_dirty(pmd_wrprotect(pmd_mkdirty(pmd)))); >> + >> + WARN_ON(pmd_dirty(pmd_mkwrite_novma(pmd_mkclean(pmd)))); >> + WARN_ON(!pmd_write(pmd_mkdirty(pmd_mkwrite_novma(pmd)))); >> + WARN_ON(!pmd_write(pmd_mkwrite_novma(pmd_wrprotect(pmd)))); >> + WARN_ON(pmd_write(pmd_wrprotect(pmd_mkwrite_novma(pmd)))); > > Why not add > > WARN_ON(!pmd_dirty(pmd_mkwrite_novma(pmd_mkdirty(pte)))); > > too? Sure will add the above test which will also be symmetrical with a similar PTE test being proposed here.