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