BUG/MEDIUM: proxy: use aligned allocations for struct proxy

Commit fd012b6c5 ("OPTIM: proxy: move atomically access fields out of
the read-only ones") caused the proxy struct to be 64-byte aligned,
which allows the compiler to use optimizations such as AVX512 to zero
certain fields. However the struct was allocated using calloc() so it
was not necessarily aligned, causing segv on startup on compatible
machines. Let's just use ha_aligned_zalloc_typed() to allocate the
struct.

No backport is needed.
This commit is contained in:
Willy Tarreau 2025-11-07 22:05:21 +01:00
parent c26bcfc1e3
commit df9eb2e7b6

View File

@ -1717,7 +1717,7 @@ struct proxy *alloc_new_proxy(const char *name, unsigned int cap, char **errmsg)
{
struct proxy *curproxy;
if ((curproxy = calloc(1, sizeof(*curproxy))) == NULL) {
if ((curproxy = ha_aligned_zalloc_typed(1, typeof(*curproxy))) == NULL) {
memprintf(errmsg, "proxy '%s': out of memory", name);
goto fail;
}