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)
commit63513232f8cd219dcaa5eafae028740ed3067d83
treefda9dadd14db7d82029fd036a8a97d223aea3755
parent05fae7bbc237bc7de0ee9c3dcf85b2572a80e3b5
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: 8d89bd70bc9 ("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