Alexander Sverdlin
c520943a00
nfsd: Fix nsfd startup race (again)
...
commit b10252c7ae9c9d7c90552f88b544a44ee773af64 upstream.
Commit bd5ae9288d64 ("nfsd: register pernet ops last, unregister first")
has re-opened rpc_pipefs_event() race against nfsd_net_id registration
(register_pernet_subsys()) which has been fixed by commit bb7ffbf29e76
("nfsd: fix nsfd startup race triggering BUG_ON").
Restore the order of register_pernet_subsys() vs register_cld_notifier().
Add WARN_ON() to prevent a future regression.
Crash info:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000012
CPU: 8 PID: 345 Comm: mount Not tainted 5.4.144-... #1
pc : rpc_pipefs_event+0x54/0x120 [nfsd]
lr : rpc_pipefs_event+0x48/0x120 [nfsd]
Call trace:
rpc_pipefs_event+0x54/0x120 [nfsd]
blocking_notifier_call_chain
rpc_fill_super
get_tree_keyed
rpc_fs_get_tree
vfs_get_tree
do_mount
ksys_mount
__arm64_sys_mount
el0_svc_handler
el0_svc
Fixes: bd5ae9288d64 ("nfsd: register pernet ops last, unregister first")
Cc: stable@vger.kernel.org
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-14 11:32:39 +01:00
..
2019-08-28 21:13:45 -04:00
2020-09-25 08:18:57 -06:00
2020-06-01 17:44:45 -04:00
2020-10-02 09:37:42 -04:00
2019-07-03 16:57:17 +02:00
2021-03-25 09:04:08 +01:00
2020-02-06 11:22:55 -05:00
2021-04-07 15:00:03 +02:00
2020-09-25 18:01:26 -04:00
2020-07-24 17:25:13 -04:00
2020-10-12 10:29:44 -04:00
2020-10-12 10:29:44 -04:00
2020-11-05 17:20:12 -05:00
2021-01-23 16:03:58 +01:00
2021-04-07 15:00:05 +02:00
2020-07-13 17:28:46 -04:00
2020-08-23 17:36:59 -05:00
2021-05-14 09:50:13 +02:00
2021-12-14 11:32:39 +01:00
2021-12-14 11:32:39 +01:00
2021-10-13 10:04:24 +02:00
2020-09-25 18:01:28 -04:00
2021-12-14 11:32:39 +01:00
2020-07-13 17:27:03 -04:00
2020-08-23 17:36:59 -05:00
2019-12-19 17:46:08 -05:00
2021-09-08 08:49:01 +02:00
2020-12-30 11:53:44 +01:00
2020-10-12 10:29:44 -04:00
2020-09-25 18:01:26 -04:00
2020-02-04 03:05:26 +00:00
2021-07-20 16:05:50 +02:00
2021-07-20 16:05:53 +02:00
2020-07-13 17:27:03 -04:00
2020-10-02 09:37:41 -04:00
2020-10-02 09:37:41 -04:00
2020-10-12 10:29:44 -04:00