Re: [PATCH] sys_personality: Add a optional arch hook arch_check_personality() for common sys_personality()

From: Dominik Brodowski
Date: Thu Jan 09 2020 - 02:00:34 EST


On Thu, Jan 09, 2020 at 09:38:46AM +0800, Wang ShaoBo wrote:
> currently arm64 use __arm64_sys_arm64_personality() as its default
> syscall. But using a normal hook arch_check_personality() can reject
> personality settings for special case of different archs.

Thanks for your patch!

> SYSCALL_DEFINE1(personality, unsigned int, personality)
> {
> - unsigned int old = current->personality;
> + int check;
>
> - if (personality != 0xffffffff)
> - set_personality(personality);
> + check = arch_check_personality(personality);
> + if (check)
> + return check;
>
> - return old;
> + return ksys_personality(personality);
> }

Please leave the default check and call to set_personality()
in here and remove the now-unneeded ksys_personality() from
include/linux/syscalls.h

Thanks,
Dominik