[PATCH v2] kernel/sys_ni: add compat entry for fadvise64_64

Randy Dunlap rdunlap at infradead.org
Sun Aug 7 15:09:34 PDT 2022


When CONFIG_ADVISE_SYSCALLS is not set/enabled and CONFIG_COMPAT is
set/enabled, the riscv compat_syscall_table references
'compat_sys_fadvise64_64', which is not defined:

riscv64-linux-ld: arch/riscv/kernel/compat_syscall_table.o:(.rodata+0x6f8):
undefined reference to `compat_sys_fadvise64_64'

Add 'fadvise64_64' to kernel/sys_ni.c as a conditional COMPAT function
so that when CONFIG_ADVISE_SYSCALLS is not set, there is a fallback
function available.

Fixes: d3ac21cacc24 ("mm: Support compiling out madvise and fadvise")
Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
Suggested-by: Arnd Bergmann <arnd at arndb.de>
Cc: Josh Triplett <josh at joshtriplett.org>
Cc: Paul Walmsley <paul.walmsley at sifive.com>
Cc: Palmer Dabbelt <palmer at dabbelt.com>
Cc: Albert Ou <aou at eecs.berkeley.edu>
Cc: linux-riscv at lists.infradead.org
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: linux-api at vger.kernel.org
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: linux-mm at kvack.org
---
v2: patch kernel/sys_ni.c (for any arch) instead of arch/riscv's
    unistd.h (Arnd)

 kernel/sys_ni.c |    1 +
 1 file changed, 1 insertion(+)

--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -277,6 +277,7 @@ COND_SYSCALL(landlock_restrict_self);
 
 /* mm/fadvise.c */
 COND_SYSCALL(fadvise64_64);
+COND_SYSCALL_COMPAT(fadvise64_64);
 
 /* mm/, CONFIG_MMU only */
 COND_SYSCALL(swapon);



More information about the linux-riscv mailing list