On 03/31/2016, 11:33 AM, Jiri Slaby wrote: > On 03/25/2016, 08:35 PM, Josh Poimboeuf wrote: >> Expose the per-task klp_universe value so users can determine which >> tasks are holding up completion of a patching operation. >> >> Call it "patch_status" rather than "universe": it's at least more >> descriptive for the average user. >> >> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> >> --- >> fs/proc/base.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/fs/proc/base.c b/fs/proc/base.c >> index b1755b2..f90998b 100644 >> --- a/fs/proc/base.c >> +++ b/fs/proc/base.c >> @@ -2801,6 +2801,15 @@ static int proc_pid_personality(struct seq_file *m, struct pid_namespace *ns, >> return err; >> } >> >> +#ifdef CONFIG_LIVEPATCH >> +static int proc_pid_patch_status(struct seq_file *m, struct pid_namespace *ns, >> + struct pid *pid, struct task_struct *task) >> +{ >> + seq_printf(m, "%d\n", task->klp_universe); >> + return 0; >> +} >> +#endif /* CONFIG_LIVEPATCH */ >> + >> /* >> * Thread groups >> */ >> @@ -2900,6 +2909,9 @@ static const struct pid_entry tgid_base_stuff[] = { >> REG("timers", S_IRUGO, proc_timers_operations), >> #endif >> REG("timerslack_ns", S_IRUGO|S_IWUGO, proc_pid_set_timerslack_ns_operations), >> +#ifdef CONFIG_LIVEPATCH >> + ONE("patch_status", S_IRUSR, proc_pid_patch_status), >> +#endif > > I think we want to know the state about all tasks, not only group > leaders. This should go to tid_base_stuff. Or loop over all tasks here by for_each_thread(task, t) and check them all. > thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html