linux/fs/cifs
Sachin Prabhu 4ccd5ccb1c cifs: Create dedicated keyring for spnego operations
[ Upstream commit b74cb9a802 ]

The session key is the default keyring set for request_key operations.
This session key is revoked when the user owning the session logs out.
Any long running daemon processes started by this session ends up with
revoked session keyring which prevents these processes from using the
request_key mechanism from obtaining the krb5 keys.

The problem has been reported by a large number of autofs users. The
problem is also seen with multiuser mounts where the share may be used
by processes run by a user who has since logged out. A reproducer using
automount is available on the Red Hat bz.

The patch creates a new keyring which is used to cache cifs spnego
upcalls.

Red Hat bz: 1267754

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Scott Mayhew <smayhew@redhat.com>
Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-06-06 19:11:09 -04:00
..
asn1.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
cache.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
cifs_debug.c cifs: Ratelimit kernel log messages 2016-02-09 22:57:06 -05:00
cifs_debug.h cifs: Ratelimit kernel log messages 2016-02-09 22:57:06 -05:00
cifs_dfs_ref.c cifs: replace strnicmp with strncasecmp 2014-10-14 02:18:24 +02:00
cifs_fs_sb.h Allow conversion of characters in Mac remap range. Part 1 2014-10-16 15:20:20 -05:00
cifs_spnego.c cifs: Create dedicated keyring for spnego operations 2016-06-06 19:11:09 -04:00
cifs_spnego.h [CIFS] Rename three structures to avoid camel case 2011-05-27 04:34:02 +00:00
cifs_unicode.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
cifs_unicode.h Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
cifs_uniupr.h cifs: correction of unicode header files 2010-08-20 00:46:42 +00:00
cifsacl.c KEYS: Remove key_type::match in favour of overriding default by match_preparse 2014-09-16 17:36:06 +01:00
cifsacl.h cifs: fix SID binary to string conversion 2012-12-11 11:48:49 -06:00
cifsencrypt.c cifs: fix erroneous return value 2016-03-04 10:18:40 -05:00
cifsfs.c cifs: Create dedicated keyring for spnego operations 2016-06-06 19:11:09 -04:00
cifsfs.h Fix cifs_uniqueid_to_ino_t() function for s390x 2016-03-11 09:45:23 -05:00
cifsglob.h Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
cifspdu.h Add missing definitions for CIFS File System Attributes 2014-08-12 23:47:14 -05:00
cifsproto.h cifs: Create dedicated keyring for spnego operations 2016-06-06 19:11:09 -04:00
cifssmb.c CIFS: Fix SMB2+ interim response processing for read requests 2016-03-11 09:45:23 -05:00
connect.c cifs: fix race between call_async() and reconnect() 2016-02-09 22:57:06 -05:00
dir.c Allow mknod and mkfifo on SMB2/SMB3 mounts 2014-10-16 15:20:19 -05:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h DNS: Separate out CIFS DNS Resolver code 2010-08-05 17:17:51 +00:00
export.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
file.c cifs: fix use-after-free bug in find_writable_file 2015-04-24 17:14:01 -04:00
fscache.c NFS client updates for Linux 3.13 2013-11-08 05:57:46 +09:00
fscache.h CIFS: FS-Cache: Uncache unread pages in cifs_readpages() before freeing them 2013-09-18 10:17:03 -05:00
inode.c [SMB3] Do not fall back to SMBWriteX in set_file_size error cases 2015-10-27 22:13:40 -04:00
ioctl.c CIFS: fix type confusion in copy offload ioctl 2015-10-07 10:14:50 -04:00
Kconfig Clarify Kconfig help text for CIFS and SMB2/SMB3 2014-08-25 17:01:05 -05:00
link.c [CIFS] Remove obsolete comment 2014-10-17 17:17:12 -05:00
Makefile cifs: add new case-insensitive conversion routines that are based on wchar_t's 2013-09-08 14:38:05 -05:00
misc.c cifs: convert to print_hex_dump() instead of custom implementation 2016-02-09 22:57:05 -05:00
netmisc.c [CIFS] Fix setting time before epoch (negative time values) 2014-09-14 17:06:36 -05:00
nterr.c CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
nterr.h CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
ntlmssp.h CIFS: Add session setup/logoff capability for SMB2 2012-07-24 21:54:57 +04:00
readdir.c cifs_dbg() outputs an uninitialized buffer in cifs_readdir() 2016-02-09 22:57:06 -05:00
rfc1002pdu.h [CIFS] whitespace cleanup 2007-06-05 18:30:44 +00:00
sess.c fs/cifs: correctly to anonymous authentication for the NTLM(v2) authentication 2016-06-06 19:11:07 -04:00
smb1ops.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
smb2file.c CIFS: Fix wrong filename length for SMB2 2014-08-25 16:45:17 -05:00
smb2glob.h remove directory incorrectly tries to set delete on close on non-empty directories 2016-06-06 19:11:07 -04:00
smb2inode.c remove directory incorrectly tries to set delete on close on non-empty directories 2016-06-06 19:11:07 -04:00
smb2maperror.c Fix problem recognizing symlinks 2014-10-02 14:10:04 -05:00
smb2misc.c Allow conversion of characters in Mac remap range (part 2) 2014-10-16 15:20:20 -05:00
smb2ops.c disabling oplocks/leases via module parm enable_oplocks broken for SMB3 2015-10-27 22:13:39 -04:00
smb2pdu.c remove directory incorrectly tries to set delete on close on non-empty directories 2016-06-06 19:11:07 -04:00
smb2pdu.h add defines for two new file attributes 2014-10-16 15:20:19 -05:00
smb2proto.h remove directory incorrectly tries to set delete on close on non-empty directories 2016-06-06 19:11:07 -04:00
smb2status.h CIFS: Add SMB2 status codes 2012-07-24 10:25:13 -05:00
smb2transport.c CIFS: Use multicredits for SMB 2.1/3 writes 2014-08-02 01:23:03 -05:00
smbencrypt.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
smberr.h cifs: map NT_STATUS_ERROR_WRITE_PROTECTED to -EROFS 2010-08-02 12:40:40 +00:00
smbfsctl.h enable fallocate punch hole ("fallocate -p") for SMB3 2014-08-17 18:12:38 -05:00
transport.c cifs: fix race between call_async() and reconnect() 2016-02-09 22:57:06 -05:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00