* [PATCH] tools/bpftool: silence a static check warning
@ 2018-01-15 8:15 Dan Carpenter
2018-01-15 10:35 ` Daniel Borkmann
0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2018-01-15 8:15 UTC (permalink / raw)
To: Alexei Starovoitov, Daniel Borkmann; +Cc: netdev, kernel-janitors
There is a static checker warning that proglen has an upper bound but no
lower bound. The allocation will just fail harmlessly so it's not a big
deal.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c
index 30044bc4f389..2d7bb5dc0b8c 100644
--- a/tools/bpf/bpf_jit_disasm.c
+++ b/tools/bpf/bpf_jit_disasm.c
@@ -205,7 +205,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen,
regfree(®ex);
return NULL;
}
- if (proglen > 1000000) {
+ if (proglen < 0 || proglen > 1000000) {
printf("proglen of %d too big, stopping\n", proglen);
return NULL;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tools/bpftool: silence a static check warning
2018-01-15 8:15 [PATCH] tools/bpftool: silence a static check warning Dan Carpenter
@ 2018-01-15 10:35 ` Daniel Borkmann
2018-01-18 9:35 ` [PATCH v2] tools/bpftool: silence a static checker warning Dan Carpenter
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Borkmann @ 2018-01-15 10:35 UTC (permalink / raw)
To: Dan Carpenter, Alexei Starovoitov; +Cc: netdev, kernel-janitors
Hi Dan,
On 01/15/2018 09:15 AM, Dan Carpenter wrote:
> There is a static checker warning that proglen has an upper bound but no
> lower bound. The allocation will just fail harmlessly so it's not a big
> deal.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c
> index 30044bc4f389..2d7bb5dc0b8c 100644
> --- a/tools/bpf/bpf_jit_disasm.c
> +++ b/tools/bpf/bpf_jit_disasm.c
> @@ -205,7 +205,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen,
> regfree(®ex);
> return NULL;
> }
> - if (proglen > 1000000) {
> + if (proglen < 0 || proglen > 1000000) {
Could you just change proglen into unsigned? It's parsing the bpf_jit_dump()
and there we use proglen=%u anyway.
> printf("proglen of %d too big, stopping\n", proglen);
> return NULL;
> }
>
Thanks,
Daniel
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] tools/bpftool: silence a static checker warning
2018-01-15 10:35 ` Daniel Borkmann
@ 2018-01-18 9:35 ` Dan Carpenter
2018-01-18 21:23 ` Daniel Borkmann
0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2018-01-18 9:35 UTC (permalink / raw)
To: Alexei Starovoitov; +Cc: Daniel Borkmann, netdev, kernel-janitors
There is a static checker warning that "proglen" has an upper bound but
no lower bound. The allocation will just fail harmlessly so it's not a
big deal.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
v2: change the type to unsigned instead of checking for negatives
diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c
index 30044bc4f389..58c2bab4ef6e 100644
--- a/tools/bpf/bpf_jit_disasm.c
+++ b/tools/bpf/bpf_jit_disasm.c
@@ -172,7 +172,8 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen,
{
char *ptr, *pptr, *tmp;
off_t off = 0;
- int ret, flen, proglen, pass, ulen = 0;
+ unsigned int proglen;
+ int ret, flen, pass, ulen = 0;
regmatch_t pmatch[1];
unsigned long base;
regex_t regex;
@@ -199,7 +200,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen,
}
ptr = haystack + off - (pmatch[0].rm_eo - pmatch[0].rm_so);
- ret = sscanf(ptr, "flen=%d proglen=%d pass=%d image=%lx",
+ ret = sscanf(ptr, "flen=%d proglen=%u pass=%d image=%lx",
&flen, &proglen, &pass, &base);
if (ret != 4) {
regfree(®ex);
@@ -239,7 +240,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen,
}
assert(ulen == proglen);
- printf("%d bytes emitted from JIT compiler (pass:%d, flen:%d)\n",
+ printf("%u bytes emitted from JIT compiler (pass:%d, flen:%d)\n",
proglen, pass, flen);
printf("%lx + <x>:\n", base);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] tools/bpftool: silence a static checker warning
2018-01-18 9:35 ` [PATCH v2] tools/bpftool: silence a static checker warning Dan Carpenter
@ 2018-01-18 21:23 ` Daniel Borkmann
0 siblings, 0 replies; 4+ messages in thread
From: Daniel Borkmann @ 2018-01-18 21:23 UTC (permalink / raw)
To: Dan Carpenter, Alexei Starovoitov; +Cc: netdev, kernel-janitors
On 01/18/2018 10:35 AM, Dan Carpenter wrote:
> There is a static checker warning that "proglen" has an upper bound but
> no lower bound. The allocation will just fail harmlessly so it's not a
> big deal.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Applied to bpf-next, thanks Dan! (I changed the prefix from 'tools/bpftool'
into 'tools/bpf_jit_disasm' since it's not touching bpftool here.)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-18 21:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-15 8:15 [PATCH] tools/bpftool: silence a static check warning Dan Carpenter
2018-01-15 10:35 ` Daniel Borkmann
2018-01-18 9:35 ` [PATCH v2] tools/bpftool: silence a static checker warning Dan Carpenter
2018-01-18 21:23 ` Daniel Borkmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).