Message ID | 20220807220934.5689-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] kernel/sys_ni: add compat entry for fadvise64_64 | expand |
On Mon, Aug 8, 2022 at 12:09 AM Randy Dunlap <rdunlap@infradead.org> wrote: > > 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@infradead.org> > Suggested-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
On 07/08/2022 23:09, Randy Dunlap wrote: > 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. Is this in a 6.0 destined tree somewhere that I've missed? Bumped into it while looking at an unrelated LKP randconfig error. FWIW: Tested-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor. > > Fixes: d3ac21cacc24 ("mm: Support compiling out madvise and fadvise") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Suggested-by: Arnd Bergmann <arnd@arndb.de> > Cc: Josh Triplett <josh@joshtriplett.org> > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Albert Ou <aou@eecs.berkeley.edu> > Cc: linux-riscv@lists.infradead.org > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: linux-api@vger.kernel.org > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: linux-mm@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); > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
On 8/13/22 10:03, Conor.Dooley@microchip.com wrote: > On 07/08/2022 23:09, Randy Dunlap wrote: >> 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. > > Is this in a 6.0 destined tree somewhere that I've missed? > Bumped into it while looking at an unrelated LKP randconfig error. > FWIW: > Tested-by: Conor Dooley <conor.dooley@microchip.com> > Thanks, > Conor. It's in Andrew's mm-hotfixes-unstable branch AFAIK. Thanks. >> >> Fixes: d3ac21cacc24 ("mm: Support compiling out madvise and fadvise") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Suggested-by: Arnd Bergmann <arnd@arndb.de> >> Cc: Josh Triplett <josh@joshtriplett.org> >> Cc: Paul Walmsley <paul.walmsley@sifive.com> >> Cc: Palmer Dabbelt <palmer@dabbelt.com> >> Cc: Albert Ou <aou@eecs.berkeley.edu> >> Cc: linux-riscv@lists.infradead.org >> Cc: Arnd Bergmann <arnd@arndb.de> >> Cc: linux-api@vger.kernel.org >> Cc: Andrew Morton <akpm@linux-foundation.org> >> Cc: linux-mm@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); >> >> _______________________________________________ >> linux-riscv mailing list >> linux-riscv@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-riscv
--- 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);
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@infradead.org> Suggested-by: Arnd Bergmann <arnd@arndb.de> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: linux-riscv@lists.infradead.org Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-api@vger.kernel.org Cc: Andrew Morton <akpm@linux-foundation.org> Cc: linux-mm@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(+)