This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v4 0/3] Fix {recv,send}{m}msg standard compliance (BZ#16919)
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: Florian Weimer <fweimer at redhat dot com>, Joseph Myers <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Date: Wed, 8 Jun 2016 18:05:16 -0300
- Subject: Re: [PATCH v4 0/3] Fix {recv,send}{m}msg standard compliance (BZ#16919)
- Authentication-results: sourceware.org; auth=none
- References: <1459175641-12520-1-git-send-email-adhemerval dot zanella at linaro dot org> <9df3c0d2-6c5b-5394-7b03-cfdfec13026c at redhat dot com> <alpine dot DEB dot 2 dot 20 dot 1606081234260 dot 12640 at digraph dot polyomino dot org dot uk> <20160608155708 dot GJ5431 at vapier dot lan> <bc9c5b23-7fb0-e191-5bec-cc65642fbbeb at redhat dot com> <57587DAF dot 4050001 at linaro dot org> <df8171e1-86da-e559-921a-f49446d1d0a3 at redhat dot com>
On 08/06/2016 17:27, Florian Weimer wrote:
> On 06/08/2016 10:18 PM, Adhemerval Zanella wrote:
>> This is the same issue in GCC BZ#71445 [1] comments and currently we can either
>> remove the compat symbol or make the interposition using symbol versions.
>
> Ugh.
>
>> If we decide to to remove the compat symbol I believe the only change in
>> libsanitizer or any interpose library would to be just assume recvmsg to
>> follow POSIX struct definition (in libsanitizer case to check the internal
>> structure accesses using socklen_t instead of size_t).
>
> Let me repeat that I think we should revert the changes to struct msghdr and struct cmsghdr. There is growing evidence that they are just too risky, and we seem to be past the threshold where we can ignore it.
>
> Florian
I discussed briefly at IRC with Joseph and Carlos that indeed this change
might generate some localized incompatibilities, but the general idea is
this tooling issues should not prevent us to fix issues in GLIBC.
Also, I do fell a compelling way to just revert fixes only because highly
coupled tooling shows internal issues. For libsanitizer example, it already
required a lot of knowledge of GLIBC internal implementation and it also
adds a lot of hacking to circumvent some issues. Ideally I would see
this symbol interposing to have some help of libc itself.