Re: [PATCH net-next] selftests: net: cleanup busy_poller.c

From: Simon Horman
Date: Thu Dec 05 2024 - 05:17:46 EST


On Tue, Dec 03, 2024 at 08:35:53AM -0800, Joe Damato wrote:
> On Tue, Dec 03, 2024 at 08:26:11AM -0800, Joe Damato wrote:
> > On Mon, Dec 02, 2024 at 09:14:58PM -0800, Stanislav Fomichev wrote:
> > > On 12/03, Joe Damato wrote:
> > > > Fix various integer type conversions by using strtoull and a temporary
> > > > variable which is bounds checked before being casted into the
> > > > appropriate cfg_* variable for use by the test program.
> > > >
> > > > While here, free the strdup'd cfg string for overall hygenie.
> > >
> > > Thank you for fixing this! I also saw them this morning after a net-next
> > > pull and was about to post... I also see the following (LLVM=1):
> > >
> > > busy_poller.c:237:6: warning: variable 'napi_id' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> > > 237 | if (napi_list->obj._present.id)
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> > > busy_poller.c:243:38: note: uninitialized use occurs here
> > > 243 | netdev_napi_set_req_set_id(set_req, napi_id);
> > > | ^~~~~~~
> > > busy_poller.c:237:2: note: remove the 'if' if its condition is always true
> > > 237 | if (napi_list->obj._present.id)
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > 238 | napi_id = napi_list->obj.id;
> > > | ~
> > > 239 | else
> > > | ~~~~
> > > 240 | error(1, 0, "napi ID not present?");
> > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > busy_poller.c:226:18: note: initialize the variable 'napi_id' to silence this warning
> > > 226 | uint32_t napi_id;
> > > | ^
> > > | = 0
> > > 1 warning generated.
> > >
> > > Presumably the compiler can't connect that fact that (!preset.id) ->
> > > error. So maybe initialize napi_id to 0 to suppress it as well?
> >
> > Thanks for the report! Can I ask what compiler and version you are
> > using so that I can test before reposting?
>
> Err, sorry. Haven't had coffee yet. I see you mentioned LLVM=1
> above. When I use that I also get the same error.
>
> FWIW: I'm using clang version 10.0.0-4ubuntu1 (which as far as I
> can tell is pretty old). I'll see if I can get a newer version just
> to make sure no other warnings appear.

Hi Joe,

If you are still looking for recent LLVM toolchains, I suggest taking
a look at https://mirrors.edge.kernel.org/pub/tools/llvm/