Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1646089 > unrolled thread
| Started by | Nicolas Iooss <nicolas.iooss_linux@m4x.org> |
|---|---|
| First post | 2017-05-20 11:20 +0200 |
| Last post | 2017-05-24 08:00 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 1/1] printk: add __printf attributes to internal functions Nicolas Iooss <nicolas.iooss_linux@m4x.org> - 2017-05-20 11:20 +0200
Re: [PATCH 1/1] printk: add __printf attributes to internal functions Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-05-22 04:50 +0200
Re: [PATCH 1/1] printk: add __printf attributes to internal functions Petr Mladek <pmladek@suse.com> - 2017-05-22 17:30 +0200
[PATCH v2 1/1] printk: add __printf attributes to internal functions Nicolas Iooss <nicolas.iooss_linux@m4x.org> - 2017-05-24 08:00 +0200
| From | Nicolas Iooss <nicolas.iooss_linux@m4x.org> |
|---|---|
| Date | 2017-05-20 11:20 +0200 |
| Subject | [PATCH 1/1] printk: add __printf attributes to internal functions |
| Message-ID | <tJ8Ih-7FO-3@gated-at.bofh.it> |
When compiling with -Wsuggest-attribute=format, gcc complains that some
functions in kernel/printk/printk_safe.c transmit their argument to
printf-like functions without having a printf attribute. Silence these
warnings by adding relevant __printf attributes.
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
---
kernel/printk/printk_safe.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/printk/printk_safe.c b/kernel/printk/printk_safe.c
index 033e50a7d706..2e27a31941f4 100644
--- a/kernel/printk/printk_safe.c
+++ b/kernel/printk/printk_safe.c
@@ -80,8 +80,8 @@ static void queue_flush_work(struct printk_safe_seq_buf *s)
* happen, printk_safe_log_store() will notice the buffer->len mismatch
* and repeat the write.
*/
-static int printk_safe_log_store(struct printk_safe_seq_buf *s,
- const char *fmt, va_list args)
+static __printf(2, 0) int printk_safe_log_store(struct printk_safe_seq_buf *s,
+ const char *fmt, va_list args)
{
int add;
size_t len;
@@ -299,7 +299,7 @@ void printk_safe_flush_on_panic(void)
* one writer running. But the buffer might get flushed from another
* CPU, so we need to be careful.
*/
-static int vprintk_nmi(const char *fmt, va_list args)
+static __printf(1, 0) int vprintk_nmi(const char *fmt, va_list args)
{
struct printk_safe_seq_buf *s = this_cpu_ptr(&nmi_print_seq);
@@ -330,7 +330,7 @@ static int vprintk_nmi(const char *fmt, va_list args)
* into itself. It uses a per-CPU buffer to store the message, just like
* NMI.
*/
-static int vprintk_safe(const char *fmt, va_list args)
+static __printf(1, 0) int vprintk_safe(const char *fmt, va_list args)
{
struct printk_safe_seq_buf *s = this_cpu_ptr(&safe_print_seq);
--
2.12.2
[toc] | [next] | [standalone]
| From | Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> |
|---|---|
| Date | 2017-05-22 04:50 +0200 |
| Message-ID | <tJLzX-80i-5@gated-at.bofh.it> |
| In reply to | #1646089 |
On (05/20/17 11:18), Nicolas Iooss wrote: > When compiling with -Wsuggest-attribute=format, gcc complains that some > functions in kernel/printk/printk_safe.c transmit their argument to > printf-like functions without having a printf attribute. Silence these > warnings by adding relevant __printf attributes. > > Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> no objections from my side. Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> -ss
[toc] | [prev] | [next] | [standalone]
| From | Petr Mladek <pmladek@suse.com> |
|---|---|
| Date | 2017-05-22 17:30 +0200 |
| Message-ID | <tJXrr-7oA-9@gated-at.bofh.it> |
| In reply to | #1646089 |
On Sat 2017-05-20 11:18:53, Nicolas Iooss wrote:
> When compiling with -Wsuggest-attribute=format, gcc complains that some
> functions in kernel/printk/printk_safe.c transmit their argument to
> printf-like functions without having a printf attribute. Silence these
> warnings by adding relevant __printf attributes.
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
> ---
> kernel/printk/printk_safe.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/printk/printk_safe.c b/kernel/printk/printk_safe.c
> index 033e50a7d706..2e27a31941f4 100644
> --- a/kernel/printk/printk_safe.c
> +++ b/kernel/printk/printk_safe.c
> @@ -80,8 +80,8 @@ static void queue_flush_work(struct printk_safe_seq_buf *s)
> * happen, printk_safe_log_store() will notice the buffer->len mismatch
> * and repeat the write.
> */
> -static int printk_safe_log_store(struct printk_safe_seq_buf *s,
> - const char *fmt, va_list args)
> +static __printf(2, 0) int printk_safe_log_store(struct printk_safe_seq_buf *s,
> + const char *fmt, va_list args)
> {
> int add;
> size_t len;
> @@ -299,7 +299,7 @@ void printk_safe_flush_on_panic(void)
> * one writer running. But the buffer might get flushed from another
> * CPU, so we need to be careful.
> */
> -static int vprintk_nmi(const char *fmt, va_list args)
> +static __printf(1, 0) int vprintk_nmi(const char *fmt, va_list args)
There is one more variant of this function used when CONFIG_PRINTK_NMI
is not defined. Feel free to send updated patch as a reply. Or I could
add this trivial change when pushing this patch to printk.git if nobody
complains.
Otherwise, the patch looks fine to me. Therefore with patching the other
vprintk_nmi() variant:
Acked-by: Petr Mladek <pmladek@suse.com>
Best Regards,
Petr
[toc] | [prev] | [next] | [standalone]
| From | Nicolas Iooss <nicolas.iooss_linux@m4x.org> |
|---|---|
| Date | 2017-05-24 08:00 +0200 |
| Subject | [PATCH v2 1/1] printk: add __printf attributes to internal functions |
| Message-ID | <tKxuV-6zP-3@gated-at.bofh.it> |
| In reply to | #1647036 |
When compiling with -Wsuggest-attribute=format, gcc complains that some
functions in kernel/printk/printk_safe.c transmit their argument to
printf-like functions without having a printf attribute. Silence these
warnings by adding relevant __printf attributes.
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Acked-by: Petr Mladek <pmladek@suse.com>
---
v2: add __printf attribute to the definition of vprintk_nmi() which is
used when CONFIG_PRINTK_NMI is not defined.
kernel/printk/printk_safe.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/kernel/printk/printk_safe.c b/kernel/printk/printk_safe.c
index 033e50a7d706..f96d1ecd85ac 100644
--- a/kernel/printk/printk_safe.c
+++ b/kernel/printk/printk_safe.c
@@ -80,8 +80,8 @@ static void queue_flush_work(struct printk_safe_seq_buf *s)
* happen, printk_safe_log_store() will notice the buffer->len mismatch
* and repeat the write.
*/
-static int printk_safe_log_store(struct printk_safe_seq_buf *s,
- const char *fmt, va_list args)
+static __printf(2, 0) int printk_safe_log_store(struct printk_safe_seq_buf *s,
+ const char *fmt, va_list args)
{
int add;
size_t len;
@@ -299,7 +299,7 @@ void printk_safe_flush_on_panic(void)
* one writer running. But the buffer might get flushed from another
* CPU, so we need to be careful.
*/
-static int vprintk_nmi(const char *fmt, va_list args)
+static __printf(1, 0) int vprintk_nmi(const char *fmt, va_list args)
{
struct printk_safe_seq_buf *s = this_cpu_ptr(&nmi_print_seq);
@@ -318,7 +318,7 @@ void printk_nmi_exit(void)
#else
-static int vprintk_nmi(const char *fmt, va_list args)
+static __printf(1, 0) int vprintk_nmi(const char *fmt, va_list args)
{
return 0;
}
@@ -330,7 +330,7 @@ static int vprintk_nmi(const char *fmt, va_list args)
* into itself. It uses a per-CPU buffer to store the message, just like
* NMI.
*/
-static int vprintk_safe(const char *fmt, va_list args)
+static __printf(1, 0) int vprintk_safe(const char *fmt, va_list args)
{
struct printk_safe_seq_buf *s = this_cpu_ptr(&safe_print_seq);
--
2.13.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web