The function `v9fs_xattrcreate` makes use of the define `XATTR_SIZE_MAX` to reject attempts of creating xattrs with an invalid size, which is defined in <linux/limits.h>. On glibc-based systems, this header is indirectly included via <limits.h>, <bits/posix1_lim.h>, <bitts/local_lim.h>, but on other platforms this is not guaranteed due to not being part of the POSIX standard. One examples are systems based on musl libc, which do not include the <linux/limits.h> indirectly, which leads to `XATTR_SIZE_MAX` being undefined.
Fix this error by directly include <linux/limits.h>. As the 9P fs code is being Linux-based either way, we can simply do so without breaking other platforms. This enables building 9pfs on musl-based systems. Signed-off-by: Patrick Steinhardt <p...@pks.im> --- hw/9pfs/9p.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 96d2683348..48cd558e96 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -13,6 +13,7 @@ #include "qemu/osdep.h" #include <glib/gprintf.h> +#include <linux/limits.h> #include "hw/virtio/virtio.h" #include "qapi/error.h" #include "qemu/error-report.h" -- 2.13.2