Re: [RFC PATCH] selftests/livepatch: only consider supported arches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Joe,

On 7/12/19 11:25 AM, Joe Lawrence wrote:
On Fri, Jul 12, 2019 at 01:14:02PM -0400, Joe Lawrence wrote:
Only run the livepatching self-tests on x86_64 and ppc64le arches.

Reported-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxx>
---
  tools/testing/selftests/livepatch/Makefile | 13 +++++++++++++
  1 file changed, 13 insertions(+)

diff --git a/tools/testing/selftests/livepatch/Makefile b/tools/testing/selftests/livepatch/Makefile
index fd405402c3ff..9842fb473d42 100644
--- a/tools/testing/selftests/livepatch/Makefile
+++ b/tools/testing/selftests/livepatch/Makefile
@@ -1,5 +1,16 @@
  # SPDX-License-Identifier: GPL-2.0
+ARCH ?= $(shell uname -m 2>/dev/null || echo not)
+
+ifeq ($(ARCH),x86_64)
+livepatch_supported := 1
+endif
+ifeq ($(ARCH),ppc64le)
+livepatch_supported := 1
+endif
+
+ifdef livepatch_supported
+
  TEST_PROGS_EXTENDED := functions.sh
  TEST_PROGS := \
  	test-livepatch.sh \
@@ -7,3 +18,5 @@ TEST_PROGS := \
  	test-shadow-vars.sh
include ../lib.mk
+
+endif
--
2.21.0


Hi Shuah,

This was change was a quick and dirty fix to avoid inadvertent errors
reported by run_kselftest.sh on arches unsupported by livepatch.

Ideally we would check CONFIG_TEST_LIVEPATCH instead of the arches
directly:  This would allow distros to "turn off" this particular set of
selftests through the kernel configuration.  Also, setting
CONFIG_TEST_LIVEPATCH=m determines whether supporting livepatch
self-test modules (in lib/livepatch) will be built.  Without it, these
self-test scripts are useless.


I was just about to send you email about looking into using config
fragments.

Looks like there is a tools/testing/selftests/livepatch/config

CONFIG_TEST_LIVEPATCH=m

However, I didn't see that $(CONFIG_TEST_LIVEPATCH) was set when
invoking tools/testing/selftests/livepatch/Makefile.  I don't know how
tools/testing/selftests/vDSO/Makefile is using $(CONFIG_X86_32) but
perhaps that isn't working either.

Any suggestions?  Should we modify the test scripts themselves to deal
with a !CONFIG_TEST_LIVEPATCH environment?


Looks livepatch tests are shell scripts and there is nothing to build.
So the build time check of having a config fragment won't work for this
case.

test-livepatch.sh loads test_klp_livepatch and test_klp_atomic_replace
functions.sh has the handling for modprobing livepatch module.

The one thing I am not seeing is Skip handling. Without that users will
complain livepatch test is failing as opposed to that the test can't
run due to unmet dependencies and skipped.

Maybe that is all you need? I would recommend going in that direction
instead of Arch check.

thanks,
-- Shuah




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux