pipe: buffer limits fixes and cleanups
Status from this message: [merged] pipe-read-buffer-limits-atomically.patch removed from -mm tree
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest7 patches 2 repliesApplied 7/7
- v17 patches 11 repliesSuperseded
Changes in v2 from the cover letter
- Added "Fixes" tag to "pipe: fix off-by-one error when checking buffer limits"
- In pipe_set_size(), checked 'nr_pages' rather than 'size'
- Fixed commit message for "pipe: simplify round_pipe_size()"
Patches in v2 All 7 applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | pipe, sysctl: drop 'min' parameter from pipe-max-size converterfs/ include/ kernel/ | +5 | 0 replies | Applied |
| 2/7 | pipe, sysctl: remove pipe_proc_fn()fs/ include/ include/ +1 more | +5 | 0 replies | Applied |
| 3/7 | pipe: actually allow root to exceed the pipe buffer limitsfs/ | +8 | 0 replies | Applied |
| 4/7 | pipe: fix off-by-one error when checking buffer limitsfs/ | +2 | 0 replies | Applied |
| 5/7 | pipe: reject F_SETPIPE_SZ with size over UINT_MAXfs/ include/ kernel/ | +5 | 0 replies | Applied |
| 6/7 | pipe: simplify round_pipe_size()fs/ | +3 | 0 replies | Applied |
| 7/7 | pipe: read buffer limits atomicallyfs/ | +9 | 0 replies | Applied |
Reviews trailers per patch
4 of 7 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Kees Cook | Willy Tarreau | Joe Lawrence |
|---|---|---|---|
| Series | A-b | A-b | |
| 1/7 | A-b | ||
| 2/7 | |||
| 3/7 | |||
| 4/7 | A-b | ||
| 5/7 | A-b | ||
| 6/7 | |||
| 7/7 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v2 0/7] pipe: buffer limits fixes and cleanups
This series simplifies the sysctl handler for pipe-max-size and fixes another set of bugs related to the pipe buffer limits:
- The root user wasn't allowed to exceed the limits when creating new pipes.
- There was an off-by-one error when checking the limits, so a limit of N was actually treated as N - 1.
- F_SETPIPE_SZ accepted values over UINT_MAX.
- Reading the pipe buffer limits could be racy.
Changed since v1:
- Added "Fixes" tag to "pipe: fix off-by-one error when checking buffer limits"
- In pipe_set_size(), checked 'nr_pages' rather than 'size'
- Fixed commit message for "pipe: simplify round_pipe_size()"
Eric Biggers (7):
pipe, sysctl: drop 'min' parameter from pipe-max-size converter pipe, sysctl: remove pipe_proc_fn()
pipe: actually allow root to exceed the pipe buffer limits
pipe: fix off-by-one error when checking buffer limits
pipe: reject F_SETPIPE_SZ with size over UINT_MAX
pipe: simplify round_pipe_size()
pipe: read buffer limits atomically
fs/pipe.c | 57 ++++++++++++++++++++--------------------------- include/linux/pipe_fs_i.h | 5 ++--- include/linux/sysctl.h | 3 --- kernel/sysctl.c | 33 +++++---------------------- 4 files changed, 32 insertions(+), 66 deletions(-)
Signature · 1 line
2.15.1