Messages in this thread Patch in this message | | | From | Eric Dumazet <> | Date | Mon, 9 Jan 2023 11:34:28 +0100 | Subject | Re: [PATCH] net: ena: initialize dim_sample |
| |
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; }
/**
| |