On Thu, Feb 08, 2024 at 02:32:09PM -0500, Stefan Hajnoczi wrote: > Newlines in virtiofs tags are awkward for users and potential vectors > for string injection attacks. > > Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> > --- > fs/fuse/virtio_fs.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c > index 5f1be1da92ce..de9a38efdf1e 100644 > --- a/fs/fuse/virtio_fs.c > +++ b/fs/fuse/virtio_fs.c > @@ -323,6 +323,16 @@ static int virtio_fs_read_tag(struct virtio_device *vdev, struct virtio_fs *fs) > return -ENOMEM; > memcpy(fs->tag, tag_buf, len); > fs->tag[len] = '\0'; > + > + /* While the VIRTIO specification allows any character, newlines are > + * awkward on mount(8) command-lines and cause problems in the sysfs > + * "tag" attr and uevent TAG= properties. Forbid them. > + */ > + if (strchr(fs->tag, '\n')) { > + dev_err(&vdev->dev, "refusing virtiofs tag with newline character\n"); Please don't let userspace spam mthe kernel log if they are the ones that are setting the tags. Just make this a debug message instead. thanks, greg k-h