strace 6.19 espera `struct io_uring_buf_reg` de Linux ~6.x (`__u64 resv[3]`), pero los headers UAPI que MANDAN en el sandbox son los del rootfs del lab, que ya son **Linux 7.1** y traen el campo nuevo `min_left` con `__u32 resv[5]`: __u32 min_left; __u32 resv[5]; => `CHECK_TYPE_SIZE(arg.resv, sizeof(uint64_t) * 3)` salta como `static assertion failed ... Unexpected size of arg.resv`. Este cambio es el de UPSTREAM (strace master ya lo trae; ver src/io_uring.c en strace/strace): comprueba min_left y resv[5], e imprime min_left. Mismo criterio que `linux-headers-7.0.patch`, que tambien es un cherry-pick de upstream. --- a/src/io_uring.c +++ b/src/io_uring.c @@ -640,7 +640,8 @@ struct io_uring_buf_reg arg; CHECK_TYPE_SIZE(arg, 40); CHECK_TYPE_SIZE(arg.flags, sizeof(uint16_t)); - CHECK_TYPE_SIZE(arg.resv, sizeof(uint64_t) * 3); + CHECK_TYPE_SIZE(arg.min_left, sizeof(uint32_t)); + CHECK_TYPE_SIZE(arg.resv, sizeof(uint32_t) * 5); if (nargs != 1) { printaddr(addr); @@ -662,6 +663,9 @@ tprint_struct_next(); PRINT_FIELD_X(arg, flags); + tprint_struct_next(); + PRINT_FIELD_U(arg, min_left); + if (!IS_ARRAY_ZERO(arg.resv)) { tprint_struct_next(); PRINT_FIELD_ARRAY(arg, resv, tcp, print_xint_array_member);