cifs: add server conn_id to fscache client cookie
authorShyam Prasad N <sprasad@microsoft.com>
Thu, 2 Dec 2021 07:30:00 +0000 (07:30 +0000)
committerSteve French <stfrench@microsoft.com>
Mon, 7 Feb 2022 21:48:03 +0000 (15:48 -0600)
commitab0115c6c19c070b99764406f7bd7aa0c1a795be
tree90b6c231e3bc2d87240dc52473f31ff931e84030
parent194f224e261ceb14483b41d6028f9fd318eb6fc8
cifs: add server conn_id to fscache client cookie

The fscache client cookie uses the server address
(and port) as the cookie key. This is a problem when
nosharesock is used. Two different connections will
use duplicate cookies. Avoid this by adding
server->conn_id to the key, so that it's guaranteed
that cookie will not be duplicated.

Also, for secondary channels of a session, copy the
fscache pointer from the primary channel. The primary
channel is guaranteed not to go away as long as secondary
channels are in use.  Also addresses minor problem found
by kernel test robot.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/connect.c
fs/cifs/fscache.c