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

From: Wangshaobo (bobo)
Date: Thu Jan 09 2020 - 03:45:38 EST


Thanks for your reply, I wiil send it in version 2

Thanks,

ÂÂÂ ÂÂÂ ÂÂÂ wangshaobo

å 2020/1/9 14:54, Dominik Brodowski åé:
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

.