Tetsuo Handa bd86c69dae NFSD: unregister shrinker when nfsd_init_net() fails
syzbot is reporting UAF read at register_shrinker_prepared() [1], for
commit 7746b32f467b3813 ("NFSD: add shrinker to reap courtesy clients on
low memory condition") missed that nfsd4_leases_net_shutdown() from
nfsd_exit_net() is called only when nfsd_init_net() succeeded.
If nfsd_init_net() fails due to nfsd_reply_cache_init() failure,
register_shrinker() from nfsd4_init_leases_net() has to be undone
before nfsd_init_net() returns.

Link: https://syzkaller.appspot.com/bug?extid=ff796f04613b4c84ad89 [1]
Reported-by: syzbot <syzbot+ff796f04613b4c84ad89@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 7746b32f467b3813 ("NFSD: add shrinker to reap courtesy clients on low memory condition")
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-10-11 10:08:26 -04:00
..
2022-02-02 07:49:59 -07:00
2021-12-03 18:44:06 +01:00
2021-01-25 09:36:28 -05:00
2022-03-11 10:25:14 -05:00
2021-10-02 15:51:10 -04:00
2022-03-11 10:25:14 -05:00
2022-09-26 14:02:47 -04:00
2022-09-26 14:02:47 -04:00
2021-12-13 13:42:51 -05:00
2022-09-26 14:02:49 -04:00
2018-09-25 20:34:54 -04:00