lkml.org 
[lkml]   [2021]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] Fix the bool convert to int issue
Date
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
\
 
 \ /
  Last update: 2021-09-18 09:31    [W:0.035 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site