Re: git: 8c0d1eca7834 - main - sockbuf: retain backward compatibility with userland after d59bc188d652
- Reply: Alexander V. Chernikov: "Re: git: 8c0d1eca7834 - main - sockbuf: retain backward compatibility with userland after d59bc188d652"
- In reply to: Alexander V. Chernikov : "Re: git: 8c0d1eca7834 - main - sockbuf: retain backward compatibility with userland after d59bc188d652"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 May 2022 14:33:29 UTC
On 5/30/22, Alexander V. Chernikov <melifaro@ipfw.ru> wrote:
>
>
> 30.05.2022, 16:18, "Mateusz Guzik" <mjguzik@gmail.com>:
>>
>> should probably CTASSERT on size then
>
> Sorry, I’m afraid I don’t get it. Could you please clarify?
>>
diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
index 249e0800f915..5fc21206b1bf 100644
--- a/sys/sys/socketvar.h
+++ b/sys/sys/socketvar.h
@@ -586,6 +586,14 @@ struct xsocket {
} so_rcv, so_snd;
};
+#if _LP64
+_Static_assert(sizeof(struct xsocket) == 240, "bad")
+#elsif _LP32
+....
+#else
+#error "port me"
+#endif
+
#ifdef _KERNEL
void sotoxsocket(struct socket *so, struct xsocket *xso);
void sbtoxsockbuf(struct sockbuf *sb, struct xsockbuf *xsb);
>> On 5/30/22, Alexander V. Chernikov <melifaro@freebsd.org> wrote:
>>>
>>> The branch main has been updated by melifaro:
>>>
>>> URL:
>>> https://cgit.FreeBSD.org/src/commit/?id=8c0d1eca7834bfd5a05c86bf20a7600917057492
>>>
>>> commit 8c0d1eca7834bfd5a05c86bf20a7600917057492
>>> Author: Alexander V. Chernikov <melifaro@FreeBSD.org>
>>> AuthorDate: 2022-05-30 14:56:25 +0000
>>> Commit: Alexander V. Chernikov <melifaro@FreeBSD.org>
>>> CommitDate: 2022-05-30 15:10:53 +0000
>>>
>>> sockbuf: retain backward compatibility with userland after
>>> d59bc188d652
>>>
>>> Add spare fields to xsockbuf in place of sb_mcnt / sb_ccnt to avoid
>>> rebuilding userland binaries like sockstat(1).
>>>
>>> Reviewed by: glebius
>>> ---
>>> sys/sys/socketvar.h | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
>>> index 52b9376f0559..249e0800f915 100644
>>> --- a/sys/sys/socketvar.h
>>> +++ b/sys/sys/socketvar.h
>>> @@ -577,6 +577,8 @@ struct xsocket {
>>> uint32_t sb_cc;
>>> uint32_t sb_hiwat;
>>> uint32_t sb_mbcnt;
>>> + uint32_t sb_spare0; /* was sb_mcnt */
>>> + uint32_t sb_spare1; /* was sb_ccnt */
>>> uint32_t sb_mbmax;
>>> int32_t sb_lowat;
>>> int32_t sb_timeo;
>>>
>>
>>
>> --
>> Mateusz Guzik <mjguzik gmail.com>
>
--
Mateusz Guzik <mjguzik gmail.com>