Messages in this thread | | | Date | Sun, 27 Mar 2022 19:49:19 -0700 | From | Dave Hansen <> | Subject | 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'.
| |