Currently sigaltstack() can return multiple flags, for example SS_DISABLE|SS_AUTODISARM. This confuses libraries (including asan runtime) and contradicts the man page. Patch 1 fixes this problem by ignoring any flag passed with SS_DISABLE. Patch 2 adds a test-case for that scenario. Signed-off-by: Stas Sergeev <stsp2@xxxxxxxxx> CC: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> CC: Kees Cook <keescook@xxxxxxxxxxxx> CC: Jens Axboe <axboe@xxxxxxxxx> CC: Peter Zijlstra <peterz@xxxxxxxxxxxxx> CC: Marco Elver <elver@xxxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CC: Alexey Gladkov <legion@xxxxxxxxxx> CC: Andrew Lutomirski <luto@xxxxxxx> CC: Shuah Khan <shuah@xxxxxxxxxx> CC: "Chang S. Bae" <chang.seok.bae@xxxxxxxxx> CC: Borislav Petkov <bp@xxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CC: Len Brown <len.brown@xxxxxxxxx> CC: linux-kselftest@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Stas Sergeev (2): sigaltstack: ignore flags if SS_DISABLE is set selftests: sigaltstack: add new SS_DISABLE test kernel/signal.c | 1 + tools/testing/selftests/sigaltstack/sas.c | 48 ++++++++++++----------- 2 files changed, 26 insertions(+), 23 deletions(-) -- 2.34.1