asm-generic: uaccess: 1-byte access is always aligned
With the cleaned up version of asm-generic/unaligned.h, there is a warning about the get_user/put_user helpers using unaligned access for single-byte variables: include/asm-generic/uaccess.h: In function ‘__get_user_fn’: include/asm-generic/unaligned.h:13:15: warning: ‘packed’ attribute ignored for field of type ‘u8’ {aka ‘unsigned char’} [-Wattributes] const struct { type x __packed; } *__pptr = (typeof(__pptr))(ptr); \ Change these to use a direct pointer dereference to avoid the warnings. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Родитель
e3e2207671
Коммит
d40d817948
|
@ -19,7 +19,7 @@ __get_user_fn(size_t size, const void __user *from, void *to)
|
||||||
|
|
||||||
switch (size) {
|
switch (size) {
|
||||||
case 1:
|
case 1:
|
||||||
*(u8 *)to = get_unaligned((u8 __force *)from);
|
*(u8 *)to = *((u8 __force *)from);
|
||||||
return 0;
|
return 0;
|
||||||
case 2:
|
case 2:
|
||||||
*(u16 *)to = get_unaligned((u16 __force *)from);
|
*(u16 *)to = get_unaligned((u16 __force *)from);
|
||||||
|
@ -45,7 +45,7 @@ __put_user_fn(size_t size, void __user *to, void *from)
|
||||||
|
|
||||||
switch (size) {
|
switch (size) {
|
||||||
case 1:
|
case 1:
|
||||||
put_unaligned(*(u8 *)from, (u8 __force *)to);
|
*(u8 __force *)to = *(u8 *)from;
|
||||||
return 0;
|
return 0;
|
||||||
case 2:
|
case 2:
|
||||||
put_unaligned(*(u16 *)from, (u16 __force *)to);
|
put_unaligned(*(u16 *)from, (u16 __force *)to);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче