Re: [PATCH] lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()

From: Christophe Leroy
Date: Fri Jan 24 2020 - 01:26:10 EST




Le 23/01/2020 Ã 19:47, Linus Torvalds a ÃcritÂ:
On Thu, Jan 23, 2020 at 12:34 AM Christophe Leroy
<christophe.leroy@xxxxxx> wrote:

The range passed to user_access_begin() by strncpy_from_user() and
strnlen_user() starts at 'src' and goes up to the limit of userspace
allthough reads will be limited by the 'count' param.

On 32 bits powerpc (book3s/32) access has to be granted for each 256Mbytes
segment and the cost increases with the number of segments to unlock.

Limit the range with 'count' param.

Ack. I'm tempted to take this for 5.5 too, just so that the
unquestionably trivial fixes are in that baseline, and the
infrastructure is ready for any architecture that has issues like
this.

It would be nice, then the user_access_begin stuff for powerpc could go for 5.6 without worring about.

Thanks
Christophe