[PATCH 5/6] audit: Declare ppc32_classify_syscall()

Cédric Le Goater clg at kaod.org
Mon Aug 23 18:35:09 AEST 2021


On 8/23/21 10:28 AM, Christophe Leroy wrote:
> 
> 
> Le 19/08/2021 à 16:56, Christophe Leroy a écrit :
>>
>>
>> Le 19/08/2021 à 14:56, Cédric Le Goater a écrit :
>>> This fixes a compile error with W=1.
>>>
>>> Cc: Christophe Leroy <christophe.leroy at c-s.fr>
>>> Signed-off-by: Cédric Le Goater <clg at kaod.org>
>>> ---
>>>
>>>   I don't think this is correct. Which file could we use ?
>>
>> I think you can completely remove ppc32_classify_syscall(), and instead add the following in the default case in audit_classify_syscall():
>>
>>       default:
>> +        if (IS_ENABLED(CONFIG_PPC64) && abi == AUDIT_ARCH_PPC)
>> +            return 1;
>>           return 0;
>>
> 
> Forget that comment, it was crazy, because PPC32 and PPC64 use different syscall numbers.
> 
> By the way, I have submitted a patch to completely remove this stuff, see https://patchwork.ozlabs.org/project/linuxppc-dev/patch/dc14509a28a993738b1325211f412be72a4f9b1e.1629701132.git.christophe.leroy@csgroup.eu/

Nice ! Let's merge that instead.

Thanks,

C. 


> 
>>
>>>
>>>   arch/powerpc/include/asm/unistd.h | 3 +++
>>>   arch/powerpc/kernel/audit.c       | 1 -
>>>   2 files changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
>>> index b541c690a31c..d9025a7e973c 100644
>>> --- a/arch/powerpc/include/asm/unistd.h
>>> +++ b/arch/powerpc/include/asm/unistd.h
>>> @@ -47,6 +47,9 @@
>>>   #define __ARCH_WANT_SYS_UTIME
>>>   #define __ARCH_WANT_SYS_NEWFSTATAT
>>>   #define __ARCH_WANT_COMPAT_SYS_SENDFILE
>>> +#ifdef CONFIG_AUDIT
>>> +extern int ppc32_classify_syscall(unsigned int syscall);
>>> +#endif
>>>   #endif
>>>   #define __ARCH_WANT_SYS_FORK
>>>   #define __ARCH_WANT_SYS_VFORK
>>> diff --git a/arch/powerpc/kernel/audit.c b/arch/powerpc/kernel/audit.c
>>> index a2dddd7f3d09..c3c6c6a1069b 100644
>>> --- a/arch/powerpc/kernel/audit.c
>>> +++ b/arch/powerpc/kernel/audit.c
>>> @@ -41,7 +41,6 @@ int audit_classify_arch(int arch)
>>>   int audit_classify_syscall(int abi, unsigned syscall)
>>>   {
>>>   #ifdef CONFIG_PPC64
>>> -    extern int ppc32_classify_syscall(unsigned);
>>>       if (abi == AUDIT_ARCH_PPC)
>>>           return ppc32_classify_syscall(syscall);
>>>   #endif
>>>



More information about the Linuxppc-dev mailing list