Files
linux/include/uapi/linux
Kuniyuki Iwashima e2bca4870f af_packet: Fix fortified memcpy() without flex array.
Sergei Trofimovich reported a regression [0] caused by commit a0ade8404c
("af_packet: Fix warning of fortified memcpy() in packet_getname().").

It introduced a flex array sll_addr_flex in struct sockaddr_ll as a
union-ed member with sll_addr to work around the fortified memcpy() check.

However, a userspace program uses a struct that has struct sockaddr_ll in
the middle, where a flex array is illegal to exist.

  include/linux/if_packet.h:24:17: error: flexible array member 'sockaddr_ll::<unnamed union>::<unnamed struct>::sll_addr_flex' not at end of 'struct packet_info_t'
     24 |                 __DECLARE_FLEX_ARRAY(unsigned char, sll_addr_flex);
        |                 ^~~~~~~~~~~~~~~~~~~~

To fix the regression, let's go back to the first attempt [1] telling
memcpy() the actual size of the array.

Reported-by: Sergei Trofimovich <slyich@gmail.com>
Closes: https://github.com/NixOS/nixpkgs/pull/252587#issuecomment-1741733002 [0]
Link: https://lore.kernel.org/netdev/20230720004410.87588-3-kuniyu@amazon.com/ [1]
Fixes: a0ade8404c ("af_packet: Fix warning of fortified memcpy() in packet_getname().")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://lore.kernel.org/r/20231009153151.75688-1-kuniyu@amazon.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-10-12 09:15:15 +02:00
..
2023-05-14 16:05:28 +01:00
2021-01-25 18:44:44 +01:00
2023-05-30 15:20:08 +01:00
2021-11-01 13:36:08 +00:00
2022-08-11 10:31:19 -07:00
2022-06-07 10:20:42 -07:00
2023-08-21 14:54:48 +02:00
2021-11-26 16:48:59 +01:00
2023-04-22 14:41:30 -07:00
2023-01-20 09:33:22 +00:00
2023-03-06 15:49:07 -06:00
2022-04-04 08:55:23 +02:00
2023-03-16 21:20:32 -07:00
2023-08-16 12:39:38 +02:00
2021-10-07 13:51:11 +02:00
2022-08-10 13:49:50 +01:00
2021-02-08 13:01:24 +01:00
2022-03-11 08:28:05 -08:00
2021-11-15 07:53:10 -08:00
2021-06-03 15:31:34 -07:00
2022-09-20 09:13:38 +02:00
2021-03-10 09:34:06 +01:00
2023-03-23 17:25:46 +01:00
2023-06-09 16:25:16 -07:00
2023-08-14 18:48:02 +02:00
2023-04-27 19:15:11 -06:00
2023-07-28 09:33:12 -07:00
2022-09-07 16:46:03 +02:00
2021-07-06 10:37:46 -05:00
2023-01-26 10:52:18 +01:00
2023-08-04 16:20:39 +02:00
2022-11-17 11:04:23 -08:00
2021-01-07 16:17:32 +01:00
2022-09-27 17:29:09 -07:00
2023-06-05 09:36:35 +02:00
2023-03-23 17:25:46 +01:00
2023-06-09 16:13:01 +01:00
2021-06-12 13:16:45 -07:00
2022-12-05 10:30:47 +01:00