public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
@ 2011-06-12 16:21 Joe Perches
  2011-06-12 16:21 ` [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout Joe Perches
  2011-06-13 16:31 ` [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 5+ messages in thread
From: Joe Perches @ 2011-06-12 16:21 UTC (permalink / raw)
  To: Jeremy Fitzhardinge, Konrad Rzeszutek Wilk
  Cc: linux-kernel, xen-devel, virtualization

Use the compiler to verify printf formats and arguments.

Fix fallout.

Signed-off-by: Joe Perches <joe@perches.com>
---
 drivers/block/xen-blkback/xenbus.c |    2 +-
 include/xen/hvc-console.h          |    4 +++-
 include/xen/xenbus.h               |    2 ++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index 6cc0db1..3f129b4 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -684,7 +684,7 @@ again:
 
 	err = xenbus_switch_state(dev, XenbusStateConnected);
 	if (err)
-		xenbus_dev_fatal(dev, err, "switching to Connected state",
+		xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
 				 dev->nodename);
 
 	return;
diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h
index c3adde3..901724d 100644
--- a/include/xen/hvc-console.h
+++ b/include/xen/hvc-console.h
@@ -6,11 +6,13 @@ extern struct console xenboot_console;
 #ifdef CONFIG_HVC_XEN
 void xen_console_resume(void);
 void xen_raw_console_write(const char *str);
+__attribute__((format(printf, 1, 2)))
 void xen_raw_printk(const char *fmt, ...);
 #else
 static inline void xen_console_resume(void) { }
 static inline void xen_raw_console_write(const char *str) { }
-static inline void xen_raw_printk(const char *fmt, ...) { }
+static inline __attribute__((format(printf, 1, 2)))
+void xen_raw_printk(const char *fmt, ...) { }
 #endif
 
 #endif	/* XEN_HVC_CONSOLE_H */
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index 5467369..aceeca7 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -223,7 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port);
 
 enum xenbus_state xenbus_read_driver_state(const char *path);
 
+__attribute__((format(printf, 3, 4)))
 void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...);
+__attribute__((format(printf, 3, 4)))
 void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...);
 
 const char *xenbus_strstate(enum xenbus_state state);
-- 
1.7.6.rc1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout
  2011-06-12 16:21 [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Joe Perches
@ 2011-06-12 16:21 ` Joe Perches
  2011-06-13  8:43   ` Jens Axboe
  2011-06-13 16:31 ` [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Konrad Rzeszutek Wilk
  1 sibling, 1 reply; 5+ messages in thread
From: Joe Perches @ 2011-06-12 16:21 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel

Use the compiler to verify format strings and arguments.

Fix fallout.

Signed-off-by: Joe Perches <joe@perches.com>
---
 block/blk-throttle.c         |    4 ++--
 block/cfq-iosched.c          |   11 ++++++-----
 include/linux/blktrace_api.h |    3 ++-
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index a62be8d..3689f83 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -927,7 +927,7 @@ static int throtl_dispatch(struct request_queue *q)
 
 	bio_list_init(&bio_list_on_stack);
 
-	throtl_log(td, "dispatch nr_queued=%lu read=%u write=%u",
+	throtl_log(td, "dispatch nr_queued=%d read=%u write=%u",
 			total_nr_queued(td), td->nr_queued[READ],
 			td->nr_queued[WRITE]);
 
@@ -1204,7 +1204,7 @@ int blk_throtl_bio(struct request_queue *q, struct bio **biop)
 	}
 
 queue_bio:
-	throtl_log_tg(td, tg, "[%c] bio. bdisp=%u sz=%u bps=%llu"
+	throtl_log_tg(td, tg, "[%c] bio. bdisp=%llu sz=%u bps=%llu"
 			" iodisp=%u iops=%u queued=%d/%d",
 			rw == READ ? 'R' : 'W',
 			tg->bytes_disp[rw], bio->bi_size, tg->bps[rw],
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 3c7b537..587513e 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -988,9 +988,10 @@ static void cfq_group_served(struct cfq_data *cfqd, struct cfq_group *cfqg,
 
 	cfq_log_cfqg(cfqd, cfqg, "served: vt=%llu min_vt=%llu", cfqg->vdisktime,
 					st->min_vdisktime);
-	cfq_log_cfqq(cfqq->cfqd, cfqq, "sl_used=%u disp=%u charge=%u iops=%u"
-			" sect=%u", used_sl, cfqq->slice_dispatch, charge,
-			iops_mode(cfqd), cfqq->nr_sectors);
+	cfq_log_cfqq(cfqq->cfqd, cfqq,
+		     "sl_used=%u disp=%u charge=%u iops=%u sect=%lu",
+		     used_sl, cfqq->slice_dispatch, charge,
+		     iops_mode(cfqd), cfqq->nr_sectors);
 	cfq_blkiocg_update_timeslice_used(&cfqg->blkg, used_sl,
 					  unaccounted_sl);
 	cfq_blkiocg_set_start_empty_time(&cfqg->blkg);
@@ -2023,8 +2024,8 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd)
 	 */
 	if (sample_valid(cic->ttime_samples) &&
 	    (cfqq->slice_end - jiffies < cic->ttime_mean)) {
-		cfq_log_cfqq(cfqd, cfqq, "Not idling. think_time:%d",
-				cic->ttime_mean);
+		cfq_log_cfqq(cfqd, cfqq, "Not idling. think_time:%lu",
+			     cic->ttime_mean);
 		return;
 	}
 
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h
index b22fb0d..8c7c2de 100644
--- a/include/linux/blktrace_api.h
+++ b/include/linux/blktrace_api.h
@@ -169,7 +169,8 @@ extern void blk_trace_shutdown(struct request_queue *);
 extern int do_blk_trace_setup(struct request_queue *q, char *name,
 			      dev_t dev, struct block_device *bdev,
 			      struct blk_user_trace_setup *buts);
-extern void __trace_note_message(struct blk_trace *, const char *fmt, ...);
+extern __attribute__((format(printf, 2, 3)))
+void __trace_note_message(struct blk_trace *, const char *fmt, ...);
 
 /**
  * blk_add_trace_msg - Add a (simple) message to the blktrace stream
-- 
1.7.6.rc1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout
  2011-06-12 16:21 ` [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout Joe Perches
@ 2011-06-13  8:43   ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2011-06-13  8:43 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel

On 2011-06-12 18:21, Joe Perches wrote:
> Use the compiler to verify format strings and arguments.

Thanks, applied.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
  2011-06-12 16:21 [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Joe Perches
  2011-06-12 16:21 ` [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout Joe Perches
@ 2011-06-13 16:31 ` Konrad Rzeszutek Wilk
  2011-06-13 16:40   ` Joe Perches
  1 sibling, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2011-06-13 16:31 UTC (permalink / raw)
  To: Joe Perches; +Cc: Jeremy Fitzhardinge, xen-devel, linux-kernel, virtualization

On Sun, Jun 12, 2011 at 09:21:13AM -0700, Joe Perches wrote:
> Use the compiler to verify printf formats and arguments.
> 

What compiler? If this is not included in 3.0 what is the fallout?

> Fix fallout.
> 
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>  drivers/block/xen-blkback/xenbus.c |    2 +-
>  include/xen/hvc-console.h          |    4 +++-
>  include/xen/xenbus.h               |    2 ++
>  3 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index 6cc0db1..3f129b4 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -684,7 +684,7 @@ again:
>  
>  	err = xenbus_switch_state(dev, XenbusStateConnected);
>  	if (err)
> -		xenbus_dev_fatal(dev, err, "switching to Connected state",
> +		xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
>  				 dev->nodename);
>  
>  	return;
> diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h
> index c3adde3..901724d 100644
> --- a/include/xen/hvc-console.h
> +++ b/include/xen/hvc-console.h
> @@ -6,11 +6,13 @@ extern struct console xenboot_console;
>  #ifdef CONFIG_HVC_XEN
>  void xen_console_resume(void);
>  void xen_raw_console_write(const char *str);
> +__attribute__((format(printf, 1, 2)))
>  void xen_raw_printk(const char *fmt, ...);
>  #else
>  static inline void xen_console_resume(void) { }
>  static inline void xen_raw_console_write(const char *str) { }
> -static inline void xen_raw_printk(const char *fmt, ...) { }
> +static inline __attribute__((format(printf, 1, 2)))
> +void xen_raw_printk(const char *fmt, ...) { }
>  #endif
>  
>  #endif	/* XEN_HVC_CONSOLE_H */
> diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
> index 5467369..aceeca7 100644
> --- a/include/xen/xenbus.h
> +++ b/include/xen/xenbus.h
> @@ -223,7 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port);
>  
>  enum xenbus_state xenbus_read_driver_state(const char *path);
>  
> +__attribute__((format(printf, 3, 4)))
>  void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...);
> +__attribute__((format(printf, 3, 4)))
>  void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...);
>  
>  const char *xenbus_strstate(enum xenbus_state state);
> -- 
> 1.7.6.rc1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
  2011-06-13 16:31 ` [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Konrad Rzeszutek Wilk
@ 2011-06-13 16:40   ` Joe Perches
  0 siblings, 0 replies; 5+ messages in thread
From: Joe Perches @ 2011-06-13 16:40 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Jeremy Fitzhardinge, xen-devel, linux-kernel, virtualization

On Mon, 2011-06-13 at 12:31 -0400, Konrad Rzeszutek Wilk wrote:
> On Sun, Jun 12, 2011 at 09:21:13AM -0700, Joe Perches wrote:
> > Use the compiler to verify printf formats and arguments.
> What compiler?

Any supported version of gcc.

>  If this is not included in 3.0 what is the fallout?

Nothing of any import.
nodename won't get printed on an unlikely error message.
I don't think it should go into 3.0.

> >  	err = xenbus_switch_state(dev, XenbusStateConnected);
> >  	if (err)
> > -		xenbus_dev_fatal(dev, err, "switching to Connected state",
> > +		xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
> >  				 dev->nodename);



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-06-13 16:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-12 16:21 [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Joe Perches
2011-06-12 16:21 ` [PATCH 2/2] block: Add __attribute__((format(printf...) and fix fallout Joe Perches
2011-06-13  8:43   ` Jens Axboe
2011-06-13 16:31 ` [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate Konrad Rzeszutek Wilk
2011-06-13 16:40   ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox