From mboxrd@z Thu Jan 1 00:00:00 1970 From: Srinivas Pandruvada Subject: Re: [PATCH 1/2] HID: intel-ish-hid: add printf attribute to print_log() Date: Thu, 22 Dec 2016 09:11:17 -0800 Message-ID: <1482426677.6264.17.camel@linux.intel.com> References: <20161222100910.6179-1-nicolas.iooss_linux@m4x.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20161222100910.6179-1-nicolas.iooss_linux@m4x.org> Sender: linux-kernel-owner@vger.kernel.org To: Nicolas Iooss , Jiri Kosina , Benjamin Tissoires Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-input@vger.kernel.org On Thu, 2016-12-22 at 11:09 +0100, Nicolas Iooss wrote: > Structure ishtp_device contains a logging function, print_log(), > which > formats some of its parameters using vsnprintf(). Add a __printf > attribute to this function field (and to ish_event_tracer()) in order > to > detect at compile time issues related to the printf-like formatting. > > While at it, make format parameter a const pointer as print_log() is > not > supposed to modify it. > > Signed-off-by: Nicolas Iooss Acked-by: Srinivas Pandruvada > --- >  drivers/hid/intel-ish-hid/ipc/pci-ish.c     | 3 ++- >  drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h | 3 ++- >  2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/hid/intel-ish-hid/ipc/pci-ish.c > b/drivers/hid/intel-ish-hid/ipc/pci-ish.c > index 20d647d2dd2c..34c95de6885e 100644 > --- a/drivers/hid/intel-ish-hid/ipc/pci-ish.c > +++ b/drivers/hid/intel-ish-hid/ipc/pci-ish.c > @@ -47,7 +47,8 @@ MODULE_DEVICE_TABLE(pci, ish_pci_tbl); >   * >   * Callback to direct log messages to Linux trace buffers >   */ > -static void ish_event_tracer(struct ishtp_device *dev, char *format, > ...) > +static __printf(2, 3) > +void ish_event_tracer(struct ishtp_device *dev, const char *format, > ...) >  { >   if (trace_ishtp_dump_enabled()) { >   va_list args; > diff --git a/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h > b/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h > index a94f9a8a96a0..6a6d927b78b0 100644 > --- a/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h > +++ b/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h > @@ -238,7 +238,8 @@ struct ishtp_device { >   uint64_t ishtp_host_dma_rx_buf_phys; >   >   /* Dump to trace buffers if enabled*/ > - void (*print_log)(struct ishtp_device *dev, char *format, > ...); > + __printf(2, 3) void (*print_log)(struct ishtp_device *dev, > +  const char *format, ...); >   >   /* Debug stats */ >   unsigned int ipc_rx_cnt;