summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorVitaly Wool <vitalywool@gmail.com>2019-09-23 15:33:02 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-24 15:54:06 -0700
commit3f9d2b5766aea06042630ac60b7316fd0cebf06f (patch)
tree297838e1dff9482bd655535ee918331a558c3038 /crypto
parent710ec38b0f633ab3e2581f07a73442d809e28ab0 (diff)
z3fold: fix retry mechanism in page reclaim
z3fold_page_reclaim()'s retry mechanism is broken: on a second iteration it will have zhdr from the first one so that zhdr is no longer in line with struct page. That leads to crashes when the system is stressed. Fix that by moving zhdr assignment up. While at it, protect against using already freed handles by using own local slots structure in z3fold_page_reclaim(). Link: http://lkml.kernel.org/r/20190908162919.830388dc7404d1e2c80f4095@gmail.com Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Reported-by: Markus Linnala <markus.linnala@gmail.com> Reported-by: Chris Murphy <bugzilla@colorremedies.com> Reported-by: Agustin Dall'Alba <agustin@dallalba.com.ar> Cc: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name> Cc: Shakeel Butt <shakeelb@google.com> Cc: Henry Burns <henrywolfeburns@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions