|
Message-ID: <36e45314-b672-b211-72c5-eef1d48984c0@kernel.org> Date: Tue, 11 Feb 2020 17:02:27 -0700 From: shuah <shuah@...nel.org> To: Kees Cook <keescook@...omium.org> Cc: Ingo Molnar <mingo@...nel.org>, Hector Marco-Gisbert <hecmargi@....es>, Catalin Marinas <catalin.marinas@....com>, Will Deacon <will.deacon@....com>, Jason Gunthorpe <jgg@...lanox.com>, Jann Horn <jannh@...gle.com>, Russell King <linux@...linux.org.uk>, x86@...nel.org, kernel-hardening@...ts.openwall.com, linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, shuah <shuah@...nel.org> Subject: Re: [PATCH v3 7/7] selftests/exec: Add READ_IMPLIES_EXEC tests On 2/11/20 4:54 PM, Kees Cook wrote: > On Tue, Feb 11, 2020 at 02:06:53PM -0700, shuah wrote: >> On 2/11/20 12:25 PM, Kees Cook wrote: >>> On Tue, Feb 11, 2020 at 11:11:21AM -0700, shuah wrote: >>>> On 2/10/20 12:30 PM, Kees Cook wrote: >>>>> In order to check the matrix of possible states for handling >>>>> READ_IMPLIES_EXEC across native, compat, and the state of PT_GNU_STACK, >>>>> add tests for these execution conditions. >>>>> >>>>> Signed-off-by: Kees Cook <keescook@...omium.org> >>>> >>>> No issues for this to go through tip. >>>> >>>> A few problems to fix first. This fails to compile when 32-bit libraries >>>> aren't installed. It should fail the 32-bit part and run other checks. >>> >>> Do you mean the Makefile should detect the missing compat build deps and >>> avoid building them? Testing compat is pretty important to this test, so >>> it seems like missing the build deps causing the build to fail is the >>> correct action here. This is likely true for the x86/ selftests too. >>> >>> What would you like this to do? >>> >> >> selftests/x86 does this already and runs the dependency check in >> x86/Makefile. >> >> >> check_cc.sh:# check_cc.sh - Helper to test userspace compilation support >> Makefile:CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) >> trivial_32bit_program.c -m32) >> Makefile:CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) >> trivial_64bit_program.c) >> Makefile:CAN_BUILD_WITH_NOPIE := $(shell ./check_cc.sh $(CC) >> trivial_program.c -no-pie) >> >> Take a look and see if you can leverage this. > > I did before, and it can certainly be done, but their stuff is somewhat > specific to x86_64/ia32. I'm looking at supporting _all_ compat for any > 64-bit architecture. I can certainly write some similar build tooling, > but the question I have for you is one of coverage: > > If a builder is 64-bit, it needs to be able to produce 32-bit compat > binaries for testing, otherwise the test is incomplete. (i.e. the tests > will only be able to test native behavior and not compat). This doesn't > seem like an "XFAIL" situation to me, and it doesn't seem right to > silently pass. It seems like the build should explicitly fail because > the needed prerequisites are missing. Do you instead want me to just > have it skip building the compat binaries if it can't build them? > Can we do the following: Build and run tests thatc an be built. Skip build and warn that test coverage is incomplete for compat with a strong recommendation on installing 32-bit libraries with some instructions on how to if applicable. thanks, -- Shuah
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.