diff options
| author | Miaohe Lin <[email protected]> | 2022-04-29 14:40:43 +0800 |
|---|---|---|
| committer | akpm <[email protected]> | 2022-05-27 09:33:43 -0700 |
| commit | 4c6bdb36408fbe4697eb9f1d95a3ddc1d2348448 (patch) | |
| tree | 3022529a6420694abb376108a463c490bfe1de61 | |
| parent | 86d28b0709279ccc636ef9ba267b7f3bcef79a4b (diff) | |
mm/z3fold: fix sheduling while atomic
Patch series "A few fixup patches for z3fold".
This series contains a few fixup patches to fix sheduling while atomic,
fix possible null pointer dereferencing, fix various race conditions and
so on. More details can be found in the respective changelogs.
This patch (of 9):
z3fold's page_lock is always held when calling alloc_slots. So gfp should
be GFP_ATOMIC to avoid "scheduling while atomic" bug.
Link: https://lkml.kernel.org/r/[email protected]
Link: https://lkml.kernel.org/r/[email protected]
Fixes: fc5488651c7d ("z3fold: simplify freeing slots")
Signed-off-by: Miaohe Lin <[email protected]>
Reviewed-by: Vitaly Wool <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
| -rw-r--r-- | mm/z3fold.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mm/z3fold.c b/mm/z3fold.c index 83b5a3514427..c2260f5a5885 100644 --- a/mm/z3fold.c +++ b/mm/z3fold.c @@ -941,8 +941,7 @@ lookup: } if (zhdr && !zhdr->slots) - zhdr->slots = alloc_slots(pool, - can_sleep ? GFP_NOIO : GFP_ATOMIC); + zhdr->slots = alloc_slots(pool, GFP_ATOMIC); return zhdr; } |