virtiofs: include a newline in sysfs tag

The internal tag string doesn't contain a newline. Append one when
emitting the tag via sysfs.

[Stefan] Orthogonal to the newline issue, sysfs_emit(buf, "%s", fs->tag) is
needed to prevent format string injection.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Fixes: a8f62f50b4 ("virtiofs: export filesystem tags through sysfs")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
Brian Foster 2024-04-25 06:44:00 -04:00 committed by Miklos Szeredi
parent aef8acd79f
commit 96d88f65ad

View File

@ -170,7 +170,7 @@ static ssize_t tag_show(struct kobject *kobj,
{ {
struct virtio_fs *fs = container_of(kobj, struct virtio_fs, kobj); struct virtio_fs *fs = container_of(kobj, struct virtio_fs, kobj);
return sysfs_emit(buf, fs->tag); return sysfs_emit(buf, "%s\n", fs->tag);
} }
static struct kobj_attribute virtio_fs_tag_attr = __ATTR_RO(tag); static struct kobj_attribute virtio_fs_tag_attr = __ATTR_RO(tag);