Search Linux Wireless

Re: [PATCH] iwlwifi: add __printf argument checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This one causes a few warnings here -- can we fix those at the same time as we add this?

  CC      drivers/net/wireless/iwlwifi/iwl-agn-sta.o
drivers/net/wireless/iwlwifi/iwl-agn-sta.c: In function ‘iwl_sta_calc_ht_flags’:
drivers/net/wireless/iwlwifi/iwl-agn-sta.c:238:2: warning: too few arguments for format

  CC      drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.o
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c: In function ‘iwl_rx_handle’:
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c:516:3: warning: format ‘%d’ expects type ‘int’, but argument 6 has type ‘struct iwl_rx_mem_buffer *’
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c:516:3: warning: too few arguments for format

On Tue, May 15, 2012 at 03:01:17PM +0200, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@xxxxxxxxx>
> 
> Joe Perches suggested adding the __printf attribute
> to the __iwl_dbg function to check arguments; add it
> to all of the logging functions (err, warn, info, dbg
> and crit.)
> 
> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
> ---
>  drivers/net/wireless/iwlwifi/iwl-debug.h |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/wireless/iwlwifi/iwl-debug.h b/drivers/net/wireless/iwlwifi/iwl-debug.h
> index 8376b84..f6bf91c 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-debug.h
> +++ b/drivers/net/wireless/iwlwifi/iwl-debug.h
> @@ -38,10 +38,10 @@ static inline bool iwl_have_debug_level(u32 level)
>  }
>  
>  void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace,
> -		const char *fmt, ...);
> -void __iwl_warn(struct device *dev, const char *fmt, ...);
> -void __iwl_info(struct device *dev, const char *fmt, ...);
> -void __iwl_crit(struct device *dev, const char *fmt, ...);
> +		const char *fmt, ...) __printf(4, 5);
> +void __iwl_warn(struct device *dev, const char *fmt, ...) __printf(2, 3);
> +void __iwl_info(struct device *dev, const char *fmt, ...) __printf(2, 3);
> +void __iwl_crit(struct device *dev, const char *fmt, ...) __printf(2, 3);
>  
>  /* No matter what is m (priv, bus, trans), this will work */
>  #define IWL_ERR(m, f, a...) __iwl_err((m)->dev, false, false, f, ## a)
> @@ -52,9 +52,9 @@ void __iwl_crit(struct device *dev, const char *fmt, ...);
>  #if defined(CONFIG_IWLWIFI_DEBUG) || defined(CONFIG_IWLWIFI_DEVICE_TRACING)
>  void __iwl_dbg(struct device *dev,
>  	       u32 level, bool limit, const char *function,
> -	       const char *fmt, ...);
> +	       const char *fmt, ...) __printf(5, 6);
>  #else
> -static inline void
> +__printf(5, 6) static inline void
>  __iwl_dbg(struct device *dev,
>  	  u32 level, bool limit, const char *function,
>  	  const char *fmt, ...)
> -- 
> 1.7.10
> 
> 
> 

-- 
John W. Linville		Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx			might be all we have.  Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux