# git rev-parse -q --verify b55129f97aeefd265314e12d98935330e011a14a^{commit} b55129f97aeefd265314e12d98935330e011a14a already have revision, skipping fetch # git checkout -q -f -B kisskb b55129f97aeefd265314e12d98935330e011a14a # git clean -qxdf # < git log -1 # commit b55129f97aeefd265314e12d98935330e011a14a # Author: Christophe Leroy # Date: Mon Jun 15 12:57:59 2020 +0000 # # powerpc/8xx: Provide ptep_get() with 16k pages # # READ_ONCE() now enforces atomic read, which leads to: # # CC mm/gup.o # In file included from ./include/linux/kernel.h:11:0, # from mm/gup.c:2: # In function 'gup_hugepte.constprop', # inlined from 'gup_huge_pd.isra.79' at mm/gup.c:2465:8: # ./include/linux/compiler.h:392:38: error: call to '__compiletime_assert_222' declared with attribute error: Unsupported access size for {READ,WRITE}_ONCE(). # _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) # ^ # ./include/linux/compiler.h:373:4: note: in definition of macro '__compiletime_assert' # prefix ## suffix(); \ # ^ # ./include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' # _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) # ^ # ./include/linux/compiler.h:405:2: note: in expansion of macro 'compiletime_assert' # compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ # ^ # ./include/linux/compiler.h:291:2: note: in expansion of macro 'compiletime_assert_rwonce_type' # compiletime_assert_rwonce_type(x); \ # ^ # mm/gup.c:2428:8: note: in expansion of macro 'READ_ONCE' # pte = READ_ONCE(*ptep); # ^ # In function 'gup_get_pte', # inlined from 'gup_pte_range' at mm/gup.c:2228:9, # inlined from 'gup_pmd_range' at mm/gup.c:2613:15, # inlined from 'gup_pud_range' at mm/gup.c:2641:15, # inlined from 'gup_p4d_range' at mm/gup.c:2666:15, # inlined from 'gup_pgd_range' at mm/gup.c:2694:15, # inlined from 'internal_get_user_pages_fast' at mm/gup.c:2795:3: # ./include/linux/compiler.h:392:38: error: call to '__compiletime_assert_219' declared with attribute error: Unsupported access size for {READ,WRITE}_ONCE(). # _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) # ^ # ./include/linux/compiler.h:373:4: note: in definition of macro '__compiletime_assert' # prefix ## suffix(); \ # ^ # ./include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' # _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) # ^ # ./include/linux/compiler.h:405:2: note: in expansion of macro 'compiletime_assert' # compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ # ^ # ./include/linux/compiler.h:291:2: note: in expansion of macro 'compiletime_assert_rwonce_type' # compiletime_assert_rwonce_type(x); \ # ^ # mm/gup.c:2199:9: note: in expansion of macro 'READ_ONCE' # return READ_ONCE(*ptep); # ^ # make[2]: *** [mm/gup.o] Error 1 # # Define ptep_get() on 8xx when using 16k pages. # # Fixes: 9e343b467c70 ("READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accesses") # Signed-off-by: Christophe Leroy # Acked-by: Will Deacon # Acked-by: Peter Zijlstra (Intel) # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/341688399c1b102756046d19ea6ce39db1ae4742.1592225558.git.christophe.leroy@csgroup.eu # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 b55129f97aeefd265314e12d98935330e011a14a # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_85xx_tqm8555_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 85xx/tqm8555_defconfig # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_85xx_tqm8555_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_85xx_tqm8555_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_85xx_tqm8555_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- INFO: Uncompressed kernel (size 0x523154) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) INFO: Uncompressed kernel (size 0x512a58) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) Image Name: Linux-5.8.0-rc1-gb55129f97aee Created: Thu Jun 18 23:31:54 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2623985 Bytes = 2562.49 KiB = 2.50 MiB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-5.8.0-rc1-gb55129f97aee Created: Thu Jun 18 23:31:54 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2653224 Bytes = 2591.04 KiB = 2.53 MiB Load Address: 00600000 Entry Point: 00600314 Completed OK # rm -rf /kisskb/build/powerpc-fixes_85xx_tqm8555_defconfig_powerpc-gcc5 # Build took: 0:00:51.601149