livepatch/ppc64: Check active func in consistency stack checking
hulk inclusion
category: bugfix
bugzilla: 51924
CVE: NA
---------------------------
When doing consistency stack checking, if we try to patch a function
which has been patched already. We should check the new function(not
the origin func) that is activeness currently, it's always the first
entry in list func_node->func_stack.
Example :
module : origin livepatch v1 livepatch v2
func : old func A -[enable]=> new func A' -[enable]=> new func A''
check : A A'
when we try to patch function A to new function A'' by livepatch v2,
but the func A has already patched to function A' by livepatch v1, so
function A' which provided in livepatch v1 is active in the stack
instead of origin function A. Even if the long jump method is used, we
jump to the new function A' using a call without LR, the origin function
A will not appear in the stack. We must check the active function A' in
consistency stack checking.
Signed-off-by:
Cheng Jian <cj.chengjian@huawei.com>
Reviewed-By:
Xie XiuQi <xiexiuqi@huawei.com>
Signed-off-by:
yangerkun <yangerkun@huawei.com>
Signed-off-by:
Dong Kai <dongkai11@huawei.com>
Signed-off-by:
Ye Weihua <yeweihua4@huawei.com>
Reviewed-by:
Kuohai Xu <xukuohai@huawei.com>
Reviewed-by:
Yang Jihong <yangjihong1@huawei.com>
Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment