Daniel Díaz daniel.diaz@linaro.org writes:
We see this build regression on PowerPC with GCC-8 and GCC-12: -----8<----- /builds/linux/arch/powerpc/kernel/rtas_flash.c: In function 'rtas_flash_init': /builds/linux/arch/powerpc/kernel/rtas_flash.c:717:22: error: implicit declaration of function 'kmem_cache_create_usercopy'; did you mean 'kmem_cache_create'? [-Werror=implicit-function-declaration] flash_block_cache = kmem_cache_create_usercopy("rtas_flash_cache", ^~~~~~~~~~~~~~~~~~~~~~~~~~ kmem_cache_create /builds/linux/arch/powerpc/kernel/rtas_flash.c:717:20: error: assignment to 'struct kmem_cache *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion] flash_block_cache = kmem_cache_create_usercopy("rtas_flash_cache", ^ ----->8-----
That's on defconfig and cell_defconfig.
Bisection points to "powerpc/rtas_flash: allow user copy to flash block cache objects" (5190538c66e5). Reverting that patch makes the build pass again.
That change should not be applied to 4.14.x. The problem it fixes is not present in that version.