2018-08-10 15:45:07

by Zubin Mithra

[permalink] [raw]
Subject: [PATCH] perf/x86: Add __ro_after_init annotations

x86_pmu_{format,events,attr,caps}_group is written to in
init_hw_perf_events and not modified after. This makes them suitable
candidates for annotating as __ro_after_init.

Signed-off-by: Zubin Mithra <[email protected]>
---
arch/x86/events/core.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 5f4829f10129..88e5f67f5d4c 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -1584,7 +1584,7 @@ static void __init pmu_check_apic(void)

}

-static struct attribute_group x86_pmu_format_group = {
+static struct attribute_group x86_pmu_format_group __ro_after_init = {
.name = "format",
.attrs = NULL,
};
@@ -1715,7 +1715,7 @@ static struct attribute *events_attr[] = {
NULL,
};

-static struct attribute_group x86_pmu_events_group = {
+static struct attribute_group x86_pmu_events_group __ro_after_init = {
.name = "events",
.attrs = events_attr,
};
@@ -2230,7 +2230,7 @@ static struct attribute *x86_pmu_attrs[] = {
NULL,
};

-static struct attribute_group x86_pmu_attr_group = {
+static struct attribute_group x86_pmu_attr_group __ro_after_init = {
.attrs = x86_pmu_attrs,
};

@@ -2248,7 +2248,7 @@ static struct attribute *x86_pmu_caps_attrs[] = {
NULL
};

-static struct attribute_group x86_pmu_caps_group = {
+static struct attribute_group x86_pmu_caps_group __ro_after_init = {
.name = "caps",
.attrs = x86_pmu_caps_attrs,
};
--
2.18.0.597.ga71716f1ad-goog



2018-08-13 22:39:11

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] perf/x86: Add __ro_after_init annotations

On Fri, Aug 10, 2018 at 8:43 AM, Zubin Mithra <[email protected]> wrote:
> x86_pmu_{format,events,attr,caps}_group is written to in
> init_hw_perf_events and not modified after. This makes them suitable
> candidates for annotating as __ro_after_init.
>
> Signed-off-by: Zubin Mithra <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

-Kees

> ---
> arch/x86/events/core.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
> index 5f4829f10129..88e5f67f5d4c 100644
> --- a/arch/x86/events/core.c
> +++ b/arch/x86/events/core.c
> @@ -1584,7 +1584,7 @@ static void __init pmu_check_apic(void)
>
> }
>
> -static struct attribute_group x86_pmu_format_group = {
> +static struct attribute_group x86_pmu_format_group __ro_after_init = {
> .name = "format",
> .attrs = NULL,
> };
> @@ -1715,7 +1715,7 @@ static struct attribute *events_attr[] = {
> NULL,
> };
>
> -static struct attribute_group x86_pmu_events_group = {
> +static struct attribute_group x86_pmu_events_group __ro_after_init = {
> .name = "events",
> .attrs = events_attr,
> };
> @@ -2230,7 +2230,7 @@ static struct attribute *x86_pmu_attrs[] = {
> NULL,
> };
>
> -static struct attribute_group x86_pmu_attr_group = {
> +static struct attribute_group x86_pmu_attr_group __ro_after_init = {
> .attrs = x86_pmu_attrs,
> };
>
> @@ -2248,7 +2248,7 @@ static struct attribute *x86_pmu_caps_attrs[] = {
> NULL
> };
>
> -static struct attribute_group x86_pmu_caps_group = {
> +static struct attribute_group x86_pmu_caps_group __ro_after_init = {
> .name = "caps",
> .attrs = x86_pmu_caps_attrs,
> };
> --
> 2.18.0.597.ga71716f1ad-goog
>



--
Kees Cook
Pixel Security

Subject: [tip:perf/core] perf/x86: Add __ro_after_init annotations

Commit-ID: 2766d2ee960c52adc415931130dd6910158dd04d
Gitweb: https://git.kernel.org/tip/2766d2ee960c52adc415931130dd6910158dd04d
Author: Zubin Mithra <[email protected]>
AuthorDate: Fri, 10 Aug 2018 08:43:14 -0700
Committer: Ingo Molnar <[email protected]>
CommitDate: Mon, 10 Sep 2018 14:55:36 +0200

perf/x86: Add __ro_after_init annotations

x86_pmu_{format,events,attr,caps}_group is written to in
init_hw_perf_events and not modified after. This makes them suitable
candidates for annotating as __ro_after_init.

Signed-off-by: Zubin Mithra <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/events/core.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index dfb2f7c0d019..7a6fb9b2bec5 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -1584,7 +1584,7 @@ static void __init pmu_check_apic(void)

}

-static struct attribute_group x86_pmu_format_group = {
+static struct attribute_group x86_pmu_format_group __ro_after_init = {
.name = "format",
.attrs = NULL,
};
@@ -1715,7 +1715,7 @@ static struct attribute *events_attr[] = {
NULL,
};

-static struct attribute_group x86_pmu_events_group = {
+static struct attribute_group x86_pmu_events_group __ro_after_init = {
.name = "events",
.attrs = events_attr,
};
@@ -2230,7 +2230,7 @@ static struct attribute *x86_pmu_attrs[] = {
NULL,
};

-static struct attribute_group x86_pmu_attr_group = {
+static struct attribute_group x86_pmu_attr_group __ro_after_init = {
.attrs = x86_pmu_attrs,
};

@@ -2248,7 +2248,7 @@ static struct attribute *x86_pmu_caps_attrs[] = {
NULL
};

-static struct attribute_group x86_pmu_caps_group = {
+static struct attribute_group x86_pmu_caps_group __ro_after_init = {
.name = "caps",
.attrs = x86_pmu_caps_attrs,
};