|
|
Message-ID: <CAAYwqPtsy2rBOoZXd0pXzKNBEcOpCGV4Vqt5MuMyJKp15cj5mQ@mail.gmail.com> Date: Fri, 24 Jul 2026 10:40:38 -0700 From: Jake Adamson <jakeadamson@...gle.com> To: enh <enh@...gle.com> Cc: musl@...ts.openwall.com, Nick Desaulniers <ndesaulniers@...gle.com>, Peter Oskolkov <posk@...gle.com>, Peter Zijlstra <peterz@...radead.org>, mathieu.desnoyers@...icios.com Subject: Re: Re: Question: number of arguments of musl's membarrier does not match Linux syscall For a short term solution would it make scene to just check if MEMBARRIER_CMD_FLAG_CPU cmd has been passed in, return -1 and set errno to EINVAL or what ever is the appropriate value? That way you don't have remove MEMBARRIER_CMD_FLAG_CPU and change the header? Jake On Fri, Jul 24, 2026 at 7:23 AM enh <enh@...gle.com> wrote: > > On Fri, Jul 24, 2026 at 7:33 AM Szabolcs Nagy <nsz@...t70.net> wrote: > > > > * Jake Adamson <jakeadamson@...gle.com> [2026-07-23 15:27:57 -0700]: > > > * Szabolcs Nagy <nsz@...t70.net> [Thu, 23 Jul 2026 23:34:51 +0200]: > > > >https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a36ab717e8fe678d98f81c14a0b124712719840 > > > >good example why libc does not like wrapping new syscalls > > > >(the contract is not documented and reasonable assumptions > > > >get broken instead of using a new syscall number) > > > >now it has to be var arg if we want backward compat. > > > > > > Ah, that makes sense then. Thanks for pointing out the kernel commit. > > > It seems like musl has MEMBARRIER_CMD_FLAG_CPU defined won't that break musl's > > > membarrier function? The Linux man page says it checks the third > > > argument if that flag is passed. > > > > musl updates its headers to follow linux uapi, and > > indeed the wrapper api issue was not noticed when > > that flag was added: > > > > https://git.musl-libc.org/cgit/musl/commit/?id=54ca1cc7f1bce1c19593c0176aead964a2534933 > > > > it would have been easier to catch at the man edit > > > > https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=d98b1454fc767b99e9e22f6240ace32c9474ee00 > > > > at least now the man page uses SYS_membarrier. > > > > i think the options are: use 3 arg api (breaking > > 2 arg callers if any), or use var arg function > > (bwcompat with 2 arg callers) or tell users to > > use syscall. either way it requires coordination > > with glibc (and bionic and man-pages). > > there's a thread with glibc here: > https://public-inbox.org/libc-alpha/CAJgzZoqtbwiN9-Oyb34GTHXB447DdvA8rEcbsEayBALK_d2qxQ@mail.gmail.com/
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.