On 07/03/25 12:32 pm, Madhavan Srinivasan wrote:

On 3/6/25 10:30 PM, Venkat Rao Bagalkote wrote:
Greetings!!

I see selftests/powerpc fails to compile on next-20250306.

This error has been introduced in next-20250218. Make is successful on 
next-20250217.


Attached is the .config used.


If you fix this, please add below tag.

Reported-by: Venkat Rao Bagalkote <venka...@linux.ibm.com>


Errors:

make -C powerpc/
make: Entering directory 
'/root/venkat/linux-next/tools/testing/selftests/powerpc'
Makefile:60: warning: overriding recipe for target 'emit_tests'
../lib.mk:182: warning: ignoring old recipe for target 'emit_tests'
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/alignment; 
mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C alignment all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/benchmarks;
 mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C benchmarks all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/cache_shape;
 mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C cache_shape all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/copyloops; 
mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C copyloops all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/dexcr; 
mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C dexcr all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/dscr; 
mkdir -p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C dscr all
make[1]: Nothing to be done for 'all'.
BUILD_TARGET=/root/venkat/linux-next/tools/testing/selftests/powerpc/mm; mkdir 
-p $BUILD_TARGET; make OUTPUT=$BUILD_TARGET -k -C mm all
   CC       pkey_exec_prot
In file included from pkey_exec_prot.c:18:
/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h: In 
function ‘pkeys_unsupported’:
/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h:96:34: 
error: ‘PKEY_UNRESTRICTED’ undeclared (first use in this function)
    96 |         pkey = sys_pkey_alloc(0, PKEY_UNRESTRICTED);
       |                                  ^~~~~~~~~~~~~~~~~
Commit 6d61527d931ba ('mm/pkey: Add PKEY_UNRESTRICTED macro') added a macro 
PKEY_UNRESTRICTED to handle implicit literal
value of 0x0 (which is "unrestricted"). belore patch add the same to powerpc/mm 
selftest.

Can you try with this patch to check whether it fixes the build break for you


diff --git a/tools/testing/selftests/powerpc/include/pkeys.h 
b/tools/testing/selftests/powerpc/include/pkeys.h
index c6d4063dd4f6..d6deb6ffa1b9 100644
--- a/tools/testing/selftests/powerpc/include/pkeys.h
+++ b/tools/testing/selftests/powerpc/include/pkeys.h
@@ -24,6 +24,9 @@
  #undef PKEY_DISABLE_EXECUTE
  #define PKEY_DISABLE_EXECUTE   0x4
+#undef PKEY_UNRESTRICTED
+#define PKEY_UNRESTRICTED      0x0
+
  /* Older versions of libc do not define this */
  #ifndef SEGV_PKUERR
  #define SEGV_PKUERR    4


Maddy

/Responding to all/

/
/

Tested with the above patch and it fixes the issue.

Please add below tag.

Tested-by: Venkat Rao Bagalkote <venka...@linux.ibm.com>


Regards,

Venkat.



/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h:96:34: 
note: each undeclared identifier is reported only once for each function it 
appears in
pkey_exec_prot.c: In function ‘segv_handler’:
pkey_exec_prot.c:75:53: error: ‘PKEY_UNRESTRICTED’ undeclared (first use in 
this function)
    75 |                         pkey_set_rights(fault_pkey, PKEY_UNRESTRICTED);
       | ^~~~~~~~~~~~~~~~~
make[1]: *** [../../lib.mk:222: 
/root/venkat/linux-next/tools/testing/selftests/powerpc/mm/pkey_exec_prot] 
Error 1
   CC       pkey_siginfo
In file included from pkey_siginfo.c:22:
/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h: In 
function ‘pkeys_unsupported’:
/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h:96:34: 
error: ‘PKEY_UNRESTRICTED’ undeclared (first use in this function)
    96 |         pkey = sys_pkey_alloc(0, PKEY_UNRESTRICTED);
       |                                  ^~~~~~~~~~~~~~~~~
/root/venkat/linux-next/tools/testing/selftests/powerpc/include/pkeys.h:96:34: 
note: each undeclared identifier is reported only once for each function it 
appears in
pkey_siginfo.c: In function ‘segv_handler’:
pkey_siginfo.c:86:39: error: ‘PKEY_UNRESTRICTED’ undeclared (first use in this 
function)
    86 |                 pkey_set_rights(pkey, PKEY_UNRESTRICTED);
       |                                       ^~~~~~~~~~~~~~~~~
make[1]: *** [../../lib.mk:222: 
/root/venkat/linux-next/tools/testing/selftests/powerpc/mm/pkey_siginfo] Error 1
make[1]: Target 'all' not remade because of errors.
make: *** [Makefile:40: mm] Error 2
make: Leaving directory 
'/root/venkat/linux-next/tools/testing/selftests/powerpc'


Regards,

Venkat.

Reply via email to