On Wed, 2024-12-11 at 11:23 +0100, Christian Brauner wrote:
On Tue, Dec 10, 2024 at 07:14:07PM +0100, Florian Weimer wrote:
- Aleksa Sarai:
sched_getattr(2) doesn't care about trailing non-zero bytes in the (ksize > usize) case, so just use copy_struct_to_user() without checking ignored_trailing.
I think this is what causes glibc's misc/tst-sched_setattr test to fail on recent kernels. The previous non-modifying behavior was documented in the manual page:
If the caller-provided attr buffer is larger than the kernel's sched_attr structure, the additional bytes in the user-space structure are not touched.
I can just drop this part of the test if the kernel deems both behaviors valid.
I think in general both behaviors are valid but I would consider zeroing the unknown parts of the provided buffer to be the safer option. And all newer extensible struct system calls do that.
Florian,
So should we drop the test before Glibc-2.41 release? I'm seeing the failure during my machine test.