From: Dan Carpenter <dan.carpenter@oracle.com>
To: Alexei Starovoitov <ast@kernel.org>, Kaixu Xia <xiakaixu@huawei.com>
Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: [patch -next] bpf: off by one in check_map_func_compatibility()
Date: Thu, 13 Aug 2015 20:27:47 +0000 [thread overview]
Message-ID: <20150813202747.GA6478@mwanda> (raw)
The loop iterates one space too far, so we might read beyond the end of
the func_limit[] array.
Fixes: 35578d798400 ('bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 48e1c71..ed12e38 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -853,7 +853,7 @@ static int check_map_func_compatibility(struct bpf_map *map, int func_id)
if (!map)
return 0;
- for (i = 0; i <= ARRAY_SIZE(func_limit); i++) {
+ for (i = 0; i < ARRAY_SIZE(func_limit); i++) {
bool_map = (map->map_type = func_limit[i].map_type);
bool_func = (func_id = func_limit[i].func_id);
/* only when map & func pair match it can continue.
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Alexei Starovoitov <ast@kernel.org>, Kaixu Xia <xiakaixu@huawei.com>
Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: [patch -next] bpf: off by one in check_map_func_compatibility()
Date: Thu, 13 Aug 2015 23:27:47 +0300 [thread overview]
Message-ID: <20150813202747.GA6478@mwanda> (raw)
The loop iterates one space too far, so we might read beyond the end of
the func_limit[] array.
Fixes: 35578d798400 ('bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 48e1c71..ed12e38 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -853,7 +853,7 @@ static int check_map_func_compatibility(struct bpf_map *map, int func_id)
if (!map)
return 0;
- for (i = 0; i <= ARRAY_SIZE(func_limit); i++) {
+ for (i = 0; i < ARRAY_SIZE(func_limit); i++) {
bool_map = (map->map_type == func_limit[i].map_type);
bool_func = (func_id == func_limit[i].func_id);
/* only when map & func pair match it can continue.
next reply other threads:[~2015-08-13 20:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-13 20:27 Dan Carpenter [this message]
2015-08-13 20:27 ` [patch -next] bpf: off by one in check_map_func_compatibility() Dan Carpenter
2015-08-13 20:31 ` Daniel Borkmann
2015-08-13 20:31 ` Daniel Borkmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150813202747.GA6478@mwanda \
--to=dan.carpenter@oracle.com \
--cc=ast@kernel.org \
--cc=kernel-janitors@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=xiakaixu@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.