[PATCH 00/12] tools/nolibc: always use 64-bit ino_t, off_t and time-related types

Thomas Weißschuh posted 12 patches 3 months, 1 week ago
tools/include/nolibc/arch-s390.h             |  3 +
tools/include/nolibc/poll.h                  | 12 ++--
tools/include/nolibc/std.h                   |  6 +-
tools/include/nolibc/sys.h                   | 21 +++---
tools/include/nolibc/sys/time.h              |  2 +-
tools/include/nolibc/sys/timerfd.h           | 20 +-----
tools/include/nolibc/time.h                  | 96 ++++++----------------------
tools/include/nolibc/types.h                 |  9 ++-
tools/testing/selftests/nolibc/nolibc-test.c | 18 ++++++
9 files changed, 68 insertions(+), 119 deletions(-)
[PATCH 00/12] tools/nolibc: always use 64-bit ino_t, off_t and time-related types
Posted by Thomas Weißschuh 3 months, 1 week ago
nolibc currently uses 32-bit types for various APIs. These are
problematic as their reduced value range can lead to truncated values.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Thomas Weißschuh (12):
      tools/nolibc: use 64-bit ino_t
      tools/nolibc: handle 64-bit off_t for llseek
      tools/nolibc: prefer the llseek syscall
      tools/nolibc: use 64-bit off_t
      tools/nolibc: remove now superfluous overflow check in llseek
      tools/nolibc: remove more __nolibc_enosys() fallbacks
      tools/nolibc: prefer explicit 64-bit time-related system calls
      tools/nolibc: gettimeofday(): avoid libgcc 64-bit divisions
      tools/nolibc: use a custom struct timespec
      tools/nolibc: always use 64-bit time types
      selftests/nolibc: test compatibility of timespec and __kernel_timespec
      tools/nolibc: remove time conversions

 tools/include/nolibc/arch-s390.h             |  3 +
 tools/include/nolibc/poll.h                  | 12 ++--
 tools/include/nolibc/std.h                   |  6 +-
 tools/include/nolibc/sys.h                   | 21 +++---
 tools/include/nolibc/sys/time.h              |  2 +-
 tools/include/nolibc/sys/timerfd.h           | 20 +-----
 tools/include/nolibc/time.h                  | 96 ++++++----------------------
 tools/include/nolibc/types.h                 |  9 ++-
 tools/testing/selftests/nolibc/nolibc-test.c | 18 ++++++
 9 files changed, 68 insertions(+), 119 deletions(-)
---
base-commit: 90ee85c0e1e4b5804ceebbd731653e10ef3849a6
change-id: 20251001-nolibc-uapi-types-1c072d10fcc7

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>

Re: [PATCH 00/12] tools/nolibc: always use 64-bit ino_t, off_t and time-related types
Posted by Willy Tarreau 3 months, 1 week ago
On Wed, Oct 29, 2025 at 05:02:50PM +0100, Thomas Weißschuh wrote:
> nolibc currently uses 32-bit types for various APIs. These are
> problematic as their reduced value range can lead to truncated values.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

Thanks Thomas for this cleanup! Overall this looks good to me. I also
tested my preinit code against it based both on latest and older UAPI
headers (5.4) and everything still builds and seems to work fine.

For the whole series: Acked-by: Willy Tarreau <w@1wt.eu>

Willy