Comment 0 for bug 1628745

Revision history for this message
Tyler Hicks (tyhicks) wrote :

[Impact]

 * The exec_stack.sh regression test fails due to a behavior change in 4.8 kernels from this patch:

   commit 9f834ec18defc369d73ccf9e87a2790bfa05bf46
   Author: Linus Torvalds <email address hidden>
   Date: Mon Aug 22 16:41:46 2016 -0700

       binfmt_elf: switch to new creds when switching to new mm

 * Adjusting the regression tests appropriately allows the kernel and security teams to use QRT's test-apparmor.py to test kernel and userspace AppArmor changes with confidence

[Test Case]

$ apt-get source apparmor
$ cd tests/regression/apparmor
$ make USE_SYSTEM=1
$ sudo bash exec_stack.sh
running exec_stack
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 608 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - file)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 610 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - otherfile)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 612 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - thirdfile)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 613 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - sharedfile)' was expected to 'pass'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 620 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - okcon)' was expected to 'pass'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 628 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - bad label)' was expected to 'fail'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 634 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (2 stacked - bad mode)' was expected to 'fail'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 741 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - file)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 745 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - otherfile)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 747 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - thirdfile)' was expected to 'fail'. Reason for failure expect errno 13 != 139
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 748 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - sharedfile)' was expected to 'pass'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 754 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - okcon)' was expected to 'pass'. Reason for failure 'killed by signal 11'
/tmp/testlibRpZj1Y/source/yakkety/apparmor-2.10.95/tests/regression/apparmor/prologue.inc: line 219: 833 Segmentation fault $testexec "$@" > $outfile 2>&1
Error: transition failed. Test 'EXEC_STACK (3 stacked - old AA WARN)' was expected to 'pass'. Reason for failure 'killed by signal 11'

The previous command should result in no output and return value of 0 once the regression test is properly updated.

[Regression Potential]

 * This is an extremely low risk change since it only touches regression testing code that is not user-facing.