Re: [PATCH] bpf: add __printf() to for printf fmt strings

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

 



On 22/11/2023 16:44, Alan Maguire wrote:
On 22/11/2023 13:36, Ben Dooks wrote:
The btf_seq_show() and btf_snprintf_show() take a printk format
string so add a __printf() to these two functions. This fixes the
following extended warnings:

kernel/bpf/btf.c:7094:29: error: function ‘btf_seq_show’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
kernel/bpf/btf.c:7131:9: error: function ‘btf_snprintf_show’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]

Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>

Looks good to me, thanks for fixing! Could also add a

Fixes: eb411377aed9 ("bpf: Add bpf_seq_printf_btf helper")

Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx>


Thanks, looks like the test robot found some issues so will
go back and look at those as soon as I can.

---
  kernel/bpf/btf.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 15d71d2986d3..46c2e87c383d 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -7088,8 +7088,8 @@ static void btf_type_show(const struct btf *btf, u32 type_id, void *obj,
  	btf_type_ops(t)->show(btf, t, type_id, obj, 0, show);
  }
-static void btf_seq_show(struct btf_show *show, const char *fmt,
-			 va_list args)
+static __printf(2,0) void btf_seq_show(struct btf_show *show, const char *fmt,
+				       va_list args)
  {
  	seq_vprintf((struct seq_file *)show->target, fmt, args);
  }
@@ -7122,7 +7122,7 @@ struct btf_show_snprintf {
  	int len;		/* length we would have written */
  };
-static void btf_snprintf_show(struct btf_show *show, const char *fmt,
+static __printf(2,0) void btf_snprintf_show(struct btf_show *show, const char *fmt,
  			      va_list args)
  {
  	struct btf_show_snprintf *ssnprintf = (struct btf_show_snprintf *)show;


--
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux