[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <60395da0-5969-4d72-9b90-c60e5473b7a5@embeddedor.com>
Date: Tue, 22 Oct 2024 11:07:02 -0600
From: "Gustavo A. R. Silva" <gustavo@...eddedor.com>
To: Kuniyuki Iwashima <kuniyu@...zon.com>, gustavoars@...nel.org
Cc: andrew+netdev@...n.ch, davem@...emloft.net, dsahern@...nel.org,
edumazet@...gle.com, johannes@...solutions.net, kees@...nel.org,
kuba@...nel.org, linux-hardening@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, pabeni@...hat.com
Subject: Re: [PATCH 1/5][next] net: dev: Introduce struct sockaddr_legacy
>>
>> +/*
>> + * This is the legacy form of `struct sockaddr`. The original `struct sockaddr`
>> + * was modified in commit b5f0de6df6dce ("net: dev: Convert sa_data to flexible
>> + * array in struct sockaddR") due to the fact that "One of the worst offenders
>
> s/sockaddR/sockaddr/
>
> The same typo? exists in the cover letter.
Thanks for catching this! :)
--
Gustavo
>
> With it fixed,
>
> Reviewed-by: Kuniyuki Iwashima <kuniyu@...zon.com>
>
>
>> + * of "fake flexible arrays" is struct sockaddr". This means that the original
>> + * `char sa_data[14]` behaved as a flexible array at runtime, so a proper
>> + * flexible-array member was introduced.
>> + *
>> + * This caused several flexible-array-in-the-middle issues:
>> + * https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wflex-array-member-not-at-end
>> + *
>> + * `struct sockaddr_legacy` replaces `struct sockaddr` in all instances where
>> + * objects of this type do not appear at the end of composite structures.
>> + */
>> +struct sockaddr_legacy {
>> + sa_family_t sa_family; /* address family, AF_xxx */
>> + char sa_data[14]; /* 14 bytes of protocol address */
>> +};
>> +
>> struct linger {
>> int l_onoff; /* Linger active */
>> int l_linger; /* How long to linger for */
>> --
>> 2.34.1
>
Powered by blists - more mailing lists