Messages in this thread | | | From | Shay Agroskin <> | Subject | Re: [PATCH] net: ena: initialize dim_sample | Date | Tue, 10 Jan 2023 18:58:37 +0200 |
| |
Eric Dumazet <edumazet@google.com> writes:
> On Sun, Jan 8, 2023 at 3:38 PM Tom Rix <trix@redhat.com> wrote: >> >> clang static analysis reports this problem >> drivers/net/ethernet/amazon/ena/ena_netdev.c:1821:2: warning: >> Passed-by-value struct >> argument contains uninitialized data (e.g., field: >> 'comp_ctr') [core.CallAndMessage] >> net_dim(&ena_napi->dim, dim_sample); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> net_dim can call dim_calc_stats() which uses the comp_ctr >> element, >> so it must be initialized. > > This seems to be a dim_update_sample() problem really, when > comp_ctr > has been added... > > Your patch works, but we could avoid pre-initializing dim_sample > in all callers, > then re-writing all but one field... > > diff --git a/include/linux/dim.h b/include/linux/dim.h > index > 6c5733981563eadf5f06c59c5dc97df961692b02..4604ced4517268ef8912cd8053ac8f4d2630f977 > 100644 > --- a/include/linux/dim.h > +++ b/include/linux/dim.h > @@ -254,6 +254,7 @@ dim_update_sample(u16 event_ctr, u64 > packets, u64 > bytes, struct dim_sample *s) > s->pkt_ctr = packets; > s->byte_ctr = bytes; > s->event_ctr = event_ctr; > + s->comp_ctr = 0; > } > > /**
Hi,
I'd rather go with Eric's solution to this issue than zero the whole struct in ENA
Thanks, Shay
| |