diff options
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 36 |
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 | ||
352 | static void | ||
353 | cifs_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) |