Re: [PATCH] net: Convert proto_ops::getname to sockaddr_storage

From: Kees Cook
Date: Wed Dec 18 2024 - 16:45:02 EST




On December 18, 2024 4:26:37 AM PST, Alexandra Winter <wintera@xxxxxxxxxxxxx> wrote:
>
>I had to shorten the CC-List to get this message through our mailserver, sorry about that.
>
>On 17.12.24 03:34, Kees Cook wrote:
>> diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
>> index 7929df08d4e0..2612382e1a48 100644
>> --- a/net/iucv/af_iucv.c
>> +++ b/net/iucv/af_iucv.c
>> @@ -848,14 +848,14 @@ static int iucv_sock_accept(struct socket *sock, struct socket *newsock,
>> return err;
>> }
>>
>> -static int iucv_sock_getname(struct socket *sock, struct sockaddr *addr,
>> - int peer)
>> +static int iucv_sock_getname(struct socket *sock,
>> + struct sockaddr_storage *addr, int peer)
>> {
>> DECLARE_SOCKADDR(struct sockaddr_iucv *, siucv, addr);
>> struct sock *sk = sock->sk;
>> struct iucv_sock *iucv = iucv_sk(sk);
>>
>> - addr->sa_family = AF_IUCV;
>> + siucv->sa_family = AF_IUCV;
>
>
>This does not compile, it needs to be:
>siucv->siucv_family = AF_IUCV;

Thanks! I saw 0-day reported the same. I've fixed this for the next revision. Do you happen to know why this doesn't get built during an x86 allmodconfig build?

-Kees

>
>>
>> if (peer) {
>> memcpy(siucv->siucv_user_id, iucv->dst_user_id, 8);
>
>
>With this change feel free to add my
>Acked-by: Alexandra Winter <wintera@xxxxxxxxxxxxx>

--
Kees Cook