Messages in this thread Patch in this message | | | From | 白浩文 <> | Subject | 答复: [PATCH] x86/mm: Directly return instead of using local ret variable | Date | Mon, 28 Mar 2022 03:02:02 +0000 |
| |
Thank you for pointing my mistaken. ________________________________________ 发件人: Dave Hansen <dave.hansen@intel.com> 发送时间: 2022年3月28日 10:49:19 收件人: 白浩文; dave.hansen@linux.intel.com; luto@kernel.org; peterz@infradead.org 抄送: linux-kernel@vger.kernel.org 主题: Re: [PATCH] x86/mm: Directly return instead of using local ret variable
On 3/27/22 19:12, Haowen Bai wrote: > > diff --git a/arch/x86/mm/pf_in.c b/arch/x86/mm/pf_in.c > index 3f83e31..4eff3ee 100644 > --- a/arch/x86/mm/pf_in.c > +++ b/arch/x86/mm/pf_in.c > @@ -130,7 +130,6 @@ enum reason_type get_ins_type(unsigned long ins_addr) > unsigned char *p; > struct prefix_bits prf; > int i; > - enum reason_type rv = OTHERS; > > p = (unsigned char *)ins_addr; > p += skip_prefix(p, &prf); > @@ -141,7 +140,7 @@ enum reason_type get_ins_type(unsigned long ins_addr) > CHECK_OP_TYPE(opcode, imm_wop, IMM_WRITE); > > exit: > - return rv; > + return OTHERS; > } > #undef CHECK_OP_TYPE >
Does this even compile? Take a look at this macro:
> #define CHECK_OP_TYPE(opcode, array, type) \ > for (i = 0; i < ARRAY_SIZE(array); i++) { \ > if (array[i] == opcode) { \ > rv = type; \ > goto exit; \ > } \
It uses 'rv'.
| |