Re: [PATCH 1/6] syscalls: use uaccess_kernel in addr_limit_user_check
From: Christoph Hellwig
Date: Tue Jul 21 2020 - 01:35:50 EST
On Mon, Jul 20, 2020 at 10:30:30PM -0700, Guenter Roeck wrote:
> Guess I lost it somewhere. Are you saying the check was wrong all along
> and your patch fixed it ?
Oh, it is a little complicated.
Normally we have two address space limits, KERNEL_DS and USER_DS,
and they are supposed to be different. armnommu and m68k define them
to the same value for no good reason. That leads to:
uaccess_kernel always returning true as it does a positive check
agains KERNEL_DS, which disables a bunch of drivers like sg and
rdma, and could also lead to really strange and probably broken
results in a few places.
It also leads to the SIGKILL in addr_limit_user_check never
triggering due to the negatÑve check, which is ok as the limits
never are different.