diff mbox series

[RFC,09/12] apparmor: use get_unaligned() only for multi-byte words

Message ID 20210507220813.365382-10-arnd@kernel.org (mailing list archive)
State New, archived
Headers show
Series Unify asm/unaligned.h around struct helper | expand

Commit Message

Arnd Bergmann May 7, 2021, 10:07 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

Using get_unaligned() on a u8 pointer is pointless, and will
result in a compiler warning after a planned cleanup:

In file included from arch/x86/include/generated/asm/unaligned.h:1,
                 from security/apparmor/policy_unpack.c:16:
security/apparmor/policy_unpack.c: In function 'unpack_u8':
include/asm-generic/unaligned.h:13:15: error: 'packed' attribute ignored for field of type 'u8' {aka 'unsigned char'} [-Werror=attributes]
   13 |  const struct { type x __packed; } *__pptr = (typeof(__pptr))(ptr); \
      |               ^

Simply dereference this pointer directly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 security/apparmor/policy_unpack.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Johansen May 10, 2021, 8:17 a.m. UTC | #1
On 5/7/21 3:07 PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Using get_unaligned() on a u8 pointer is pointless, and will
> result in a compiler warning after a planned cleanup:
> 
> In file included from arch/x86/include/generated/asm/unaligned.h:1,
>                  from security/apparmor/policy_unpack.c:16:
> security/apparmor/policy_unpack.c: In function 'unpack_u8':
> include/asm-generic/unaligned.h:13:15: error: 'packed' attribute ignored for field of type 'u8' {aka 'unsigned char'} [-Werror=attributes]
>    13 |  const struct { type x __packed; } *__pptr = (typeof(__pptr))(ptr); \
>       |               ^
> 
> Simply dereference this pointer directly.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: John Johansen <john.johansen@canonical.com>

> ---
>  security/apparmor/policy_unpack.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
> index b8efbda545cb..0acca6f2a93f 100644
> --- a/security/apparmor/policy_unpack.c
> +++ b/security/apparmor/policy_unpack.c
> @@ -304,7 +304,7 @@ static bool unpack_u8(struct aa_ext *e, u8 *data, const char *name)
>  		if (!inbounds(e, sizeof(u8)))
>  			goto fail;
>  		if (data)
> -			*data = get_unaligned((u8 *)e->pos);
> +			*data = *((u8 *)e->pos);
>  		e->pos += sizeof(u8);
>  		return true;
>  	}
>
diff mbox series

Patch

diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
index b8efbda545cb..0acca6f2a93f 100644
--- a/security/apparmor/policy_unpack.c
+++ b/security/apparmor/policy_unpack.c
@@ -304,7 +304,7 @@  static bool unpack_u8(struct aa_ext *e, u8 *data, const char *name)
 		if (!inbounds(e, sizeof(u8)))
 			goto fail;
 		if (data)
-			*data = get_unaligned((u8 *)e->pos);
+			*data = *((u8 *)e->pos);
 		e->pos += sizeof(u8);
 		return true;
 	}