copy_file_range test fails with linux 5.3+ on bionic
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GLibC |
Fix Released
|
Medium
|
|||
glibc (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Thadeu Lima de Souza Cascardo |
Bug Description
[Impact]
When tested against newer versions of linux, glibc tests will fail as it makes some assumptions about supportead features on the kernel.
[Fix]
Do not run the test that checks that copy_file_range will fail with EXDEV when done across devices.
[Test case]
Build glibc and run its tests on linux 5.3.
[Regression potential]
The same test is being ignored right now, we risk ignoring a failure on an older version of linux, like 4.15. However, that could happen because the feature is backported to said kernel. And we are currently ignoring the failure anyway.
=======
copy_file_range on linux 5.3 now works across devices, so EXDEV is not returned anymore on those cases. glibc, however, tests that is the case and its autopkgtest fails, then, when running on linux 5.3.
glibc 2.30 does not fail in that case anymore, so eoan glibc works fine on linux 5.3. However, the change on glibc 2.30 was to remove its userspace emulation entirely, and require users to fallback on their own.
https:/
Linux commit 5dae222a5ff0c26
CVE References
Changed in glibc (Ubuntu): | |
status: | New → Invalid |
tags: | added: testcase |
Changed in glibc (Ubuntu): | |
importance: | Undecided → Medium |
Changed in glibc (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in glibc: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
The kernel is evolving this interface rapidly, and our emulation is no longer faithful: Among other things, we do not detect overlapping copies (which is quite hard outside the kernel). The kernel also plans to support cross-device copies.