summaryrefslogtreecommitdiff
path: root/%3fh%3dv3.5-rc2&id%3d3906fe9bb7f1a2c8667ae54e967dc8690824f4ea?h=v3.5-rc2&id=c...
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2021-10-25 19:16:34 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2021-10-25 11:27:31 -0700
commitcb685432398122053f3e1dc6a1d68924e5b77be4 (patch)
treeb106a405cf11e949a1495c9605c6cbc2c435a105 /%3fh%3dv3.5-rc2&id%3d3906fe9bb7f1a2c8667ae54e967dc8690824f4ea?h=v3.5-rc2&id=cb685432398122053f3e1dc6a1d68924e5b77be4
parentac8a6eba2a117e0fdc04da62ab568d1b7ca4c8f6 (diff)
secretmem: Prevent secretmem_users from wrapping to zero
Commit 110860541f44 ("mm/secretmem: use refcount_t instead of atomic_t") attempted to fix the problem of secretmem_users wrapping to zero and allowing suspend once again. But it was reverted in commit 87066fdd2e30 ("Revert 'mm/secretmem: use refcount_t instead of atomic_t'") because of the problems it caused - a refcount_t was not semantically the right type to use. Instead prevent secretmem_users from wrapping to zero by forbidding new users if the number of users has wrapped from positive to negative. This stops a long way short of reaching the necessary 4 billion users where it wraps to zero again, so there's no need to be clever with special anti-wrap types or checking the return value from atomic_inc(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Jordy Zomer <jordy@pwning.systems> Cc: Kees Cook <keescook@chromium.org>, Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '%3fh%3dv3.5-rc2&id%3d3906fe9bb7f1a2c8667ae54e967dc8690824f4ea?h=v3.5-rc2&id=cb685432398122053f3e1dc6a1d68924e5b77be4')
0 files changed, 0 insertions, 0 deletions