RE: [PATCH 4.19 56/81] kernel/sysctl.c: do not override max_threads provided by userspace

From: David Laight
Date: Thu Oct 17 2019 - 07:25:54 EST


From: Michal Hocko
> Sent: 17 October 2019 12:05
...
> > Plus, I don't see any locking here, should this be WRITE_ONCE() at
> > minimum?
>
> Why would that matter? Do you expect several root processes race to set
> the value?

One of them wins. No one is going to notice is the value is set an extra time.

WRITE_ONCE() is rarely required.
Probably only if other code is going to update the value after seeing the first write.
(eg if you are unlocking a mutex - although they have to be more complex)

READ_ONCE() is a different matter.
IMHO the compiler shouldn't be allowed to do more reads than the source requests.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)