[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a9842ec6-a7c4-4d17-98e2-c59b4d0ec3af@linux.dev>
Date: Tue, 24 Dec 2024 11:17:51 +0000
From: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
To: Thomas Weißschuh <linux@...ssschuh.net>,
Richard Cochran <richardcochran@...il.com>,
Jonathan Lemon <jonathan.lemon@...il.com>,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next] ptp: ocp: constify 'struct bin_attribute'
On 22/12/2024 20:08, 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@...ssschuh.net>
Thanks!
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
> ---
> drivers/ptp/ptp_ocp.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c
> index 5feecaadde8e05a2a2bb462094434e47e5336400..7f08c70d81230530fda459eefa9b7098dcbba79f 100644
> --- a/drivers/ptp/ptp_ocp.c
> +++ b/drivers/ptp/ptp_ocp.c
> @@ -3692,7 +3692,7 @@ DEVICE_FREQ_GROUP(freq4, 3);
>
> static ssize_t
> disciplining_config_read(struct file *filp, struct kobject *kobj,
> - struct bin_attribute *bin_attr, char *buf,
> + const struct bin_attribute *bin_attr, char *buf,
> loff_t off, size_t count)
> {
> struct ptp_ocp *bp = dev_get_drvdata(kobj_to_dev(kobj));
> @@ -3727,7 +3727,7 @@ disciplining_config_read(struct file *filp, struct kobject *kobj,
>
> static ssize_t
> disciplining_config_write(struct file *filp, struct kobject *kobj,
> - struct bin_attribute *bin_attr, char *buf,
> + const struct bin_attribute *bin_attr, char *buf,
> loff_t off, size_t count)
> {
> struct ptp_ocp *bp = dev_get_drvdata(kobj_to_dev(kobj));
> @@ -3750,11 +3750,11 @@ disciplining_config_write(struct file *filp, struct kobject *kobj,
>
> return err;
> }
> -static BIN_ATTR_RW(disciplining_config, OCP_ART_CONFIG_SIZE);
> +static const BIN_ATTR_RW(disciplining_config, OCP_ART_CONFIG_SIZE);
>
> static ssize_t
> temperature_table_read(struct file *filp, struct kobject *kobj,
> - struct bin_attribute *bin_attr, char *buf,
> + const struct bin_attribute *bin_attr, char *buf,
> loff_t off, size_t count)
> {
> struct ptp_ocp *bp = dev_get_drvdata(kobj_to_dev(kobj));
> @@ -3789,7 +3789,7 @@ temperature_table_read(struct file *filp, struct kobject *kobj,
>
> static ssize_t
> temperature_table_write(struct file *filp, struct kobject *kobj,
> - struct bin_attribute *bin_attr, char *buf,
> + const struct bin_attribute *bin_attr, char *buf,
> loff_t off, size_t count)
> {
> struct ptp_ocp *bp = dev_get_drvdata(kobj_to_dev(kobj));
> @@ -3812,7 +3812,7 @@ temperature_table_write(struct file *filp, struct kobject *kobj,
>
> return err;
> }
> -static BIN_ATTR_RW(temperature_table, OCP_ART_TEMP_TABLE_SIZE);
> +static const BIN_ATTR_RW(temperature_table, OCP_ART_TEMP_TABLE_SIZE);
>
> static struct attribute *fb_timecard_attrs[] = {
> &dev_attr_serialnum.attr,
> @@ -3867,7 +3867,7 @@ static struct attribute *art_timecard_attrs[] = {
> NULL,
> };
>
> -static struct bin_attribute *bin_art_timecard_attrs[] = {
> +static const struct bin_attribute *const bin_art_timecard_attrs[] = {
> &bin_attr_disciplining_config,
> &bin_attr_temperature_table,
> NULL,
> @@ -3875,7 +3875,7 @@ static struct bin_attribute *bin_art_timecard_attrs[] = {
>
> static const struct attribute_group art_timecard_group = {
> .attrs = art_timecard_attrs,
> - .bin_attrs = bin_art_timecard_attrs,
> + .bin_attrs_new = bin_art_timecard_attrs,
> };
>
> static const struct ocp_attr_group art_timecard_groups[] = {
>
> ---
> base-commit: bcde95ce32b666478d6737219caa4f8005a8f201
> change-id: 20241222-sysfs-const-bin_attr-ptp-7aec7d5332a8
>
> Best regards,
Powered by blists - more mailing lists