openafs-modules-dkms: build failure on hirsute with kernel 5.11
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openafs (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Confirmed
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Linux 5.11 removed TIF_IA32 with commit 8d71d2bf6efec ("x86: Reclaim TIF_IA32 and TIF_X32"), this flag is used by openafs to determine if the task is handling a syscall request from a 32 bit process, so building against a 5.11 kernel results in a build failure.
[Test case]
Install openafs-
[Fix]
Apply the following openafs' upstream commits:
32cc6b0796495
78ef922612bef
In this way we are not relying anymore on TIF_IA32 and instead we use the function in_compat_syscall() introdueed in Linux 4.6, as a preferred method to determine if a syscall needs to handle a compatible call (e.g., 32-bit binaries).
[Regression potential]
This change might break the build of kernels that are missing in_compat_
openafs builds correctly with the attached debdiff.