Good catch - added one other minor thing, whitespace in share name could be a space or a tab, so changed that line to: + seq_escape(m, devname, " \t"); from + seq_escape(m, devname, " "); On Wed, Apr 7, 2021 at 12:35 AM Maciek Borzecki <maciek.borzecki@xxxxxxxxx> wrote: > > Commit 653a5efb849a ("cifs: update super_operations to show_devname") > introduced the display of devname for cifs mounts. However, when mounting > a share which has a whitespace in the name, that exact share name is also > displayed in mountinfo. Make sure that all whitespace is escaped. > > Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> > --- > fs/cifs/cifsfs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c > index 099ad9f3660bb28db1b6a9aea9538282b41c6455..3c6cb85b95e207df222248f10cc9df937cdda24e 100644 > --- a/fs/cifs/cifsfs.c > +++ b/fs/cifs/cifsfs.c > @@ -476,7 +476,8 @@ static int cifs_show_devname(struct seq_file *m, struct dentry *root) > seq_puts(m, "none"); > else { > convert_delimiter(devname, '/'); > - seq_puts(m, devname); > + /* escape all spaces in share names */ > + seq_escape(m, devname, " "); > kfree(devname); > } > return 0; > -- > 2.31.1 > -- Thanks, Steve
From 1ee4f33ffa830267d324b0d547facd25dd683a12 Mon Sep 17 00:00:00 2001 From: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Tue, 6 Apr 2021 17:02:29 +0200 Subject: [PATCH] cifs: escape spaces in share names Commit 653a5efb849a ("cifs: update super_operations to show_devname") introduced the display of devname for cifs mounts. However, when mounting a share which has a whitespace in the name, that exact share name is also displayed in mountinfo. Make sure that all whitespace is escaped. Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> # 5.11+ Reviewed-by: Shyam Prasad N <sprasad@xxxxxxxxxxxxx> Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> --- fs/cifs/cifsfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 099ad9f3660b..3c6cb85b95e2 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -476,7 +476,8 @@ static int cifs_show_devname(struct seq_file *m, struct dentry *root) seq_puts(m, "none"); else { convert_delimiter(devname, '/'); - seq_puts(m, devname); + /* escape all spaces in share names */ + seq_escape(m, devname, " \t"); kfree(devname); } return 0; -- 2.27.0