2023-06-12 10:16:17

by Peter Zijlstra

[permalink] [raw]
Subject: [PATCH v3 02/57] apparmor: Free up __cleanup() name

In order to use __cleanup for __attribute__((__cleanup__(func))) the
name must not be used for anything else. Avoid the conflict.

Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
---
security/apparmor/include/lib.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/security/apparmor/include/lib.h
+++ b/security/apparmor/include/lib.h
@@ -232,7 +232,7 @@ void aa_policy_destroy(struct aa_policy
*/
#define fn_label_build(L, P, GFP, FN) \
({ \
- __label__ __cleanup, __done; \
+ __label__ __do_cleanup, __done; \
struct aa_label *__new_; \
\
if ((L)->size > 1) { \
@@ -250,7 +250,7 @@ void aa_policy_destroy(struct aa_policy
__new_ = (FN); \
AA_BUG(!__new_); \
if (IS_ERR(__new_)) \
- goto __cleanup; \
+ goto __do_cleanup; \
__lvec[__j++] = __new_; \
} \
for (__j = __count = 0; __j < (L)->size; __j++) \
@@ -272,7 +272,7 @@ void aa_policy_destroy(struct aa_policy
vec_cleanup(profile, __pvec, __count); \
} else \
__new_ = NULL; \
-__cleanup: \
+__do_cleanup: \
vec_cleanup(label, __lvec, (L)->size); \
} else { \
(P) = labels_profile(L); \




2023-06-13 09:00:37

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH v3 02/57] apparmor: Free up __cleanup() name

On 6/12/23 02:07, Peter Zijlstra wrote:
> In order to use __cleanup for __attribute__((__cleanup__(func))) the
> name must not be used for anything else. Avoid the conflict.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Acked-by: John Johansen <[email protected]>

> ---
> security/apparmor/include/lib.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> --- a/security/apparmor/include/lib.h
> +++ b/security/apparmor/include/lib.h
> @@ -232,7 +232,7 @@ void aa_policy_destroy(struct aa_policy
> */
> #define fn_label_build(L, P, GFP, FN) \
> ({ \
> - __label__ __cleanup, __done; \
> + __label__ __do_cleanup, __done; \
> struct aa_label *__new_; \
> \
> if ((L)->size > 1) { \
> @@ -250,7 +250,7 @@ void aa_policy_destroy(struct aa_policy
> __new_ = (FN); \
> AA_BUG(!__new_); \
> if (IS_ERR(__new_)) \
> - goto __cleanup; \
> + goto __do_cleanup; \
> __lvec[__j++] = __new_; \
> } \
> for (__j = __count = 0; __j < (L)->size; __j++) \
> @@ -272,7 +272,7 @@ void aa_policy_destroy(struct aa_policy
> vec_cleanup(profile, __pvec, __count); \
> } else \
> __new_ = NULL; \
> -__cleanup: \
> +__do_cleanup: \
> vec_cleanup(label, __lvec, (L)->size); \
> } else { \
> (P) = labels_profile(L); \
>
>


2023-06-13 10:45:59

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH v3 02/57] apparmor: Free up __cleanup() name

On 6/12/23 02:07, Peter Zijlstra wrote:
> In order to use __cleanup for __attribute__((__cleanup__(func))) the
> name must not be used for anything else. Avoid the conflict.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>

if you want, I can just pull this small change into the apparmor
tree so you don't have to carry it anymore as part of the series.

> ---
> security/apparmor/include/lib.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> --- a/security/apparmor/include/lib.h
> +++ b/security/apparmor/include/lib.h
> @@ -232,7 +232,7 @@ void aa_policy_destroy(struct aa_policy
> */
> #define fn_label_build(L, P, GFP, FN) \
> ({ \
> - __label__ __cleanup, __done; \
> + __label__ __do_cleanup, __done; \
> struct aa_label *__new_; \
> \
> if ((L)->size > 1) { \
> @@ -250,7 +250,7 @@ void aa_policy_destroy(struct aa_policy
> __new_ = (FN); \
> AA_BUG(!__new_); \
> if (IS_ERR(__new_)) \
> - goto __cleanup; \
> + goto __do_cleanup; \
> __lvec[__j++] = __new_; \
> } \
> for (__j = __count = 0; __j < (L)->size; __j++) \
> @@ -272,7 +272,7 @@ void aa_policy_destroy(struct aa_policy
> vec_cleanup(profile, __pvec, __count); \
> } else \
> __new_ = NULL; \
> -__cleanup: \
> +__do_cleanup: \
> vec_cleanup(label, __lvec, (L)->size); \
> } else { \
> (P) = labels_profile(L); \
>
>


2024-01-16 18:32:10

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH v3 02/57] apparmor: Free up __cleanup() name

On 6/12/23 02:07, Peter Zijlstra wrote:
> In order to use __cleanup for __attribute__((__cleanup__(func))) the
> name must not be used for anything else. Avoid the conflict.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>

Acked-by: John Johansen <[email protected]>

> ---
> security/apparmor/include/lib.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> --- a/security/apparmor/include/lib.h
> +++ b/security/apparmor/include/lib.h
> @@ -232,7 +232,7 @@ void aa_policy_destroy(struct aa_policy
> */
> #define fn_label_build(L, P, GFP, FN) \
> ({ \
> - __label__ __cleanup, __done; \
> + __label__ __do_cleanup, __done; \
> struct aa_label *__new_; \
> \
> if ((L)->size > 1) { \
> @@ -250,7 +250,7 @@ void aa_policy_destroy(struct aa_policy
> __new_ = (FN); \
> AA_BUG(!__new_); \
> if (IS_ERR(__new_)) \
> - goto __cleanup; \
> + goto __do_cleanup; \
> __lvec[__j++] = __new_; \
> } \
> for (__j = __count = 0; __j < (L)->size; __j++) \
> @@ -272,7 +272,7 @@ void aa_policy_destroy(struct aa_policy
> vec_cleanup(profile, __pvec, __count); \
> } else \
> __new_ = NULL; \
> -__cleanup: \
> +__do_cleanup: \
> vec_cleanup(label, __lvec, (L)->size); \
> } else { \
> (P) = labels_profile(L); \
>
>