Patch "nfs4: Fix kmemleak when allocate slot failed" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    nfs4: Fix kmemleak when allocate slot failed

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     nfs4-fix-kmemleak-when-allocate-slot-failed.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 29e76292a971f9ab5acd9be5a7eb6540ddb893e6
Author: Zhang Xiaoxu <zhangxiaoxu5@xxxxxxxxxx>
Date:   Thu Oct 20 11:20:54 2022 +0800

    nfs4: Fix kmemleak when allocate slot failed
    
    [ Upstream commit 7e8436728e22181c3f12a5dbabd35ed3a8b8c593 ]
    
    If one of the slot allocate failed, should cleanup all the other
    allocated slots, otherwise, the allocated slots will leak:
    
      unreferenced object 0xffff8881115aa100 (size 64):
        comm ""mount.nfs"", pid 679, jiffies 4294744957 (age 115.037s)
        hex dump (first 32 bytes):
          00 cc 19 73 81 88 ff ff 00 a0 5a 11 81 88 ff ff  ...s......Z.....
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<000000007a4c434a>] nfs4_find_or_create_slot+0x8e/0x130
          [<000000005472a39c>] nfs4_realloc_slot_table+0x23f/0x270
          [<00000000cd8ca0eb>] nfs40_init_client+0x4a/0x90
          [<00000000128486db>] nfs4_init_client+0xce/0x270
          [<000000008d2cacad>] nfs4_set_client+0x1a2/0x2b0
          [<000000000e593b52>] nfs4_create_server+0x300/0x5f0
          [<00000000e4425dd2>] nfs4_try_get_tree+0x65/0x110
          [<00000000d3a6176f>] vfs_get_tree+0x41/0xf0
          [<0000000016b5ad4c>] path_mount+0x9b3/0xdd0
          [<00000000494cae71>] __x64_sys_mount+0x190/0x1d0
          [<000000005d56bdec>] do_syscall_64+0x35/0x80
          [<00000000687c9ae4>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
    
    Fixes: abf79bb341bf ("NFS: Add a slot table to struct nfs_client for NFSv4.0 transport blocking")
    Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@xxxxxxxxxx>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index 3671a51fe5eb..1f4bdcda3fda 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -346,6 +346,7 @@ int nfs40_init_client(struct nfs_client *clp)
 	ret = nfs4_setup_slot_table(tbl, NFS4_MAX_SLOT_TABLE,
 					"NFSv4.0 transport Slot table");
 	if (ret) {
+		nfs4_shutdown_slot_table(tbl);
 		kfree(tbl);
 		return ret;
 	}



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux