Hi, John & Miroslav

>> 
>> Would it be possible to just use klp_transition_patch and implement the 
>> logic just in using_show()?
> 
> Yes, containing the logic to the sysfs file sounds a lot better.

Maybe I can try to use the state of klp_transition_patch to update the 
function's state instead of changing code in klp_complete_transition?

> 
>> I have not thought through it completely but 
>> klp_transition_patch is also an indicator that there is a transition going 
>> on. It is set to NULL only after all func->transition are false. So if you 
>> check that, you can assign -1 in using_show() immediately and then just 
>> look at the top of func_stack.
> 
> sysfs already has per-patch 'transition' and 'enabled' files so I don't
> like duplicating that information.
> 
> The only thing missing is the patch stack order.  How about a simple
> per-patch file which indicates that?
> 
>  /sys/kernel/livepatch/<patchA>/order => 1
>  /sys/kernel/livepatch/<patchB>/order => 2
> 
> The implementation should be trivial with the use of
> klp_for_each_patch() to count the patches.
> 
I think this is the second solution. It seems that adding an interface to patch 
level is an acceptable way. And if patch order is provided in 
/sys/kernel/livepatch/<patchA>/order, we should make a user space tool to 
calculate the function that is activate in the system. From my point to the 
original problem, it is more look like a workaround.

> journalctl -b ?
> Store the state in a file in /var/run?

Getting patch order from journal is the way I think not reliable. In fact, I 
don't recommend to get patch order in that way. ^_^

Thanks!
Wardenjohn


Reply via email to