[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <347c75b8-3a48-0758-892a-0d0ac139f740@intel.com>
Date: Sun, 27 Mar 2022 19:49:19 -0700
From: Dave Hansen <dave.hansen@...el.com>
To: Haowen Bai <baihaowen@...zu.com>, dave.hansen@...ux.intel.com,
luto@...nel.org, peterz@...radead.org
Cc: linux-kernel@...r.kernel.org
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'.
Powered by blists - more mailing lists