Vasily Averin ea0f3c4ef7 nfsd: memory corruption in nfsd4_lock()
commit e1e8399eee72e9d5246d4d1bcacd793debe34dd3 upstream.

New struct nfsd4_blocked_lock allocated in find_or_allocate_block()
does not initialized nbl_list and nbl_lru.
If conflock allocation fails rollback can call list_del_init()
access uninitialized fields and corrupt memory.

v2: just initialize nbl_list and nbl_lru right after nbl allocation.

Fixes: 76d348fadff5 ("nfsd: have nfsd4_lock use blocking locks for v4.1+ lock")
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-02 17:24:41 +02:00
..
2020-04-02 16:34:33 +02:00
2019-08-06 19:05:23 +02:00
2019-12-17 20:38:33 +01:00
2020-02-28 16:36:05 +01:00
2019-12-17 20:38:44 +01:00
2019-12-17 20:38:15 +01:00
2018-12-21 14:13:04 +01:00
2017-09-04 19:05:15 -04:00
2020-03-11 18:02:43 +01:00
2020-04-24 08:00:38 +02:00
2020-04-02 16:34:21 +02:00