Thread (24 messages) 24 messages, 4 authors, 2018-01-24

Re: [PATCH bpf-next v8 04/12] bpf: Only reply field should be writeable

From: Yuchung Cheng <hidden>
Date: 2018-01-24 19:59:11

On Tue, Jan 23, 2018 at 11:57 PM, Lawrence Brakmo [off-list ref] wrote:
Currently, a sock_ops BPF program can write the op field and all the
reply fields (reply and replylong). This is a bug. The op field should
not have been writeable and there is currently no way to use replylong
field for indices >= 1. This patch enforces that only the reply field
(which equals replylong[0]) is writeable.
Would this patch be more suitable for -net ?
Fixes: 40304b2a1567 ("bpf: BPF support for sock_ops")
Signed-off-by: Lawrence Brakmo <redacted>
Acked-by: Yuchung Cheng <redacted>
quoted hunk ↗ jump to hunk
---
 net/core/filter.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/core/filter.c b/net/core/filter.c
index 0cf170f..c356ec0 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -3845,8 +3845,7 @@ static bool sock_ops_is_valid_access(int off, int size,
 {
        if (type == BPF_WRITE) {
                switch (off) {
-               case offsetof(struct bpf_sock_ops, op) ...
-                    offsetof(struct bpf_sock_ops, replylong[3]):
+               case offsetof(struct bpf_sock_ops, reply):
                        break;
                default:
                        return false;
--
2.9.5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help