Message ID | 20241222-sysfs-const-bin_attr-usbip-v1-1-20d611a9bfa4@weissschuh.net |
---|---|
State | New |
Headers | show |
Series | usbip: vudc: Constify 'struct bin_attribute' | expand |
On 12/22/24 13:13, Thomas Weißschuh wrote: > The sysfs core now allows instances of 'struct bin_attribute' to be > moved into read-only memory. Make use of that to protect them against > accidental or malicious modifications. > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > --- > drivers/usb/usbip/vudc_sysfs.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c > index 907a43a008964d647d19f9631faf4a443bc00019..2aae3edfc81369e3f84aadec7050356a4347c104 100644 > --- a/drivers/usb/usbip/vudc_sysfs.c > +++ b/drivers/usb/usbip/vudc_sysfs.c > @@ -67,7 +67,7 @@ int get_gadget_descs(struct vudc *udc) > * Exposes device descriptor from the gadget driver. > */ > static ssize_t dev_desc_read(struct file *file, struct kobject *kobj, > - struct bin_attribute *attr, char *out, > + const struct bin_attribute *attr, char *out, > loff_t off, size_t count) > { > struct device *dev = kobj_to_dev(kobj); > @@ -88,7 +88,7 @@ static ssize_t dev_desc_read(struct file *file, struct kobject *kobj, > spin_unlock_irqrestore(&udc->lock, flags); > return ret; > } > -static BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor)); > +static const BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor)); > > static ssize_t usbip_sockfd_store(struct device *dev, > struct device_attribute *attr, > @@ -252,14 +252,14 @@ static struct attribute *dev_attrs[] = { > NULL, > }; > > -static struct bin_attribute *dev_bin_attrs[] = { > +static const struct bin_attribute *const dev_bin_attrs[] = { > &bin_attr_dev_desc, > NULL, > }; > > static const struct attribute_group vudc_attr_group = { > .attrs = dev_attrs, > - .bin_attrs = dev_bin_attrs, > + .bin_attrs_new = dev_bin_attrs, > }; > > const struct attribute_group *vudc_groups[] = { > > --- > base-commit: bcde95ce32b666478d6737219caa4f8005a8f201 > change-id: 20241222-sysfs-const-bin_attr-usbip-2255bb1238ad > > Best regards, Looks good to me. Acked-by: Shuah Khan <skhan@linuxfoundation.org> Greg, please take this up. thanks, -- Shuah
diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c index 907a43a008964d647d19f9631faf4a443bc00019..2aae3edfc81369e3f84aadec7050356a4347c104 100644 --- a/drivers/usb/usbip/vudc_sysfs.c +++ b/drivers/usb/usbip/vudc_sysfs.c @@ -67,7 +67,7 @@ int get_gadget_descs(struct vudc *udc) * Exposes device descriptor from the gadget driver. */ static ssize_t dev_desc_read(struct file *file, struct kobject *kobj, - struct bin_attribute *attr, char *out, + const struct bin_attribute *attr, char *out, loff_t off, size_t count) { struct device *dev = kobj_to_dev(kobj); @@ -88,7 +88,7 @@ static ssize_t dev_desc_read(struct file *file, struct kobject *kobj, spin_unlock_irqrestore(&udc->lock, flags); return ret; } -static BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor)); +static const BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor)); static ssize_t usbip_sockfd_store(struct device *dev, struct device_attribute *attr, @@ -252,14 +252,14 @@ static struct attribute *dev_attrs[] = { NULL, }; -static struct bin_attribute *dev_bin_attrs[] = { +static const struct bin_attribute *const dev_bin_attrs[] = { &bin_attr_dev_desc, NULL, }; static const struct attribute_group vudc_attr_group = { .attrs = dev_attrs, - .bin_attrs = dev_bin_attrs, + .bin_attrs_new = dev_bin_attrs, }; const struct attribute_group *vudc_groups[] = {
The sysfs core now allows instances of 'struct bin_attribute' to be moved into read-only memory. Make use of that to protect them against accidental or malicious modifications. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> --- drivers/usb/usbip/vudc_sysfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- base-commit: bcde95ce32b666478d6737219caa4f8005a8f201 change-id: 20241222-sysfs-const-bin_attr-usbip-2255bb1238ad Best regards,