Message ID | 20190403155901.GA22686@embeddedor (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Luca Coelho |
Headers | show |
Series | [next] iwlwifi: lib: Use struct_size() helper | expand |
On Wed, 2019-04-03 at 10:59 -0500, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version > in order to avoid any potential type mistakes, in particular in the > context in which this code is being used. > > So, change the following form: > > sizeof(*pattern_cmd) + > wowlan->n_patterns * sizeof(struct > iwlagn_wowlan_pattern) > > to : > > struct_size(pattern_cmd, patterns, wowlan->n_patterns) > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> > --- > drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c > b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c > index b2f172d4f78a..cae9cd438697 100644 > --- a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c > +++ b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c > @@ -1022,8 +1022,7 @@ int iwlagn_send_patterns(struct iwl_priv *priv, > if (!wowlan->n_patterns) > return 0; > > - cmd.len[0] = sizeof(*pattern_cmd) + > - wowlan->n_patterns * sizeof(struct > iwlagn_wowlan_pattern); > + cmd.len[0] = struct_size(pattern_cmd, patterns, wowlan- > >n_patterns); > > pattern_cmd = kmalloc(cmd.len[0], GFP_KERNEL); > if (!pattern_cmd) Thanks! Applied to our internal tree and it will reach the mainline following our normal upstreaming process. -- Cheers, Luca.
diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c index b2f172d4f78a..cae9cd438697 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c @@ -1022,8 +1022,7 @@ int iwlagn_send_patterns(struct iwl_priv *priv, if (!wowlan->n_patterns) return 0; - cmd.len[0] = sizeof(*pattern_cmd) + - wowlan->n_patterns * sizeof(struct iwlagn_wowlan_pattern); + cmd.len[0] = struct_size(pattern_cmd, patterns, wowlan->n_patterns); pattern_cmd = kmalloc(cmd.len[0], GFP_KERNEL); if (!pattern_cmd)
Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes, in particular in the context in which this code is being used. So, change the following form: sizeof(*pattern_cmd) + wowlan->n_patterns * sizeof(struct iwlagn_wowlan_pattern) to : struct_size(pattern_cmd, patterns, wowlan->n_patterns) This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> --- drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)