Re: [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
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); ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization
Re: [Xen-devel] [PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
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 > --- > 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-de...@lists.xensource.com > http://lists.xensource.com/xen-devel ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization
[PATCH 1/2] xen: Add __attribute__((format(printf... where appropriate
Use the compiler to verify printf formats and arguments. Fix fallout. Signed-off-by: Joe Perches --- 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 ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization