Message ID | 20241216-sysfs-const-bin_attr-drm-v1-1-210f2b36b9bf@weissschuh.net (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm: Constify 'struct bin_attribute' | expand |
On Mon, 16 Dec 2024, Thomas Weißschuh <linux@weissschuh.net> 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> Reviewed-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/drm_sysfs.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c > index fb3bbb6adcd16f3f325a2ae8e35f41851c00b272..60c1f26edb6fad23153c32a29fd3be02700fc938 100644 > --- a/drivers/gpu/drm/drm_sysfs.c > +++ b/drivers/gpu/drm/drm_sysfs.c > @@ -261,7 +261,7 @@ static ssize_t enabled_show(struct device *device, > } > > static ssize_t edid_show(struct file *filp, struct kobject *kobj, > - struct bin_attribute *attr, char *buf, loff_t off, > + const struct bin_attribute *attr, char *buf, loff_t off, > size_t count) > { > struct device *connector_dev = kobj_to_dev(kobj); > @@ -315,21 +315,21 @@ static struct attribute *connector_dev_attrs[] = { > NULL > }; > > -static struct bin_attribute edid_attr = { > +static const struct bin_attribute edid_attr = { > .attr.name = "edid", > .attr.mode = 0444, > .size = 0, > - .read = edid_show, > + .read_new = edid_show, > }; > > -static struct bin_attribute *connector_bin_attrs[] = { > +static const struct bin_attribute *const connector_bin_attrs[] = { > &edid_attr, > NULL > }; > > static const struct attribute_group connector_dev_group = { > .attrs = connector_dev_attrs, > - .bin_attrs = connector_bin_attrs, > + .bin_attrs_new = connector_bin_attrs, > }; > > static const struct attribute_group *connector_dev_groups[] = {
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index fb3bbb6adcd16f3f325a2ae8e35f41851c00b272..60c1f26edb6fad23153c32a29fd3be02700fc938 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c @@ -261,7 +261,7 @@ static ssize_t enabled_show(struct device *device, } static ssize_t edid_show(struct file *filp, struct kobject *kobj, - struct bin_attribute *attr, char *buf, loff_t off, + const struct bin_attribute *attr, char *buf, loff_t off, size_t count) { struct device *connector_dev = kobj_to_dev(kobj); @@ -315,21 +315,21 @@ static struct attribute *connector_dev_attrs[] = { NULL }; -static struct bin_attribute edid_attr = { +static const struct bin_attribute edid_attr = { .attr.name = "edid", .attr.mode = 0444, .size = 0, - .read = edid_show, + .read_new = edid_show, }; -static struct bin_attribute *connector_bin_attrs[] = { +static const struct bin_attribute *const connector_bin_attrs[] = { &edid_attr, NULL }; static const struct attribute_group connector_dev_group = { .attrs = connector_dev_attrs, - .bin_attrs = connector_bin_attrs, + .bin_attrs_new = connector_bin_attrs, }; static const struct attribute_group *connector_dev_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/gpu/drm/drm_sysfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)