diff mbox series

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

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

Commit Message

Randy Dunlap Aug. 7, 2022, 10:09 p.m. UTC
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(+)

Comments

Arnd Bergmann Aug. 8, 2022, 6:57 a.m. UTC | #1
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>
Conor Dooley Aug. 13, 2022, 5:03 p.m. UTC | #2
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
Randy Dunlap Aug. 13, 2022, 5:44 p.m. UTC | #3
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
diff mbox series

Patch

--- 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);