+cc s390 people, kvm s390 people + lists. sorry for noise but get_maintainers.pl says there's a lot of you :) On Wed, May 14, 2025 at 03:28:47PM +0200, Ignacio Moreno Gonzalez wrote: > Hi, > > Due to the line: > > include/linux/huge_mm.h:509 '#include <uapi/asm/mman.h>' BTW, I didn't notice at the time, but shouldn't this be linux/mman.h? You shouldn't be importing this header this way generally (only other users are arch code). But at any rate, you will ultimately import the PROT_NONE declaration. > > there is a name collision in arch/s390/kvm/gaccess.c, where 'PROT_NONE' is also defined as value for 'enum prot_type'. That is crazy. Been there since 2022 also...! > > A possible fix for this would be to rename PROT_NONE in the enum to PROT_TYPE_NONE. Yeah this is the correct fix, IMO, but you will need to get that sorted with the arch maintainers. I think this suggests we should back out this change for now and try again next cycle given we haven't much time left. Have cc'd s390/kvm for s390 maintainers for their input however! > > The patch causing this problem was created by me based on a suggestion in the review process of another patch that I submitted first: > > https://lore.kernel.org/linux-mm/ee95ddf9-0d00-4523-ad2a-c2410fd0e1a3@lucifer.local/ > > In case '#include <uapi/asm/mman.h>' causes unexpected trouble, we can also take the patch back... What do you think? I guess we need to back this out for the time being, since we're so near the end of the cycle. > > Thanks and regards > Ignacio > > On 5/14/2025 3:05 AM, kernel test robot wrote: > >>> arch/s390/kvm/gaccess.c:344:8: error: duplicate case value: '0' and 'PROT_TYPE_LA' both equal '0' > > For convenience, let me include the top of the original report. The full thing is at https://lore.kernel.org/all/202505140943.IgHDa9s7-lkp@xxxxxxxxx/ The original patch for this is at https://lore.kernel.org/all/20250508-madvise-nohugepage-noop-without-thp-v1-1-e7ceffb197f3@xxxxxxxx/ Original report: tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-new head: 24e96425873f27730d30dcfc639a3995e312e6f2 commit: cd07d277e6acce78e103478ea19a452bcf31013e [320/331] mm: madvise: make MADV_NOHUGEPAGE a no-op if !THP config: s390-randconfig-r062-20250514 +(https://download.01.org/0day-ci/archive/20250514/202505140943.IgHDa9s7-lkp@xxxxxxxxx/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8) reproduce (this is a W=1 build): +(https://download.01.org/0day-ci/archive/20250514/202505140943.IgHDa9s7-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202505140943.IgHDa9s7-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> arch/s390/kvm/gaccess.c:321:2: error: expected identifier 321 | PROT_NONE, | ^ include/uapi/asm-generic/mman-common.h:16:19: note: expanded from macro 'PROT_NONE' 16 | #define PROT_NONE 0x0 /* page can not be accessed */ | ^ >> arch/s390/kvm/gaccess.c:344:8: error: duplicate case value: '0' and 'PROT_TYPE_LA' both equal '0' 344 | case PROT_TYPE_LA: | ^ arch/s390/kvm/gaccess.c:337:8: note: previous case defined here 337 | case PROT_NONE: | ^ include/uapi/asm-generic/mman-common.h:16:19: note: expanded from macro 'PROT_NONE' 16 | #define PROT_NONE 0x0 /* page can not be accessed */ | ^