* [PATCH] bpf: add __printf() to for printf fmt strings
@ 2023-11-22 13:36 Ben Dooks
2023-11-22 15:26 ` Daniel Borkmann
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Ben Dooks @ 2023-11-22 13:36 UTC (permalink / raw)
To: bpf; +Cc: linux-kernel, Ben Dooks
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@codethink.co.uk>
---
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;
--
2.37.2.352.g3c44437643
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] bpf: add __printf() to for printf fmt strings
2023-11-22 13:36 [PATCH] bpf: add __printf() to for printf fmt strings Ben Dooks
@ 2023-11-22 15:26 ` Daniel Borkmann
2023-11-22 16:44 ` Alan Maguire
2023-11-23 3:16 ` kernel test robot
2 siblings, 0 replies; 5+ messages in thread
From: Daniel Borkmann @ 2023-11-22 15:26 UTC (permalink / raw)
To: Ben Dooks, bpf; +Cc: linux-kernel
On 11/22/23 2:36 PM, 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@codethink.co.uk>
> ---
> 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)
> {
Looks good, only small nit is to fix up kernel-style formatting wrt spacing.
> struct btf_show_snprintf *ssnprintf = (struct btf_show_snprintf *)show;
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] bpf: add __printf() to for printf fmt strings
2023-11-22 13:36 [PATCH] bpf: add __printf() to for printf fmt strings Ben Dooks
2023-11-22 15:26 ` Daniel Borkmann
@ 2023-11-22 16:44 ` Alan Maguire
2023-12-08 17:26 ` Ben Dooks
2023-11-23 3:16 ` kernel test robot
2 siblings, 1 reply; 5+ messages in thread
From: Alan Maguire @ 2023-11-22 16:44 UTC (permalink / raw)
To: Ben Dooks, bpf; +Cc: linux-kernel
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@codethink.co.uk>
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@oracle.com>
> ---
> 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;
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] bpf: add __printf() to for printf fmt strings
2023-11-22 16:44 ` Alan Maguire
@ 2023-12-08 17:26 ` Ben Dooks
0 siblings, 0 replies; 5+ messages in thread
From: Ben Dooks @ 2023-12-08 17:26 UTC (permalink / raw)
To: Alan Maguire, bpf; +Cc: linux-kernel
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@codethink.co.uk>
>
> 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@oracle.com>
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] bpf: add __printf() to for printf fmt strings
2023-11-22 13:36 [PATCH] bpf: add __printf() to for printf fmt strings Ben Dooks
2023-11-22 15:26 ` Daniel Borkmann
2023-11-22 16:44 ` Alan Maguire
@ 2023-11-23 3:16 ` kernel test robot
2 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2023-11-23 3:16 UTC (permalink / raw)
To: Ben Dooks, bpf; +Cc: oe-kbuild-all, linux-kernel, Ben Dooks
Hi Ben,
kernel test robot noticed the following build warnings:
[auto build test WARNING on bpf-next/master]
[also build test WARNING on bpf/master linus/master v6.7-rc2 next-20231122]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ben-Dooks/bpf-add-__printf-to-for-printf-fmt-strings/20231122-231149
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20231122133656.290475-1-ben.dooks%40codethink.co.uk
patch subject: [PATCH] bpf: add __printf() to for printf fmt strings
config: x86_64-randconfig-161-20231123 (https://download.01.org/0day-ci/archive/20231123/202311231030.yBuPn92M-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231123/202311231030.yBuPn92M-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311231030.yBuPn92M-lkp@intel.com/
All warnings (new ones prefixed by >>):
kernel/bpf/btf.c: In function 'btf_type_seq_show_flags':
>> kernel/bpf/btf.c:7100:14: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
7100 | sseq.showfn = btf_seq_show;
| ^
kernel/bpf/btf.c: In function 'btf_type_snprintf_show':
kernel/bpf/btf.c:7151:24: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
7151 | ssnprintf.show.showfn = btf_snprintf_show;
| ^
vim +7100 kernel/bpf/btf.c
31d0bc81637d8d Alan Maguire 2020-09-28 7093
eb411377aed9e2 Alan Maguire 2020-09-28 7094 int btf_type_seq_show_flags(const struct btf *btf, u32 type_id,
31d0bc81637d8d Alan Maguire 2020-09-28 7095 void *obj, struct seq_file *m, u64 flags)
31d0bc81637d8d Alan Maguire 2020-09-28 7096 {
31d0bc81637d8d Alan Maguire 2020-09-28 7097 struct btf_show sseq;
31d0bc81637d8d Alan Maguire 2020-09-28 7098
31d0bc81637d8d Alan Maguire 2020-09-28 7099 sseq.target = m;
31d0bc81637d8d Alan Maguire 2020-09-28 @7100 sseq.showfn = btf_seq_show;
31d0bc81637d8d Alan Maguire 2020-09-28 7101 sseq.flags = flags;
31d0bc81637d8d Alan Maguire 2020-09-28 7102
31d0bc81637d8d Alan Maguire 2020-09-28 7103 btf_type_show(btf, type_id, obj, &sseq);
31d0bc81637d8d Alan Maguire 2020-09-28 7104
31d0bc81637d8d Alan Maguire 2020-09-28 7105 return sseq.state.status;
31d0bc81637d8d Alan Maguire 2020-09-28 7106 }
31d0bc81637d8d Alan Maguire 2020-09-28 7107
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-12-08 17:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-22 13:36 [PATCH] bpf: add __printf() to for printf fmt strings Ben Dooks
2023-11-22 15:26 ` Daniel Borkmann
2023-11-22 16:44 ` Alan Maguire
2023-12-08 17:26 ` Ben Dooks
2023-11-23 3:16 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox