lkml.org 
[lkml]   [2022]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject答复: [PATCH] x86/mm: Directly return instead of using local ret variable
Date
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'.

\
 
 \ /
  Last update: 2022-03-28 05:02    [W:0.056 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site