On Fri, Nov 20, 2015 at 12:12:21PM +0100, Arnd Bergmann wrote: > As reported by Michal Simek, building an ARM64 kernel with CONFIG_UID16 > disabled currently fails because the system call table still needs to > reference the individual function entry points that are provided by > kernel/sys_ni.c in this case, and the declarations are hidden inside > of #ifdef CONFIG_UID16: > > arch/arm64/include/asm/unistd32.h:57:8: error: 'sys_lchown16' undeclared here (not in a function) > __SYSCALL(__NR_lchown, sys_lchown16) > > I believe this problem only exists on ARM64, because older architectures > tend to not need declarations when their system call table is built > in assembly code, while newer architectures tend to not need UID16 > support. ARM64 only uses these system calls for compatibility with > 32-bit ARM binaries. > > This changes the CONFIG_UID16 check into CONFIG_HAVE_UID16, which is > set unconditionally on ARM64 with CONFIG_COMPAT, so we see the > declarations whenever we need them, but otherwise the behavior is > unchanged. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Fixes: af1839eb4bd4 ("Kconfig: clean up the long arch list for the UID16 config option") Applied. Thank. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html