aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/net_dropmonitor.py
diff options
context:
space:
mode:
authorEric Biggers <[email protected]>2018-02-06 15:42:08 -0800
committerLinus Torvalds <[email protected]>2018-02-06 18:32:48 -0800
commitf7340761812fc10313e6fcc115e0bc4f7a799112 (patch)
tree2374b679e8378f22800e233b0c69883546616138 /tools/perf/scripts/python/net_dropmonitor.py
parentc4fed5a91fadc8a277b1eda474317b501651dd3e (diff)
pipe: read buffer limits atomically
The pipe buffer limits are accessed without any locking, and may be changed at any time by the sysctl handlers. In theory this could cause problems for expressions like the following: pipe_user_pages_hard && user_bufs > pipe_user_pages_hard ... since the assembly code might reference the 'pipe_user_pages_hard' memory location multiple times, and if the admin removes the limit by setting it to 0, there is a very brief window where processes could incorrectly observe the limit to be exceeded. Fix this by loading the limits with READ_ONCE() prior to use. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Eric Biggers <[email protected]> Acked-by: Kees Cook <[email protected]> Acked-by: Joe Lawrence <[email protected]> Cc: Alexander Viro <[email protected]> Cc: Michael Kerrisk <[email protected]> Cc: Willy Tarreau <[email protected]> Cc: Mikulas Patocka <[email protected]> Cc: "Luis R . Rodriguez" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions