Hi Tao,

Thank you for the review and comments.

> The TRANSITION mark indicating a live patch is activating or
> deactivating or either? I mean, when people see the TRANSITION flag,
> do they know the exact operation that is on the system, like it is
> patching, or unpatching, or it doesn't distinguish the operation at
> all?

[TRANSITION] now explicitly means “a livepatch transition is in
progress,” without distinguishing enable vs. disable. The intent is to
surface that the system is in a transient state.

> Your above code is 1) check if transition_patch is null. 2) check if
> transition_patch is within the klp_patches list.
> 
> But I see in the kernel source, there are only lists to be added into
> the klp_patches list, no one is to be deleted [1]. So my assumption
> is, transition_patch will always be found within klp_patches. Because
> for all livepatches, they must go through klp_enable_patch() ->
> klp_init_patch() -> list_add_tail(&patch->list, &klp_patches), and no
> one to be deleted from klp_patches afterwards, so transition_patch
> must be one of those. If my assumption is correct, is step 2)
> necessary?

Step 2 is still necessary.
A patch can be removed from the klp_patches list by
klp_free_patch_async(), which can be reached via the path:
enabled_store() -> __klp_disable_patch().
Although it is unlikely that klp_transition_patch is not in klp_patches,
this is not guaranteed, so it is safer to keep the additional
list membership check.


> And also for the list iteration in step 2), I suggest using the
> do_list() function of crash utility, you can refer to
> memory.c:dump_vmap_area() to get an example of do_list() usage.

That's a good idea! I agree with you.
I wasn’t aware of this helper in the crash utility, so I will update the code
accordingly and send a v2 patch.


Best regards,
Motomasa Suzuki
--
Crash-utility mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to