#
1.31 |
|
27-Oct-2020 |
mgorny |
Add tests for AVX-512 registers (zmm0..zmm31, k0..7)
Thanks to David Seifert <soap@gentoo.org> for providing a VM on an AVX-512 capable hardware
Reviewed by kamil
|
#
1.30 |
|
24-Oct-2020 |
mgorny |
Issue 64-bit versions of *XSAVE* for 64-bit amd64 programs
When calling FXSAVE, XSAVE, FXRSTOR, ... for 64-bit programs on amd64 use the 64-suffixed variant in order to include the complete FIP/FDP registers in the x87 area.
The difference between the two variants is that the FXSAVE64 (new) variant represents FIP/FDP as 64-bit fields (union fp_addr.fa_64), while the legacy FXSAVE variant uses split fields: 32-bit offset, 16-bit segment and 16-bit reserved field (union fp_addr.fa_32). The latter implies that the actual addresses are truncated to 32 bits which is insufficient in modern programs.
The change is applied only to 64-bit programs on amd64. Plain i386 and compat32 continue using plain FXSAVE. Similarly, NVMM is not changed as I am not familiar with that code.
This is a potentially breaking change. However, I don't think it likely to actually break anything because the data provided by the old variant were not meaningful (because of the truncated pointer).
|
#
1.29 |
|
16-Oct-2020 |
mgorny |
Remove leftover commented out #if 0
|
#
1.28 |
|
15-Oct-2020 |
mgorny |
Fix s87_tw reconstruction to correctly indicate register states
Fix the code reconstructing s87_tw (full tag word) from fx_sw (abridged tag word) to correctly represent all register states. The previous code only distinguished between empty/non-empty registers, and assigned 'regular value' to all non-empty registers. The new code explicitly distinguishes the two other tag word values: empty and special.
|
#
1.27 |
|
09-Oct-2020 |
mgorny |
Add tests for x87 FPU registers
Reviewed by kamil
|
#
1.26 |
|
09-Oct-2020 |
mgorny |
Rename MM_REG macro to ST_MAN, and cover fpr/xstate with it
Rename the MM_REG macro to ST_MAN, to make it clearer that it gets mantissa of ST registers which overlaps with MM registers but can be also used to read ST registers (to be used in the next commit). Extend it to cover the difference between GETFPREGS and GETXSTATE, and therefore avoid additional condition on i386.
Reviewed by kamil.
|
#
1.25 |
|
24-Apr-2020 |
thorpej |
Update for new LWP behavior -- as of 9.99.59, the LWP ID of a single-LWP process is the PID, not 1.
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
#
1.24 |
|
20-Feb-2020 |
kamil |
Refactor dbregs_dont_inherit_lwp()
Switch from native LWP calls to pthread(3) calls.
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.30 |
|
24-Oct-2020 |
mgorny |
Issue 64-bit versions of *XSAVE* for 64-bit amd64 programs
When calling FXSAVE, XSAVE, FXRSTOR, ... for 64-bit programs on amd64 use the 64-suffixed variant in order to include the complete FIP/FDP registers in the x87 area.
The difference between the two variants is that the FXSAVE64 (new) variant represents FIP/FDP as 64-bit fields (union fp_addr.fa_64), while the legacy FXSAVE variant uses split fields: 32-bit offset, 16-bit segment and 16-bit reserved field (union fp_addr.fa_32). The latter implies that the actual addresses are truncated to 32 bits which is insufficient in modern programs.
The change is applied only to 64-bit programs on amd64. Plain i386 and compat32 continue using plain FXSAVE. Similarly, NVMM is not changed as I am not familiar with that code.
This is a potentially breaking change. However, I don't think it likely to actually break anything because the data provided by the old variant were not meaningful (because of the truncated pointer).
|
#
1.29 |
|
16-Oct-2020 |
mgorny |
Remove leftover commented out #if 0
|
#
1.28 |
|
15-Oct-2020 |
mgorny |
Fix s87_tw reconstruction to correctly indicate register states
Fix the code reconstructing s87_tw (full tag word) from fx_sw (abridged tag word) to correctly represent all register states. The previous code only distinguished between empty/non-empty registers, and assigned 'regular value' to all non-empty registers. The new code explicitly distinguishes the two other tag word values: empty and special.
|
#
1.27 |
|
09-Oct-2020 |
mgorny |
Add tests for x87 FPU registers
Reviewed by kamil
|
#
1.26 |
|
09-Oct-2020 |
mgorny |
Rename MM_REG macro to ST_MAN, and cover fpr/xstate with it
Rename the MM_REG macro to ST_MAN, to make it clearer that it gets mantissa of ST registers which overlaps with MM registers but can be also used to read ST registers (to be used in the next commit). Extend it to cover the difference between GETFPREGS and GETXSTATE, and therefore avoid additional condition on i386.
Reviewed by kamil.
|
#
1.25 |
|
24-Apr-2020 |
thorpej |
Update for new LWP behavior -- as of 9.99.59, the LWP ID of a single-LWP process is the PID, not 1.
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
#
1.24 |
|
20-Feb-2020 |
kamil |
Refactor dbregs_dont_inherit_lwp()
Switch from native LWP calls to pthread(3) calls.
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.27 |
|
09-Oct-2020 |
mgorny |
Add tests for x87 FPU registers
Reviewed by kamil
|
#
1.26 |
|
09-Oct-2020 |
mgorny |
Rename MM_REG macro to ST_MAN, and cover fpr/xstate with it
Rename the MM_REG macro to ST_MAN, to make it clearer that it gets mantissa of ST registers which overlaps with MM registers but can be also used to read ST registers (to be used in the next commit). Extend it to cover the difference between GETFPREGS and GETXSTATE, and therefore avoid additional condition on i386.
Reviewed by kamil.
|
#
1.25 |
|
24-Apr-2020 |
thorpej |
Update for new LWP behavior -- as of 9.99.59, the LWP ID of a single-LWP process is the PID, not 1.
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
#
1.24 |
|
20-Feb-2020 |
kamil |
Refactor dbregs_dont_inherit_lwp()
Switch from native LWP calls to pthread(3) calls.
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.25 |
|
24-Apr-2020 |
thorpej |
Update for new LWP behavior -- as of 9.99.59, the LWP ID of a single-LWP process is the PID, not 1.
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
#
1.24 |
|
20-Feb-2020 |
kamil |
Refactor dbregs_dont_inherit_lwp()
Switch from native LWP calls to pthread(3) calls.
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.24 |
|
20-Feb-2020 |
kamil |
Refactor dbregs_dont_inherit_lwp()
Switch from native LWP calls to pthread(3) calls.
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.23 |
|
14-Feb-2020 |
christos |
Instead of turning optimization off, use unique labels with %= (thanks joerg@)
|
#
1.22 |
|
13-Feb-2020 |
tnn |
adjust r1.19; add clang equivalent of gcc specific attribute
|
#
1.21 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to watchpoints
|
#
1.20 |
|
13-Feb-2020 |
mgorny |
Extend concurrent events test to breakpoints
Add testing for concurrent breakpoint hits. The code is currently x86-specific but since it reuses most of the generic concurrent event test code, it's put in t_ptrace_wait.c with arch-specific hooks.
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.19 |
|
13-Feb-2020 |
christos |
Turn off optimization on a function which contains constant labels. The optimizer splits it and we end up with 2 copies and duplicate symbols.
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.18 |
|
08-Jan-2020 |
mgorny |
Add tests for reading registers from x86 core dumps
|
#
1.17 |
|
08-Jan-2020 |
mgorny |
Combine x86 register tests into unified test function
Reduce the code duplication and improve maintainability of x86 register tests by combining all of them to a single base function.
|
Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.16 |
|
26-Jun-2019 |
mgorny |
Implement PT_GETXSTATE and PT_SETXSTATE
Introduce two new ptrace() requests: PT_GETXSTATE and PT_SETXSTATE, that provide access to the extended (and extensible) set of FPU registers on amd64 and i386. At the moment, this covers AVX (YMM) and AVX-512 (ZMM, opmask) registers. It can be easily extended to cover further register types without breaking backwards compatibility.
PT_GETXSTATE issues the XSAVE instruction with all kernel-supported extended components enabled. The data is copied into 'struct xstate' (which -- unlike the XSAVE area itself -- has stable format and offsets).
PT_SETXSTATE issues the XRSTOR instruction to restore the register values from user-provided 'struct xstate'. The function replaces only the specific XSAVE components that are listed in 'xs_rfbm' field, making it possible to issue partial updates.
Both syscalls take a 'struct iovec' pointer rather than a direct argument. This requires the caller to explicitly specify the buffer size. As a result, existing code will continue to work correctly when the structure is extended (performing partial reads/updates).
|
Revision tags: phil-wifi-20190609
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
branches: 1.7.2; Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.15 |
|
04-Jun-2019 |
mgorny |
Fix alignment of SSE filling data
|
#
1.14 |
|
04-Jun-2019 |
mgorny |
Add more debug to register writing tests
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.13 |
|
10-May-2019 |
mgorny |
Add PT_SET*REGS tests for mm/xmm registers.
|
#
1.12 |
|
10-May-2019 |
mgorny |
Remove obsolete size asserts.
|
#
1.11 |
|
10-May-2019 |
mgorny |
Use newly-filled i386 reg structs in PT_GETFPREGS & PT_GETXMMREGS tests.
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.10 |
|
09-May-2019 |
mgorny |
Add ptrace() tests for reading mm* and xmm* registers
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.9 |
|
10-Feb-2019 |
kamil |
Link t_ptrace_wait* tests with -pthread
While there, bump (c) for ATF ptrace(2) tests.
Add __used in infinite_thread() for consistency with other functions in the file.
|
#
1.8 |
|
05-Feb-2019 |
kamil |
Add missing break keywords in t_ptrace_wait* x86 tests
Add missing break in switch() cases in dbregs_trap_variable().
Reported by <mrg> Detected by GCC 7
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.7 |
|
26-May-2018 |
kamil |
Port the CVE 2018-8897 mitigation to i386 ATF ptrace(2) tests
On i386 there is no need to switch execution mode. Use 0x23 SS selector for i386, amd64 used 0x4f.
Based on pointers from <maxv>.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0521
|
#
1.6 |
|
13-May-2018 |
kamil |
Refactor code in ATF ptrace(2) tests
Move the can_we_set_dbregs() auxiliary function from t_ptrace_x86_wait.h to a common file t_ptrace_wait.h. This allows using this function for checking whether the DBREGS set operations in ptrace(2) are accessible for a user.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
1.5 |
|
08-Apr-2018 |
kamil |
Add check in ATF tests for security.models.extensions.user_set_dbregs
Introduce a new function can_we_set_dbregs() in the ATF ptrace(2) tests. It uses lazy-bool evaluation whether a process can call PT_SETDBREGS.
In case of not being able to do so, print a message and mark a test as skipped:
Either run this test as root or set sysctl(3) security.models.extensions.user_set_dbregs to 1
No functional change intended to the code flow of the existing tested scenarios.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
|
#
1.4 |
|
06-Mar-2018 |
kamil |
Correct all ATF failures in t_ptrace_x86_wait.h (debug registers)
This code after refactoring stopped calling functions that were designed to trigger expected behavior and thus, tests were breaking.
Sponsored by <The NetBSD Foundation>
|
Revision tags: pgoyette-compat-base
|
#
1.3 |
|
16-Dec-2017 |
christos |
branches: 1.3.2; Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; 1.1.8; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|
#
1.3 |
|
16-Dec-2017 |
christos |
Add expected failures.
|
#
1.2 |
|
14-Dec-2017 |
christos |
sync a bit more with reality; some things still fail, some new failures. reduce spewage, be more explanatory about syscall errors.
|
Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.1 |
|
02-Apr-2017 |
kamil |
branches: 1.1.2; 1.1.4; Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/
This is the correct directory documented in tests/README for such tests.
Discussed with <martin>
Sponsored by <The NetBSD Foundation>
|