Vasily Averin 156c80d4e1 race of lockd inetaddr notifiers vs nlmsvc_rqst change
[ Upstream commit 6b18dd1c03e07262ea0866084856b2a3c5ba8d09 ]

lockd_inet[6]addr_event use nlmsvc_rqst without taken nlmsvc_mutex,
nlmsvc_rqst can be changed during execution of notifiers and crash the host.

Patch enables access to nlmsvc_rqst only when it was correctly initialized
and delays its cleanup until notifiers are no longer in use.

Note that nlmsvc_rqst can be temporally set to ERR_PTR, so the "if
(nlmsvc_rqst)" check in notifiers is insufficient on its own.

Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Tested-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:39:08 +01:00
..
2017-12-14 09:53:15 +01:00
2017-12-20 10:10:17 +01:00
2017-08-24 13:23:03 -07:00
2017-12-14 09:53:14 +01:00
2017-11-30 08:40:45 +00:00
2017-09-04 19:05:15 -04:00
2017-11-30 08:40:53 +00:00
2017-10-18 14:51:50 -04:00
2018-01-05 15:48:57 +01:00
2018-02-03 17:38:53 +01:00