lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 1 Sep 2022 16:48:54 +0200 From: Hans de Goede <hdegoede@...hat.com> To: Jiasheng Jiang <jiasheng@...as.ac.cn>, gregkh@...uxfoundation.org Cc: arnd@...db.de, linux-kernel@...r.kernel.org Subject: Re: [PATCH v3 1/2] virt: vbox: convert to use dev_groups Hi, On 9/1/22 16:46, Jiasheng Jiang wrote: > The driver core supports the ability to handle the creation and removal > of device-specific sysfs files in a race-free manner. Moreover, it can > guarantee the success of creation. Therefore, it should be better to > convert to use dev_groups. > > Fixes: 0ba002bc4393 ("virt: Add vboxguest driver for Virtual Box Guest integration") > Signed-off-by: Jiasheng Jiang <jiasheng@...as.ac.cn> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@...hat.com> Regards, Hans > --- > Change log: > > v2-> v3: > > 1. Switch to use an attribute group. > > v1 -> v2: > > 1. Use gdev->dev instead of dev. > 2. Remove file when creation failed. > --- > drivers/virt/vboxguest/vboxguest_linux.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c > index 4ccfd30c2a30..6fc81347ae72 100644 > --- a/drivers/virt/vboxguest/vboxguest_linux.c > +++ b/drivers/virt/vboxguest/vboxguest_linux.c > @@ -270,6 +270,13 @@ static ssize_t host_features_show(struct device *dev, > static DEVICE_ATTR_RO(host_version); > static DEVICE_ATTR_RO(host_features); > > +static struct attribute *vbg_pci_attrs[] = { > + &dev_attr_host_version.attr, > + &dev_attr_host_features.attr, > + NULL, > +}; > +ATTRIBUTE_GROUPS(vbg_pci); > + > /** > * Does the PCI detection and init of the device. > * > @@ -390,8 +397,6 @@ static int vbg_pci_probe(struct pci_dev *pci, const struct pci_device_id *id) > } > > pci_set_drvdata(pci, gdev); > - device_create_file(dev, &dev_attr_host_version); > - device_create_file(dev, &dev_attr_host_features); > > vbg_info("vboxguest: misc device minor %d, IRQ %d, I/O port %x, MMIO at %pap (size %pap)\n", > gdev->misc_device.minor, pci->irq, gdev->io_port, > @@ -422,8 +427,6 @@ static void vbg_pci_remove(struct pci_dev *pci) > mutex_unlock(&vbg_gdev_mutex); > > free_irq(pci->irq, gdev); > - device_remove_file(gdev->dev, &dev_attr_host_features); > - device_remove_file(gdev->dev, &dev_attr_host_version); > misc_deregister(&gdev->misc_device_user); > misc_deregister(&gdev->misc_device); > vbg_core_exit(gdev); > @@ -488,6 +491,7 @@ MODULE_DEVICE_TABLE(pci, vbg_pci_ids); > > static struct pci_driver vbg_pci_driver = { > .name = DEVICE_NAME, > + .dev_groups = vbg_pci_groups, > .id_table = vbg_pci_ids, > .probe = vbg_pci_probe, > .remove = vbg_pci_remove,
Powered by blists - more mailing lists