Re: [PATCH v2 05/10] x86/mce/genpool: Make mce_gen_pool_create() return explicit error codes

From: Sohil Mehta
Date: Fri Oct 18 2024 - 15:20:51 EST



> diff --git a/arch/x86/kernel/cpu/mce/genpool.c b/arch/x86/kernel/cpu/mce/genpool.c
> index 4284749ec803..ffa28769dea6 100644
> --- a/arch/x86/kernel/cpu/mce/genpool.c
> +++ b/arch/x86/kernel/cpu/mce/genpool.c
> @@ -120,20 +120,20 @@ static int mce_gen_pool_create(void)
> {
> int mce_numrecords, mce_poolsz, order;
> struct gen_pool *gpool;
> - int ret = -ENOMEM;
> void *mce_pool;
> + int ret;
>

Nit: Maybe move the uninitialized ret along with the other ints in the
first line?

I had suggested something very similar but Boris felt that the current
code as-is reads better. But that was in a slightly different context.
https://lore.kernel.org/lkml/20240307170901.GBZen0re6AvpscLaTM@fat_crate.local/


> order = order_base_2(sizeof(struct mce_evt_llist));
> gpool = gen_pool_create(order, -1);
> if (!gpool)
> - return ret;
> + return -ENOMEM;
>
> mce_numrecords = max(MCE_MIN_ENTRIES, num_possible_cpus() * MCE_PER_CPU);
> mce_poolsz = mce_numrecords * (1 << order);
> mce_pool = kmalloc(mce_poolsz, GFP_KERNEL);
> if (!mce_pool) {
> gen_pool_destroy(gpool);
> - return ret;
> + return -ENOMEM;
> }
> ret = gen_pool_add(gpool, (unsigned long)mce_pool, mce_poolsz, -1);
> if (ret) {
> @@ -144,7 +144,7 @@ static int mce_gen_pool_create(void)
>
> mce_evt_pool = gpool;
>
> - return ret;
> + return 0;
> }
>
> int mce_gen_pool_init(void)