All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcos Paulo de Souza <mpdesouza@suse.com>
To: Shuah Khan <shuah@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Sven Schnelle <svens@linux.ibm.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Jiri Kosina <jikos@kernel.org>,  Miroslav Benes <mbenes@suse.cz>,
	Petr Mladek <pmladek@suse.com>,
	Joe Lawrence <joe.lawrence@redhat.com>
Cc: linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org,
	 linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
	 live-patching@vger.kernel.org
Subject: Re: [PATCH RESEND v4 0/3] livepatch: Move modules to selftests and add a new test
Date: Thu, 21 Dec 2023 09:17:04 -0300	[thread overview]
Message-ID: <55b717dba239f3bedf0da7e25925e390a63459f5.camel@suse.com> (raw)
In-Reply-To: <20231220-send-lp-kselftests-v4-0-3458ec1b1a38@suse.com>

On Wed, 2023-12-20 at 13:53 -0300, Marcos Paulo de Souza wrote:
> Changes in v4:
> * Documented how to compile the livepatch selftests without running
> the
>   tests (Joe)
> * Removed the mention to lib/livepatch on MAINTAINERS file, reported
> by
>   checkpatch.
> 

To clarify: this is not a resend, this is the v4 that people were
waiting for. I made a mistake with b4 tool, that first I sent the email
just to myself, for testing, and it bumped the version to v5, but I
asked it to "resend" the v4, but it ended up adding the "RESEND" to the
series.

Please review this patchset and ignore the RESEND word.

Thanks to Petr Mladek for spotting my mistake.

	Marcos

> Changes in v3:
> * Rebased on top of v6.6-rc5
> * The commits messages were improved (Thanks Petr!)
> * Created TEST_GEN_MODS_DIR variable to point to a directly that
> contains kernel
>   modules, and adapt selftests to build it before running the test.
> * Moved test_klp-call_getpid out of test_programs, since the gen_tar
>   would just copy the generated test programs to the livepatches dir,
>   and so scripts relying on test_programs/test_klp-call_getpid will
> fail.
> * Added a module_param for klp_pids, describing it's usage.
> * Simplified the call_getpid program to ignore the return of getpid
> syscall,
>   since we only want to make sure the process transitions correctly
> to the
>   patched stated
> * The test-syscall.sh not prints a log message showing the number of
> remaining
>   processes to transition into to livepatched state, and check_output
> expects it
>   to be 0.
> * Added MODULE_AUTHOR and MODULE_DESCRIPTION to test_klp_syscall.c
> 
> - Link to v3:
> https://lore.kernel.org/r/20231031-send-lp-kselftests-v3-0-2b1655c2605f@suse.com
> - Link to v2:
> https://lore.kernel.org/linux-kselftest/20220630141226.2802-1-mpdesouza@suse.com/
> 
> This patchset moves the current kernel testing livepatch modules from
> lib/livepatches to tools/testing/selftest/livepatch/test_modules, and
> compiles
> them as out-of-tree modules before testing.
> 
> There is also a new test being added. This new test exercises
> multiple processes
> calling a syscall, while a livepatch patched the syscall.
> 
> Why this move is an improvement:
> * The modules are now compiled as out-of-tree modules against the
> current
>   running kernel, making them capable of being tested on different
> systems with
>   newer or older kernels.
> * Such approach now needs kernel-devel package to be installed, since
> they are
>   out-of-tree modules. These can be generated by running "make rpm-
> pkg" in the
>   kernel source.
> 
> What needs to be solved:
> * Currently gen_tar only packages the resulting binaries of the
> tests, and not
>   the sources. For the current approach, the newly added modules
> would be
>   compiled and then packaged. It works when testing on a system with
> the same
>   kernel version. But it will fail when running on a machine with
> different kernel
>   version, since module was compiled against the kernel currently
> running.
> 
>   This is not a new problem, just aligning the expectations. For the
> current
>   approach to be truly system agnostic gen_tar would need to include
> the module
>   and program sources to be compiled in the target systems.
> 
> Thanks in advance!
>   Marcos
> 
> Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
> ---
> Marcos Paulo de Souza (3):
>       kselftests: lib.mk: Add TEST_GEN_MODS_DIR variable
>       livepatch: Move tests from lib/livepatch to selftests/livepatch
>       selftests: livepatch: Test livepatching a heavily called
> syscall
> 
>  Documentation/dev-tools/kselftest.rst              |   4 +
>  MAINTAINERS                                        |   1 -
>  arch/s390/configs/debug_defconfig                  |   1 -
>  arch/s390/configs/defconfig                        |   1 -
>  lib/Kconfig.debug                                  |  22 ----
>  lib/Makefile                                       |   2 -
>  lib/livepatch/Makefile                             |  14 ---
>  tools/testing/selftests/lib.mk                     |  20 +++-
>  tools/testing/selftests/livepatch/Makefile         |   5 +-
>  tools/testing/selftests/livepatch/README           |  25 +++--
>  tools/testing/selftests/livepatch/config           |   1 -
>  tools/testing/selftests/livepatch/functions.sh     |  34 +++---
>  .../testing/selftests/livepatch/test-callbacks.sh  |  50 ++++-----
>  tools/testing/selftests/livepatch/test-ftrace.sh   |   6 +-
>  .../testing/selftests/livepatch/test-livepatch.sh  |  10 +-
>  .../selftests/livepatch/test-shadow-vars.sh        |   2 +-
>  tools/testing/selftests/livepatch/test-state.sh    |  18 ++--
>  tools/testing/selftests/livepatch/test-syscall.sh  |  53 ++++++++++
>  tools/testing/selftests/livepatch/test-sysfs.sh    |   6 +-
>  .../selftests/livepatch/test_klp-call_getpid.c     |  44 ++++++++
>  .../selftests/livepatch/test_modules/Makefile      |  20 ++++
>  .../test_modules}/test_klp_atomic_replace.c        |   0
>  .../test_modules}/test_klp_callbacks_busy.c        |   0
>  .../test_modules}/test_klp_callbacks_demo.c        |   0
>  .../test_modules}/test_klp_callbacks_demo2.c       |   0
>  .../test_modules}/test_klp_callbacks_mod.c         |   0
>  .../livepatch/test_modules}/test_klp_livepatch.c   |   0
>  .../livepatch/test_modules}/test_klp_shadow_vars.c |   0
>  .../livepatch/test_modules}/test_klp_state.c       |   0
>  .../livepatch/test_modules}/test_klp_state2.c      |   0
>  .../livepatch/test_modules}/test_klp_state3.c      |   0
>  .../livepatch/test_modules/test_klp_syscall.c      | 116
> +++++++++++++++++++++
>  32 files changed, 334 insertions(+), 121 deletions(-)
> ---
> base-commit: 206ed72d6b33f53b2a8bf043f54ed6734121d26b
> change-id: 20231031-send-lp-kselftests-4c917dcd4565
> 
> Best regards,


  parent reply	other threads:[~2023-12-21 12:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20 16:53 [PATCH RESEND v4 0/3] livepatch: Move modules to selftests and add a new test Marcos Paulo de Souza
2023-12-20 16:53 ` [PATCH RESEND v4 1/3] kselftests: lib.mk: Add TEST_GEN_MODS_DIR variable Marcos Paulo de Souza
2024-01-02 22:31   ` Joe Lawrence
2024-01-03 22:09     ` Shuah Khan
2024-01-08 17:13       ` Marcos Paulo de Souza
2024-01-09 19:31         ` Shuah Khan
2024-01-10  0:27           ` Marcos Paulo de Souza
2023-12-20 16:53 ` [PATCH RESEND v4 2/3] livepatch: Move tests from lib/livepatch to selftests/livepatch Marcos Paulo de Souza
2023-12-20 16:53 ` [PATCH RESEND v4 3/3] selftests: livepatch: Test livepatching a heavily called syscall Marcos Paulo de Souza
2023-12-21 12:17 ` Marcos Paulo de Souza [this message]
2023-12-21 20:10   ` [PATCH RESEND v4 0/3] livepatch: Move modules to selftests and add a new test Shuah Khan
2023-12-22 18:40   ` Konstantin Ryabitsev
2023-12-22 18:52     ` Marcos Paulo de Souza
2023-12-22 19:11       ` Konstantin Ryabitsev
2023-12-22 19:13         ` Marcos Paulo de Souza
2023-12-22 20:31           ` Konstantin Ryabitsev
2023-12-22 20:35     ` Kernel.org Bugbot
2023-12-22 20:40     ` b4: implement send --dry-run-to ADDR [ADDR ...] Kernel.org Bugbot
2023-12-22 20:35 ` livepatch: Move modules to selftests and add a new test Kernel.org Bugbot
2023-12-22 20:45 ` Kernel.org Bugbot
2024-01-03 20:15 ` [PATCH RESEND v4 0/3] " Joe Lawrence

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55b717dba239f3bedf0da7e25925e390a63459f5.camel@suse.com \
    --to=mpdesouza@suse.com \
    --cc=agordeev@linux.ibm.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=corbet@lwn.net \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=jikos@kernel.org \
    --cc=joe.lawrence@redhat.com \
    --cc=jpoimboe@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=pmladek@suse.com \
    --cc=shuah@kernel.org \
    --cc=svens@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.