All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tobin C. Harding" <tobin@kernel.org>
To: Josh Poimboeuf <jpoimboe@redhat.com>,
	Jiri Kosina <jikos@kernel.org>, Miroslav Benes <mbenes@suse.cz>,
	Petr Mladek <pmladek@suse.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Tobin C. Harding" <tobin@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Joe Lawrence <joe.lawrence@redhat.com>,
	live-patching@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [RFC PATCH 0/5] kobject: Add and use init predicate
Date: Thu,  2 May 2019 12:31:37 +1000	[thread overview]
Message-ID: <20190502023142.20139-1-tobin@kernel.org> (raw)

Hi,

This set patches kobject to add a predicate function for determining the
initialization state of a kobject.  Stripped down, the predicate is:

	bool kobject_is_initialized(struct kobject *kobj)
	{
		return kobj->state_initialized
	}

This is RFC because there are merge conflicts with Greg's driver-core
tree.  I'm guessing this is caused by the cleanup patches (#2 and #3).
If the set is deemed likeable then I can re-work the set targeting
whomever's tree this would go in through.

Applies on top of:

	mainline tag: v5.1-rc6
	livepatching branch: for-next

Series Description
------------------
	
Patch #1 is a memleak patch, previously posted and not overly
interesting.  Comment by Greg on the thread on that patch was the
incentive for this series.

Patch #2 and #3 are kobject kernel-doc comment clean ups.  Can be
dropped if not liked.

Patch #4 adds the predicate function to the kobject API.

Patch #5 uses the new predicate to remove the custom logic from livepatch
for tracking kobject initialization state.

Testing
-------

Kernel build configuration

	$ egrep LIVEPATCH .config
	CONFIG_HAVE_LIVEPATCH=y
	CONFIG_LIVEPATCH=y
	CONFIG_TEST_LIVEPATCH=m

	$ egrep FTRACE .config
	CONFIG_KPROBES_ON_FTRACE=y
	CONFIG_HAVE_KPROBES_ON_FTRACE=y
	CONFIG_HAVE_DYNAMIC_FTRACE=y
	CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
	CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
	CONFIG_FTRACE=y
	CONFIG_FTRACE_SYSCALLS=y
	CONFIG_DYNAMIC_FTRACE=y
	CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
	CONFIG_FTRACE_MCOUNT_RECORD=y
	# CONFIG_FTRACE_STARTUP_TEST is not set

Builds fine but doesn't boot in Qemu.  I've never run dynamic Ftrace, it
appears to crash during this.  Was hoping to run the livepatch tests but
not sure how to at this moment.  Is dynamic Ftrace and livepatch testing
something that can even be done in a VM or do I need to do this or
baremetal?

Thanks for taking the time to look at this.

	Tobin


Tobin C. Harding (5):
  livepatch: Fix kobject memleak
  kobject: Remove docstring reference to kset
  kobject: Fix kernel-doc comment first line
  kobject: Add kobject initialized predicate
  livepatch: Do not manually track kobject initialization

 include/linux/kobject.h   |  2 ++
 include/linux/livepatch.h |  6 ----
 kernel/livepatch/core.c   | 28 +++++++++---------
 lib/kobject.c             | 60 +++++++++++++++++++++++----------------
 4 files changed, 51 insertions(+), 45 deletions(-)

-- 
2.21.0


             reply	other threads:[~2019-05-02  2:40 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-02  2:31 Tobin C. Harding [this message]
2019-05-02  2:31 ` [RFC PATCH 1/5] livepatch: Fix kobject memleak Tobin C. Harding
2019-05-02  7:22   ` Greg Kroah-Hartman
2019-05-02  8:46   ` Petr Mladek
2019-05-02  2:31 ` [RFC PATCH 2/5] kobject: Remove docstring reference to kset Tobin C. Harding
2019-05-02  7:20   ` Greg Kroah-Hartman
2019-05-02  2:31 ` [RFC PATCH 3/5] kobject: Fix kernel-doc comment first line Tobin C. Harding
2019-05-02  7:20   ` Greg Kroah-Hartman
2019-05-02  7:38   ` Johan Hovold
2019-05-02  8:25     ` Tobin C. Harding
2019-05-02  8:39       ` Johan Hovold
2019-05-03  1:40         ` Tobin C. Harding
2019-05-03  1:46           ` Randy Dunlap
2019-05-03 12:23             ` Jonathan Corbet
2019-05-03  7:56           ` Johan Hovold
2019-05-03  8:05             ` Petr Mladek
2019-05-06 23:00             ` Tobin C. Harding
2019-05-07  9:38               ` Johan Hovold
2019-05-02  2:31 ` [RFC PATCH 4/5] kobject: Add kobject initialized predicate Tobin C. Harding
2019-05-02  2:31 ` [RFC PATCH 5/5] livepatch: Do not manually track kobject initialization Tobin C. Harding
2019-05-02  7:12   ` Greg Kroah-Hartman
2019-05-02  7:30     ` Petr Mladek
2019-05-02  7:42       ` Greg Kroah-Hartman
2019-05-02  8:31       ` Tobin C. Harding
2019-05-02  8:51         ` Petr Mladek
2019-05-02 11:42 ` [RFC PATCH 0/5] kobject: Add and use init predicate Miroslav Benes

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=20190502023142.20139-1-tobin@kernel.org \
    --to=tobin@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jikos@kernel.org \
    --cc=joe.lawrence@redhat.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=pmladek@suse.com \
    --cc=rafael@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 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.