mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Mike Rapoport (Microsoft)" <rppt@kernel.org>,
	Dave Hansen <dave.hansen@linux.intel.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Ihor Solodrai <ihor.solodrai@linux.dev>,
	Ingo Molnar <mingo@redhat.com>, Mike Rapoport <rppt@kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@kernel.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH v2] x86/mm/pat: use pr_warn() for early W^X warnings
Date: Sat, 12 Sep 2026 09:23:24 +0800	[thread overview]
Message-ID: <202609120952.vcYnJp5p-lkp@intel.com> (raw)
In-Reply-To: <20260911-fixes-verify-rwx-v2-1-e2cde39b6693@kernel.org>

Hi Mike,

kernel test robot noticed the following build errors:

[auto build test ERROR on ebaf7c9bbb1e16523d7036e7e1225ad2dfcc6482]

url:    https://github.com/intel-lab-lkp/linux/commits/Mike-Rapoport-Microsoft/x86-mm-pat-use-pr_warn-for-early-W-X-warnings/20260911-142843
base:   ebaf7c9bbb1e16523d7036e7e1225ad2dfcc6482
patch link:    https://lore.kernel.org/r/20260911-fixes-verify-rwx-v2-1-e2cde39b6693%40kernel.org
patch subject: [PATCH v2] x86/mm/pat: use pr_warn() for early W^X warnings
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20260912/202609120952.vcYnJp5p-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260912/202609120952.vcYnJp5p-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609120952.vcYnJp5p-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/mm/pat/set_memory.c:708:16: error: expected ')'
     708 |                 pr_warn_once(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
         |                              ^
   arch/x86/mm/pat/set_memory.c:708:3: note: to match this '('
     708 |                 pr_warn_once(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
         |                 ^
   include/linux/printk.h:669:2: note: expanded from macro 'pr_warn_once'
     669 |         printk_once(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ^
   include/linux/printk.h:650:15: note: expanded from macro 'printk_once'
     650 |         DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__)
         |                      ^
   1 error generated.


vim +708 arch/x86/mm/pat/set_memory.c

   667	
   668	/*
   669	 * Validate strict W^X semantics.
   670	 */
   671	static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long start,
   672					  unsigned long pfn, unsigned long npg,
   673					  bool nx, bool rw)
   674	{
   675		unsigned long end;
   676	
   677		/*
   678		 * 32-bit has some unfixable W+X issues, like EFI code
   679		 * and writeable data being in the same page.  Disable
   680		 * detection and enforcement there.
   681		 */
   682		if (IS_ENABLED(CONFIG_X86_32))
   683			return new;
   684	
   685		/* Only verify when NX is supported: */
   686		if (!(__supported_pte_mask & _PAGE_NX))
   687			return new;
   688	
   689		if (!((pgprot_val(old) ^ pgprot_val(new)) & (_PAGE_RW | _PAGE_NX)))
   690			return new;
   691	
   692		if ((pgprot_val(new) & (_PAGE_RW | _PAGE_NX)) != _PAGE_RW)
   693			return new;
   694	
   695		/* Non-leaf translation entries can disable writing or execution. */
   696		if (!rw || nx)
   697			return new;
   698	
   699		end = start + npg * PAGE_SIZE - 1;
   700	
   701		/*
   702		 * If the kernel text is still RWX, gently complain, this could be a
   703		 * false positive.
   704		 * Once debug_checkwx() becomes mandatory for CONFIG_STRICT_KERNEL_RWX,
   705		 * the warning can be removed completely.
   706		 */
   707		if (!kernel_set_to_readonly) {
 > 708			pr_warn_once(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
   709			  (unsigned long long)pgprot_val(old),
   710			  (unsigned long long)pgprot_val(new),
   711			  start, end, pfn);
   712			return new;
   713		}
   714	
   715		WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
   716			  (unsigned long long)pgprot_val(old),
   717			  (unsigned long long)pgprot_val(new),
   718			  start, end, pfn);
   719	
   720		/*
   721		 * For now, allow all permission change attempts by returning the
   722		 * attempted permissions.  This can 'return old' to actively
   723		 * refuse the permission change at a later time.
   724		 */
   725		return new;
   726	}
   727	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2026-09-12  1:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-11 11:28 Mike Rapoport (Microsoft)
2026-09-12  1:23 ` kernel test robot [this message]
2026-09-12  1:23 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609120952.vcYnJp5p-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=ihor.solodrai@linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=llvm@lists.linux.dev \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=nathan@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=peterz@infradead.org \
    --cc=rppt@kernel.org \
    --cc=tglx@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®