Re: [PATCH net-next 9/9] net: ipa: use a bitmap for enabled endpoints

From: Jakub Kicinski
Date: Wed Nov 02 2022 - 00:34:14 EST


On Sat, 29 Oct 2022 19:18:28 -0500 Alex Elder wrote:
> /* Set up the defined endpoint bitmap */
> ipa->defined = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
> ipa->set_up = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
> + ipa->enabled = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
> if (!ipa->defined || !ipa->set_up) {

This condition should now check if ipa->enabled

And the error handling patch needs to free it, in case it was something
else that didn't get allocated?

Frankly I have gotten mass-NULL-checks wrong more than once myself so
I'd steer clear of those, they are strangely error prone.

> dev_err(dev, "unable to allocate endpoint bitmaps\n");

this error message should not be here (patch 5 adds it I think)
memory allocation failures produce a splat, no need to print errors

> + bitmap_free(ipa->set_up);
> + ipa->set_up = NULL;
> bitmap_free(ipa->defined);