Messages in this thread Patch in this message | | | From | cgel.zte@gmail ... | Subject | [PATCH] Fix the bool convert to int issue | Date | Sat, 18 Sep 2021 07:30:37 +0000 |
| |
From: Yang Guang <yang.guang5@zte.com.cn>
The int value which convert from bool true is 0xFFFFFFFF. Causing the __sc_insn return wrong type.
Signed-off-by: Yang Guang <yang.guang5@zte.com.cn> --- arch/x86/kernel/static_call.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/static_call.c b/arch/x86/kernel/static_call.c index ea028e736831..f608e6710300 100644 --- a/arch/x86/kernel/static_call.c +++ b/arch/x86/kernel/static_call.c @@ -89,7 +89,7 @@ static inline enum insn_type __sc_insn(bool null, bool tail) * 1 | 0 | JMP * 1 | 1 | RET */ - return 2*tail + null; + return ((tail)?2:0) + ((null)?1:0); } void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) -- 2.25.1
| |