Module Name: src Committed By: riastradh Date: Thu Feb 27 00:55:32 UTC 2025
Modified Files: src/distrib/sets/lists/debug: mi src/distrib/sets/lists/tests: mi src/tests/kernel: Makefile Added Files: src/tests/kernel: h_execregs_unimpl.c t_execregs.c src/tests/kernel/arch/aarch64: execregs.c execregs.h h_execregs.S src/tests/kernel/arch/hppa: execregs.c execregs.h h_execregs.S src/tests/kernel/arch/i386: execregs.c execregs.h h_execregs.S src/tests/kernel/arch/vax: execregs.c execregs.h h_execregs.S src/tests/kernel/arch/x86_64: execregs.c execregs.h h_execregs.S Log Message: Test whether exec/spawn will zero registers. Currently implemented only for a handful of architectures; should extend this to all the others, and extend as appropriate if we find more register content is worth testing (like maybe vector registers, but they are managed differently anyway and less likely to leak). VAX test contributed (and tested) by Kalvis Duckmanton, with some tweaks by me; the others written and tested by me. IA64 skipped, even though I suspect it _would_ leak if the kernel code ran as is, because I have no way to test it. PR kern/59084: exec/spawn leaks register content To generate a diff of this commit: cvs rdiff -u -r1.465 -r1.466 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.1358 -r1.1359 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.84 -r1.85 src/tests/kernel/Makefile cvs rdiff -u -r0 -r1.1 src/tests/kernel/h_execregs_unimpl.c \ src/tests/kernel/t_execregs.c cvs rdiff -u -r0 -r1.1 src/tests/kernel/arch/aarch64/execregs.c \ src/tests/kernel/arch/aarch64/execregs.h \ src/tests/kernel/arch/aarch64/h_execregs.S cvs rdiff -u -r0 -r1.1 src/tests/kernel/arch/hppa/execregs.c \ src/tests/kernel/arch/hppa/execregs.h \ src/tests/kernel/arch/hppa/h_execregs.S cvs rdiff -u -r0 -r1.1 src/tests/kernel/arch/i386/execregs.c \ src/tests/kernel/arch/i386/execregs.h \ src/tests/kernel/arch/i386/h_execregs.S cvs rdiff -u -r0 -r1.1 src/tests/kernel/arch/vax/execregs.c \ src/tests/kernel/arch/vax/execregs.h \ src/tests/kernel/arch/vax/h_execregs.S cvs rdiff -u -r0 -r1.1 src/tests/kernel/arch/x86_64/execregs.c \ src/tests/kernel/arch/x86_64/execregs.h \ src/tests/kernel/arch/x86_64/h_execregs.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.