[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/4] trace: forbid use of %m in trace event f
Re: [Qemu-devel] [PATCH v2 3/4] trace: forbid use of %m in trace event format strings
Tue, 22 Jan 2019 12:10:06 -0600
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
On 1/22/19 11:23 AM, Daniel P. Berrangé wrote:
>>> On this point though, does anyone know of any platforms we support,
>>> or are likely to support in future, where 'strerror' is *not* thread
>>> safe ?
>> I'm not coming up with one, and I think the problem is independent of
>> this series (if we DO have a problem, it's a series all its own to
>> eradicate the use of strerror() in favor of something safer, either
>> picking strerror_l() or dealing with the glibc vs. BSD differences in
> Agree that its not really something for this series - this just
> made me think of it again.
Shoot - FreeBSD strerror() is not threadsafe:
static char ebuf[NL_TEXTMAX];
if (strerror_r(num, ebuf, sizeof(ebuf)) != 0)
errno = EINVAL;
> We went through the scrubbing in libvirt to use the sane, but still
> tedious to call, variant of strerror_r() many years ago. With luck
> though it is a worry that can be confined the dustbin of ancient
> UNIX history....unless someone can point to evidence to the contrary ?
libvirt has it easy - they let gnulib do all the work of futzing around
with getting a working strerror() despite platform bugs and despite
glibc's insistence on a non-POSIX signature if _GNU_SOURCE is defined.
We'll have to do a bit more legwork.
That said, I've added it to:
if someone wants to do the grunt work.
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
Description: OpenPGP digital signature
[Qemu-devel] [PATCH v2 4/4] trace: add ability to do simple printf logging via systemtap, Daniel P . Berrangé, 2019/01/18
- [Qemu-devel] [PATCH v2 2/4] trace: enforce that every trace-events file has a final newline, (continued)