]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Make msgbuf_peekbytes() not return leading zeroes.
authorAlexander Motin <mav@FreeBSD.org>
Sat, 11 Dec 2021 04:18:52 +0000 (23:18 -0500)
committerAlexander Motin <mav@FreeBSD.org>
Sat, 11 Dec 2021 04:35:53 +0000 (23:35 -0500)
commit81dc00331d148fab19af24833521334e39f3692d
treecc24ea768eb3f92b79647f51a8400b64ca3a7435
parent7a382e744b0b0ba9b51dc34bfa0cd1515f744f25
Make msgbuf_peekbytes() not return leading zeroes.

Introduce new MSGBUF_WRAP flag, indicating that buffer has wrapped
at least once and does not keep zeroes from the last msgbuf_clear().
It allows msgbuf_peekbytes() to return only real data, not requiring
every consumer to trim the leading zeroes after doing pointless copy.
The most visible effect is that kern.msgbuf sysctl now always returns
proper zero-terminated string, not only after the first buffer wrap.

MFC after: 1 week
Sponsored by: iXsystems, Inc.
sys/kern/subr_msgbuf.c
sys/sys/msgbuf.h