]> git.baikalelectronics.ru Git - kernel.git/commit
NFS prevent double free in async nfs4_exchange_id
authorOlga Kornievskaia <kolga@netapp.com>
Mon, 13 Mar 2017 14:36:19 +0000 (10:36 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 17 Mar 2017 20:06:27 +0000 (16:06 -0400)
commitd20ef4d69f98bcdda905a2d505c296f3b350e9ac
treefda9dadd14db7d82029fd036a8a97d223aea3755
parent0aee1d523f89b6068817d6c3baae622865d7f77b
NFS prevent double free in async nfs4_exchange_id

Since rpc_task is async, the release function should be called which
will free the impl_id, scope, and owner.

Trond pointed at 2 more problems:
-- use of client pointer after free in the nfs4_exchangeid_release() function
-- cl_count mismatch if rpc_run_task() isn't run

Fixes: 8b3f135d663 ("NFS setup async exchange_id")
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Cc: stable@vger.kernel.org # 4.9
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4proc.c