aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r--fs/cifs/cifsfs.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 989442dcfb45..2f0c58646c10 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -257,9 +257,6 @@ static int cifs_permission(struct inode *inode, int mask, unsigned int flags)
257{ 257{
258 struct cifs_sb_info *cifs_sb; 258 struct cifs_sb_info *cifs_sb;
259 259
260 if (flags & IPERM_FLAG_RCU)
261 return -ECHILD;
262
263 cifs_sb = CIFS_SB(inode->i_sb); 260 cifs_sb = CIFS_SB(inode->i_sb);
264 261
265 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) { 262 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) {
@@ -352,6 +349,37 @@ cifs_show_address(struct seq_file *s, struct TCP_Server_Info *server)
352 } 349 }
353} 350}
354 351
352static void
353cifs_show_security(struct seq_file *s, struct TCP_Server_Info *server)
354{
355 seq_printf(s, ",sec=");
356
357 switch (server->secType) {
358 case LANMAN:
359 seq_printf(s, "lanman");
360 break;
361 case NTLMv2:
362 seq_printf(s, "ntlmv2");
363 break;
364 case NTLM:
365 seq_printf(s, "ntlm");
366 break;
367 case Kerberos:
368 seq_printf(s, "krb5");
369 break;
370 case RawNTLMSSP:
371 seq_printf(s, "ntlmssp");
372 break;
373 default:
374 /* shouldn't ever happen */
375 seq_printf(s, "unknown");
376 break;
377 }
378
379 if (server->sec_mode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
380 seq_printf(s, "i");
381}
382
355/* 383/*
356 * cifs_show_options() is for displaying mount options in /proc/mounts. 384 * cifs_show_options() is for displaying mount options in /proc/mounts.
357 * Not all settable options are displayed but most of the important 385 * Not all settable options are displayed but most of the important
@@ -365,6 +393,8 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m)
365 struct sockaddr *srcaddr; 393 struct sockaddr *srcaddr;
366 srcaddr = (struct sockaddr *)&tcon->ses->server->srcaddr; 394 srcaddr = (struct sockaddr *)&tcon->ses->server->srcaddr;
367 395
396 cifs_show_security(s, tcon->ses->server);
397
368 seq_printf(s, ",unc=%s", tcon->treeName); 398 seq_printf(s, ",unc=%s", tcon->treeName);
369 399
370 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER) 400 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER)