Live Patching
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: jpoimboe@kernel.org, jikos@kernel.org, mbenes@suse.cz,
	joe.lawrence@redhat.com, song@kernel.org,
	live-patching@vger.kernel.org
Subject: Re: [PATCH v3 2/2] selftests/livepatch: filter debug messages in check_result()
Date: Wed, 26 Aug 2026 09:54:45 +0200	[thread overview]
Message-ID: <ao6bxf5D9O1U-JJ7@pathway.suse.cz> (raw)
In-Reply-To: <20260821031648.48195-3-laoar.shao@gmail.com>

On Fri 2026-08-21 11:16:48, Yafang Shao wrote:
> CONFIG_DEBUG_KOBJECT makes kobject_add_internal(), kobject_uevent_env(),
> fill_kobj_path() and friends emit pr_debug() messages, and
> CONFIG_DEBUG_KOBJECT_RELEASE makes kobject_release() emit a pr_info()
> for every delayed kobject free.  All of these carry the "kobject:" prefix
> via pr_fmt(), e.g.:
> 
>  # --- expected
>  # +++ result
>  # @@ -1,7 +1,13 @@
>  #  % insmod test_modules/test_klp_livepatch.ko
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): kobject_add_internal: parent: 'module', set: 'module'
>  # +kobject: 'holders' (000000002856f0ae): kobject_add_internal: parent: 'test_klp_livepatch', set: '<NULL>'
>  # +kobject: 'test_klp_livepatch' (00000000dcae1113): kobject_add_internal: parent: 'livepatch', set: '<NULL>'
>  # +kobject: 'vmlinux' (000000007b8837e6): kobject_add_internal: parent: 'test_klp_livepatch', set: '<NULL>'
>  #  livepatch: enabling patch 'test_klp_livepatch'
>  #  livepatch: 'test_klp_livepatch': initializing patching transition
>  #  livepatch: 'test_klp_livepatch': starting patching transition
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): kobject_uevent_env
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): fill_kobj_path: path = '/module/test_klp_livepatch'
>  #  livepatch: 'test_klp_livepatch': completing patching transition
>  #  livepatch: 'test_klp_livepatch': patching complete
>  #  % echo 0 > /sys/kernel/livepatch/test_klp_livepatch/enabled
>  # @@ -9,4 +15,17 @@ livepatch: 'test_klp_livepatch': initial
>  #  livepatch: 'test_klp_livepatch': starting unpatching transition
>  #  livepatch: 'test_klp_livepatch': completing unpatching transition
>  #  livepatch: 'test_klp_livepatch': unpatching complete
>  # +kobject: 'test_klp_livepatch' (00000000dcae1113): kobject_release, parent 00000000f8785d63 (delayed 2000)
>  # +kobject: 'test_klp_livepatch' (00000000dcae1113): kobject_cleanup, parent 00000000f8785d63
>  # +kobject: 'test_klp_livepatch' (00000000dcae1113): auto cleanup kobject_del
>  # +kobject: 'test_klp_livepatch' (00000000dcae1113): calling ktype release
>  # +kobject: 'test_klp_livepatch': free name
>  #  % rmmod test_klp_livepatch
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): kobject_release, parent 0000000052e5c022 (delayed 3000)
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): kobject_cleanup, parent 0000000052e5c022
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): auto cleanup kobject_del
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): auto cleanup 'remove' event
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): kobject_uevent_env
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): fill_kobj_path: path = '/module/test_klp_livepatch'
>  # +kobject: 'test_klp_livepatch' (000000009dbf565e): calling ktype release
>  # +kobject: 'test_klp_livepatch': free name
>  #
>  # ERROR: livepatch kselftest(s) failed
>  not ok 1 selftests: livepatch: test-livepatch.sh # exit=1
> 
> The livepatch test modules' kobjects are named "test_klp_*", so these
> lines match the check_result() grep for "test_klp" and leak into the
> result.  The extra lines no longer match the expected output, so the
> selftests fail when either debug config is enabled.
> 
> Filtering out every "kobject:" line also hides real WARN()s, e.g. the
> one kobject_get() emits for an object whose refcount was not
> initialized.  Filtering with "dmesg --level=..." is not enough either,
> since the tests enable livepatch pr_debug() through dynamic_debug/control
> and expect its messages.  Read the log with "dmesg --raw" and drop only
> the debug-level messages without the "livepatch:" prefix, plus the
> specific delayed-release info message.
> 
> Suggested-by: Petr Mladek <pmladek@suse.com>
> Signed-off-by: Yafang Shao <laoar.shao@gmail.com>

I am not much familiar with awk. But the changes look good
and selftests passed so:

Reviewed-by: Petr Mladek <pmladek@suse.com>
Tested-by: Petr Mladek <pmladek@suse.com>

Best Regards,
Petr

  parent reply	other threads:[~2026-08-26  7:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21  3:16 [PATCH v3 0/2] livepatch: Fix issues around CONFIG_DEBUG_KOBJECT_RELEASE Yafang Shao
2026-08-21  3:16 ` [PATCH v3 1/2] livepatch: Fix UAF of unregistered patch kobjects Yafang Shao
2026-08-21 20:45   ` Song Liu
2026-08-26  7:52   ` Petr Mladek
2026-08-21  3:16 ` [PATCH v3 2/2] selftests/livepatch: filter debug messages in check_result() Yafang Shao
2026-08-21 20:45   ` Song Liu
2026-08-26  7:54   ` Petr Mladek [this message]
2026-08-26 20:26     ` Joe Lawrence
2026-08-27  5:55       ` Yafang Shao
2026-08-26  7:56 ` [PATCH v3 0/2] livepatch: Fix issues around CONFIG_DEBUG_KOBJECT_RELEASE Petr Mladek

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=ao6bxf5D9O1U-JJ7@pathway.suse.cz \
    --to=pmladek@suse.com \
    --cc=jikos@kernel.org \
    --cc=joe.lawrence@redhat.com \
    --cc=jpoimboe@kernel.org \
    --cc=laoar.shao@gmail.com \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=song@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox