arm64: sigaltstack fails with MINSIGSTKSZ for 32-bit processes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Debian) |
Fix Released
|
Unknown
|
|||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The arm64 kernel allows one to run aarch32 processes on an aarch64 processor, using the standard 32/64-bit syscall compatibility. However this compat layer does not correctly validate the arguments of the sigaltstack syscall which can result in process failures.
[Test Case]
The simple reproducer from https:/
[Fix]
Backport the following two upstream commits:
24951465cbd2 arm64: compat: Provide definition for COMPAT_SIGMINSTKSZ
22839869f21a signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_
With these two commits, the reproducer no longer fails.
[Regression Potential]
Low. the modifications are trivial and the two patches have been in upstream for quite a while.
[Original Description]
This seems to have been fixed in 4.15 (finally), but is still an issue in the 4.4 kernel used on our builders, and possibly others as well (needs investigation).
The original Debian bug report linked has more info, as well as the patchset on lkml at https:/
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
Changed in linux (Debian): | |
status: | Unknown → Fix Released |
Changed in linux (Ubuntu Xenial): | |
status: | New → Confirmed |
description: | updated |
Confirmed that this is fixed in 4.15 as of (at least) 4.15.0-62-generic.