Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20221024220206.GW29905@brightrain.aerifal.cx>
Date: Mon, 24 Oct 2022 18:02:08 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Summary of changes pushed today

I realized I had a big queue of commits to push, and for folks who
want to follow what's going on, it may be helpful to have a summary
now rather than waiting for release time. Having it here will also aid
in preparing release notes:

1. DNS project. This is mainly adding TCP fallback support, but has
involved a lot of other fixes too:

85050ac5 getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain
c87d75f2 adapt res_msend DNS query core for working with multiple sockets
e2e95176 res_send: use a temp buffer if caller's buffer is under 512 bytes
51d4669f dns: implement tcp fallback in __res_msend query core
759bf785 arpa/nameser.h: update RR types list
8c408937 getaddrinfo dns lookup: use larger answer buffer to handle long CNAMEs
dec8f0a4 dns query core: detect udp truncation at recv time
41603c77 dns response handling: ignore presence of wrong-type RRs
0a7b4323 dns response handling: don't treat too many addresses as an error
63402be2 clean up dns_parse_callback
8f925945 fix return value of gethostby{name[2],addr} with no result but no error

Aside from TCP-related changes, these add the ability to distinguish
NODATA from NxDomain in getaddrinfo/gethostbyname results, bring the
arpa/nameser.h RR type list up to date, and fix badly broken behavior
in the non-_r legacy gethostbyname* functions with negative results.

2. LFS64 removal. This is mostly as described in the earlier thread.
I've left the macros in place for now with explicit
_LARGEFILE64_SOURCE but they're no longer exposed by _GNU_SOURCE:

246f1c81 remove LFS64 symbol aliases; replace with dynamic linker remapping
25e6fee2 remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE

3. malloc performance. I've disabled MADV_FREE usage entirely for now:

e6e82132 disable MADV_FREE usage in mallocng

4. Deadlock and related issues from Alexey Izbyshev's threads. These
are all the solutions discussed before, and most of these patches were
already posted on the list:

36b72cd6 fix potential deadlock in dlerror buffer handling at thread exit
d64148a8 fix potential unsynchronized access to killlock state at thread exit
aebd6a36 fix potential deadlock between multithreaded fork and aio
26c76a90 fix use of uninitialized dummy_fut in aio_suspend
d8f35e29 fix AS-safety of close when aio is in use and fd map is expanded
cf76df0e fix missing synchronization of pthread TSD keys with MT-fork

5. Ridiculous UB corner case fixed, outcome of a report on libc-coord:

5ff3eea9 fgets: avoid arithmetic overflow when n==INT_MIN is passed

6. Compiler shenanigans around type based alias analysis. Disabling
TBAA in configure:

833a4691 configure: disable TBAA optimization because most compilers are buggy

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.