BugLink: https://bugs.launchpad.net/bugs/1851550
[ Upstream commit
1047ec868332034d1fbcb2fae19fe6d4cb869ff2 ]
Our client can issue multiple SETCLIENTID operations to the same
server in some circumstances. Ensure that calls to
nfs4_proc_setclientid() after the first one do not overwrite the
previously allocated cl_acceptor string.
unreferenced object 0xffff888461031800 (size 32):
comm "mount.nfs", pid 2227, jiffies
4294822467 (age 1407.749s)
hex dump (first 32 bytes):
6e 66 73 40 6b 6c 69 6d 74 2e 69 62 2e 31 30 31 nfs@klimt.ib.101
35 67 72 61 6e 67 65 72 2e 6e 65 74 00 00 00 00 5granger.net....
backtrace:
[<
00000000ab820188>] __kmalloc+0x128/0x176
[<
00000000eeaf4ec8>] gss_stringify_acceptor+0xbd/0x1a7 [auth_rpcgss]
[<
00000000e85e3382>] nfs4_proc_setclientid+0x34e/0x46c [nfsv4]
[<
000000003d9cf1fa>] nfs40_discover_server_trunking+0x7a/0xed [nfsv4]
[<
00000000b81c3787>] nfs4_discover_server_trunking+0x81/0x244 [nfsv4]
[<
000000000801b55f>] nfs4_init_client+0x1b0/0x238 [nfsv4]
[<
00000000977daf7f>] nfs4_set_client+0xfe/0x14d [nfsv4]
[<
0000000053a68a2a>] nfs4_create_server+0x107/0x1db [nfsv4]
[<
0000000088262019>] nfs4_remote_mount+0x2c/0x59 [nfsv4]
[<
00000000e84a2fd0>] legacy_get_tree+0x2d/0x4c
[<
00000000797e947c>] vfs_get_tree+0x20/0xc7
[<
00000000ecabaaa8>] fc_mount+0xe/0x36
[<
00000000f15fafc2>] vfs_kern_mount+0x74/0x8d
[<
00000000a3ff4e26>] nfs_do_root_mount+0x8a/0xa3 [nfsv4]
[<
00000000d1c2b337>] nfs4_try_mount+0x58/0xad [nfsv4]
[<
000000004c9bddee>] nfs_fs_mount+0x820/0x869 [nfs]
Fixes: f11b2a1cfbf5 ("nfs4: copy acceptor name from context ... ")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Connor Kuehl <connor.kuehl@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>