Thread (7 messages) flat view 7 messages, 3 authors, 2024-03-16

Re: [PATCH bpf-next v3 2/2] bpf: Check return from set_memory_rox()

From: Martin KaFai Lau <martin.lau@linux.dev>
Date: 2024-03-15 21:12:06
Also in: bpf, linux-arm-kernel, lkml

On 3/15/24 1:55 PM, Martin KaFai Lau wrote:
On 3/15/24 10:06 AM, Christophe Leroy wrote:
quoted
diff --git a/kernel/bpf/bpf_struct_ops.c b/kernel/bpf/bpf_struct_ops.c
index 43356faaa057..ca1d9b87c475 100644
--- a/kernel/bpf/bpf_struct_ops.c
+++ b/kernel/bpf/bpf_struct_ops.c
@@ -742,8 +742,11 @@ static long bpf_struct_ops_map_update_elem(struct bpf_map 
*map, void *key,
          if (err)
              goto reset_unlock;
      }
-    for (i = 0; i < st_map->image_pages_cnt; i++)
-        arch_protect_bpf_trampoline(st_map->image_pages[i], PAGE_SIZE);
+    for (i = 0; i < st_map->image_pages_cnt && !err; i++)
+        err = arch_protect_bpf_trampoline(st_map->image_pages[i], PAGE_SIZE);
+
+    if (err)
+        goto reset_unlock;
This part does not look right. The "if (err)" check should be inside the for loop.
ah. Please ignore. missed the "!err" in the for loop.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help