From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>
Subject: Re: [PATCH 1/2] sysfs: attribute_group: allow registration of const bin_attribute
Date: Mon, 18 Nov 2024 15:17:58 +0100 [thread overview]
Message-ID: <2024111843-olive-handball-c703@gregkh> (raw)
In-Reply-To: <71fe4030-d6a1-47da-b8a7-28b899187168@t-8ch.de>
On Mon, Nov 18, 2024 at 12:36:06PM +0100, Thomas Weißschuh wrote:
> Hi Greg,
>
> On 2024-11-15 17:42:48+0100, Thomas Weißschuh wrote:
>
> > [..]
>
> > diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
> > index d713a6445a6267145a7014f308df3bb25b8c3287..0f2fcd244523f050c5286f19d4fe1846506f9214 100644
> > --- a/include/linux/sysfs.h
> > +++ b/include/linux/sysfs.h
> > @@ -106,7 +106,10 @@ struct attribute_group {
> > const struct bin_attribute *,
> > int);
> > struct attribute **attrs;
> > - struct bin_attribute **bin_attrs;
> > + union {
> > + struct bin_attribute **bin_attrs;
> > + const struct bin_attribute *const *bin_attrs_new;
> > + };
>
> Unfortunately this triggers warnings in two drivers.
> These incorrectly have a trailing NULL literal in their struct attribute
> definition (full list at the end of the mail):
>
> >> drivers/perf/arm-ni.c:248:63: warning: missing braces around initializer [-Wmissing-braces]
> 248 | static const struct attribute_group arm_ni_other_attr_group = {
> | ^
>
>
> vim +248 drivers/perf/arm-ni.c
>
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 247
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 @248 static const struct attribute_group arm_ni_other_attr_group = {
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 249 .attrs = arm_ni_other_attrs,
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 250 NULL
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 251 };
> 4d5a7680f2b4d0 Robin Murphy 2024-09-04 252
>
> These trailing NULLs should first be removed.
> How do you want to proceed?
Odd, it passed 0-day testing.
Just send me a patch to fix up these obvious problems, strange it built
in the first place (it's a mix of named and not named identifiers, I
thought the compiler would complain about that...)
> Cocci script and results, only the first two results are relevant at
> this moment.
>
> virtual patch
>
> @@
> identifier ag, pattrs;
> @@
>
> struct attribute_group ag = {
> .attrs = pattrs,
> - NULL
> };
>
> diff -u -p a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
> --- a/drivers/s390/char/con3215.c
> +++ b/drivers/s390/char/con3215.c
> @@ -803,7 +803,6 @@ static struct attribute *con3215_drv_att
>
> static struct attribute_group con3215_drv_attr_group = {
> .attrs = con3215_drv_attrs,
> - NULL,
> };
>
> static const struct attribute_group *con3215_drv_attr_groups[] = {
> diff -u -p a/drivers/perf/arm-ni.c b/drivers/perf/arm-ni.c
> --- a/drivers/perf/arm-ni.c
> +++ b/drivers/perf/arm-ni.c
> @@ -247,7 +247,6 @@ static struct attribute *arm_ni_other_at
>
> static const struct attribute_group arm_ni_other_attr_group = {
> .attrs = arm_ni_other_attrs,
> - NULL
> };
>
> static const struct attribute_group *arm_ni_attr_groups[] = {
> diff -u -p a/kernel/cpu.c b/kernel/cpu.c
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -2866,7 +2866,6 @@ static struct attribute *cpuhp_cpu_attrs
> static const struct attribute_group cpuhp_cpu_attr_group = {
> .attrs = cpuhp_cpu_attrs,
> .name = "hotplug",
> - NULL
> };
>
> static ssize_t states_show(struct device *dev,
> @@ -2898,7 +2897,6 @@ static struct attribute *cpuhp_cpu_root_
> static const struct attribute_group cpuhp_cpu_root_attr_group = {
> .attrs = cpuhp_cpu_root_attrs,
> .name = "hotplug",
> - NULL
> };
>
> #ifdef CONFIG_HOTPLUG_SMT
> @@ -3020,7 +3018,6 @@ static struct attribute *cpuhp_smt_attrs
> static const struct attribute_group cpuhp_smt_attr_group = {
> .attrs = cpuhp_smt_attrs,
> .name = "smt",
> - NULL
> };
>
> static int __init cpu_smt_sysfs_init(void)
Looks sane, send me a patch?
thanks,
greg k-h
next prev parent reply other threads:[~2024-11-18 14:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-15 16:42 [PATCH 0/2] sysfs: attribute_group: allow registration of const bin_attribute Thomas Weißschuh
2024-11-15 16:42 ` [PATCH 1/2] " Thomas Weißschuh
2024-11-18 11:36 ` Thomas Weißschuh
2024-11-18 14:17 ` Greg Kroah-Hartman [this message]
2024-11-15 16:42 ` [PATCH 2/2] driver core: Constify bin_attribute definitions Thomas Weißschuh
2024-11-15 18:37 ` [PATCH 0/2] sysfs: attribute_group: allow registration of const bin_attribute Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024111843-olive-handball-c703@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.