Re: [PATCH] [TRIVIAL] FIX: unintended variable name reuse

From: Steven Rostedt
Date: Tue Apr 30 2013 - 09:04:47 EST


On Tue, 2013-04-30 at 12:02 +0200, dl9pf@xxxxxx wrote:
> From: Jan-Simon MÃller <dl9pf@xxxxxx>
>
> The variable name events_group is already in used and led to a compilation error
> when using clang to build the Linux Kernel . The fix is just to rename the var.
> No functional change. Please apply.

Need to be a little more specific on the problem in the change log. I'm
guessing that the issue is with the events_group define in
perf_event_intel_uncore.h:

#define events_group attr_groups[2]

I can see that causing issues with something like:

struct attribute_group *events_group;

I don't think we really want that to end up being:

struct attribute_group *attr_groups[2];

I'm surprised gcc allowed that :-/

Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

-- Steve

>
> Fix suggested in discussion by PaX Team <pageexec@xxxxxxxxxxx>
> Signed-off-by: Jan-Simon MÃller <dl9pf@xxxxxx>
>
> CC: tglx@xxxxxxxxxxxxx
> CC: hpa@xxxxxxxxx
> CC: rostedt@xxxxxxxxxxx
> CC: a.p.zijlstra@xxxxxxxxx
> CC: paulus@xxxxxxxxx
> CC: mingo@xxxxxxxxxx
> CC: acme@xxxxxxxxxxxxxxxxxx
> CC: x86@xxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx
> ---
> arch/x86/kernel/cpu/perf_event_intel_uncore.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> index d0f9e5a..c01d159 100644
> --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> @@ -3093,7 +3093,7 @@ static void __init uncore_types_exit(struct intel_uncore_type **types)
> static int __init uncore_type_init(struct intel_uncore_type *type)
> {
> struct intel_uncore_pmu *pmus;
> - struct attribute_group *events_group;
> + struct attribute_group *attr_group;
> struct attribute **attrs;
> int i, j;
>
> @@ -3120,19 +3120,19 @@ static int __init uncore_type_init(struct intel_uncore_type *type)
> while (type->event_descs[i].attr.attr.name)
> i++;
>
> - events_group = kzalloc(sizeof(struct attribute *) * (i + 1) +
> - sizeof(*events_group), GFP_KERNEL);
> - if (!events_group)
> + attr_group = kzalloc(sizeof(struct attribute *) * (i + 1) +
> + sizeof(*attr_group), GFP_KERNEL);
> + if (!attr_group)
> goto fail;
>
> - attrs = (struct attribute **)(events_group + 1);
> - events_group->name = "events";
> - events_group->attrs = attrs;
> + attrs = (struct attribute **)(attr_group + 1);
> + attr_group->name = "events";
> + attr_group->attrs = attrs;
>
> for (j = 0; j < i; j++)
> attrs[j] = &type->event_descs[j].attr.attr;
>
> - type->events_group = events_group;
> + type->events_group = attr_group;
> }
>
> type->pmu_group = &uncore_pmu_attr_group;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/