Fwd: [PATCH] cifs: show the "w" bit for writeable /proc/fs/cifs/* files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---------- Forwarded message ----------
From: Steve French <smfrench@xxxxxxxxx>
Date: Thu, May 24, 2018 at 1:53 AM
Subject: Re: [PATCH] cifs: show the "w" bit for writeable /proc/fs/cifs/* files
To: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
Cc: linux-cifs <linux-cifs@xxxxxxxxxxxxxxx>


merged into cifs-2.6.git for-next

I also added a patch to allow use to load "smb3" instead of just
"cifs" ("modprobe smb3" will now work not just "modprobe cifs" - we
really want to be encouraging people to use SMB3 and later for
security reasons (among others) and this will allow us to use the more
logical name 'smb3')

https://git.samba.org/?p=sfrench/cifs-2.6.git;a=commit;h=64a051adf5911e8a71a46413c60beaf17ce7143d

On Wed, May 23, 2018 at 11:18 PM, Ronnie Sahlberg <lsahlber@xxxxxxxxxx> wrote:
>
> RHBZ: 1539612
>
> Lets show the "w" bit for those files have a .write interface to set/enable/...
> the feature.
>
> Reported-by: Xiaoli Feng <xifeng@xxxxxxxxxx>
> Signed-off-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
> ---
>  fs/cifs/cifs_debug.c | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
> index 9d69ea433330..22eb7b3c44fb 100644
> --- a/fs/cifs/cifs_debug.c
> +++ b/fs/cifs/cifs_debug.c
> @@ -500,32 +500,32 @@ cifs_proc_init(void)
>         proc_create("DebugData", 0, proc_fs_cifs, &cifs_debug_data_proc_fops);
>
>  #ifdef CONFIG_CIFS_STATS
> -       proc_create("Stats", 0, proc_fs_cifs, &cifs_stats_proc_fops);
> +       proc_create("Stats", 0644, proc_fs_cifs, &cifs_stats_proc_fops);
>  #endif /* STATS */
> -       proc_create("cifsFYI", 0, proc_fs_cifs, &cifsFYI_proc_fops);
> -       proc_create("traceSMB", 0, proc_fs_cifs, &traceSMB_proc_fops);
> -       proc_create("LinuxExtensionsEnabled", 0, proc_fs_cifs,
> +       proc_create("cifsFYI", 0644, proc_fs_cifs, &cifsFYI_proc_fops);
> +       proc_create("traceSMB", 0644, proc_fs_cifs, &traceSMB_proc_fops);
> +       proc_create("LinuxExtensionsEnabled", 0644, proc_fs_cifs,
>                     &cifs_linux_ext_proc_fops);
> -       proc_create("SecurityFlags", 0, proc_fs_cifs,
> +       proc_create("SecurityFlags", 0644, proc_fs_cifs,
>                     &cifs_security_flags_proc_fops);
> -       proc_create("LookupCacheEnabled", 0, proc_fs_cifs,
> +       proc_create("LookupCacheEnabled", 0644, proc_fs_cifs,
>                     &cifs_lookup_cache_proc_fops);
>  #ifdef CONFIG_CIFS_SMB_DIRECT
> -       proc_create("rdma_readwrite_threshold", 0, proc_fs_cifs,
> +       proc_create("rdma_readwrite_threshold", 0644, proc_fs_cifs,
>                 &cifs_rdma_readwrite_threshold_proc_fops);
> -       proc_create("smbd_max_frmr_depth", 0, proc_fs_cifs,
> +       proc_create("smbd_max_frmr_depth", 0644, proc_fs_cifs,
>                 &cifs_smbd_max_frmr_depth_proc_fops);
> -       proc_create("smbd_keep_alive_interval", 0, proc_fs_cifs,
> +       proc_create("smbd_keep_alive_interval", 0644, proc_fs_cifs,
>                 &cifs_smbd_keep_alive_interval_proc_fops);
> -       proc_create("smbd_max_receive_size", 0, proc_fs_cifs,
> +       proc_create("smbd_max_receive_size", 0644, proc_fs_cifs,
>                 &cifs_smbd_max_receive_size_proc_fops);
> -       proc_create("smbd_max_fragmented_recv_size", 0, proc_fs_cifs,
> +       proc_create("smbd_max_fragmented_recv_size", 0644, proc_fs_cifs,
>                 &cifs_smbd_max_fragmented_recv_size_proc_fops);
> -       proc_create("smbd_max_send_size", 0, proc_fs_cifs,
> +       proc_create("smbd_max_send_size", 0644, proc_fs_cifs,
>                 &cifs_smbd_max_send_size_proc_fops);
> -       proc_create("smbd_send_credit_target", 0, proc_fs_cifs,
> +       proc_create("smbd_send_credit_target", 0644, proc_fs_cifs,
>                 &cifs_smbd_send_credit_target_proc_fops);
> -       proc_create("smbd_receive_credit_max", 0, proc_fs_cifs,
> +       proc_create("smbd_receive_credit_max", 0644, proc_fs_cifs,
>                 &cifs_smbd_receive_credit_max_proc_fops);
>  #endif
>  }
> --
> 2.13.3
>



-- 
Thanks,

Steve



-- 
Thanks,

Steve
From 64a051adf5911e8a71a46413c60beaf17ce7143d Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@xxxxxxxxxxxxx>
Date: Wed, 23 May 2018 21:44:53 -0500
Subject: [PATCH 1/2] smb3: add module alias for smb3 to cifs.ko

We really don't want to be encouraging people to use the old
(less secure) cifs dialect (SMB1) and it can be confusing for them
with SMB3 (or later) being recommended but the module name is cifs.

Add a module alias for "smb3" to cifs.ko to make this less confusing.

Signed-off-by: Steve French <smfrench@xxxxxxxxx>
---
 fs/cifs/cifsfs.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 62f166270459..645bb88f0ee4 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -899,6 +899,17 @@ struct file_system_type cifs_fs_type = {
 	/*  .fs_flags */
 };
 MODULE_ALIAS_FS("cifs");
+
+struct file_system_type smb3_fs_type = {
+	.owner = THIS_MODULE,
+	.name = "smb3",
+	.mount = cifs_do_mount,
+	.kill_sb = cifs_kill_sb,
+	/*  .fs_flags */
+};
+MODULE_ALIAS_FS("smb3");
+MODULE_ALIAS("smb3");
+
 const struct inode_operations cifs_dir_inode_ops = {
 	.create = cifs_create,
 	.atomic_open = cifs_atomic_open,
@@ -1437,6 +1448,12 @@ init_cifs(void)
 	if (rc)
 		goto out_init_cifs_idmap;
 
+	rc = register_filesystem(&smb3_fs_type);
+	if (rc) {
+		unregister_filesystem(&cifs_fs_type);
+		goto out_init_cifs_idmap;
+	}
+
 	return 0;
 
 out_init_cifs_idmap:
@@ -1467,8 +1484,9 @@ init_cifs(void)
 static void __exit
 exit_cifs(void)
 {
-	cifs_dbg(NOISY, "exit_cifs\n");
+	cifs_dbg(NOISY, "exit_smb3\n");
 	unregister_filesystem(&cifs_fs_type);
+	unregister_filesystem(&smb3_fs_type);
 	cifs_dfs_release_automount_timer();
 #ifdef CONFIG_CIFS_ACL
 	exit_cifs_idmap();
-- 
2.17.0


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux