On Fri, Apr 17, 2020 at 10:59:09AM +0200, Jan Kara wrote: > > - dev = device_create_vargs(bdi_class, NULL, MKDEV(0, 0), bdi, fmt, args); > > + vsnprintf(bdi->dev_name, sizeof(bdi->dev_name), fmt, args); > > + dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name); > > if (IS_ERR(dev)) > > return PTR_ERR(dev); > > > > This can have a sideeffect not only bdi->dev_name will be truncated to 64 > chars (which generally doesn't matter) but possibly also kobject name will > be truncated in the same way. Which may have user visible effects. E.g. > for fs/vboxsf 64 chars need not be enough. So shouldn't we rather do it the > other way around - i.e., let device_create_vargs() create the device name > and then copy to bdi->dev_name whatever fits? I think having them mismatch is worse, as the kobject name is what people look for. Hans, do you know what fc->source typicall contains and if there is much of a problem if it gets truncated/ Can we switch to something else that is guranteed to be 64 charaters or less for the bdi name?