bpf: Clear up confusion in bpf_skb_adjust_room()'s documentation
authorQuentin Monnet <quentin@isovalent.com>
Fri, 12 Aug 2022 15:37:27 +0000 (16:37 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 15 Aug 2022 15:34:29 +0000 (17:34 +0200)
Adding or removing room space _below_ layers 2 or 3, as the description
mentions, is ambiguous. This was written with a mental image of the
packet with layer 2 at the top, layer 3 under it, and so on. But it has
led users to believe that it was on lower layers (before the beginning
of the L2 and L3 headers respectively).

Let's make it more explicit, and specify between which layers the room
space is adjusted.

Reported-by: Rumen Telbizov <rumen.telbizov@menlosecurity.com>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220812153727.224500-3-quentin@isovalent.com
include/uapi/linux/bpf.h
tools/include/uapi/linux/bpf.h

index 7d1e2794d83ebd2b6d33ce46910fecb59807bb70..934a2a8beb87fc305923fc2a0dbae62c17552ee6 100644 (file)
@@ -2573,10 +2573,12 @@ union bpf_attr {
  *             There are two supported modes at this time:
  *
  *             * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer
- *               (room space is added or removed below the layer 2 header).
+ *               (room space is added or removed between the layer 2 and
+ *               layer 3 headers).
  *
  *             * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer
- *               (room space is added or removed below the layer 3 header).
+ *               (room space is added or removed between the layer 3 and
+ *               layer 4 headers).
  *
  *             The following flags are supported at this time:
  *
index e174ad28aeb7bffc3bb2e239db7cfa43eaea671b..1d6085e15fc8e6a0e34af04220602fa455f5b687 100644 (file)
@@ -2573,10 +2573,12 @@ union bpf_attr {
  *             There are two supported modes at this time:
  *
  *             * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer
- *               (room space is added or removed below the layer 2 header).
+ *               (room space is added or removed between the layer 2 and
+ *               layer 3 headers).
  *
  *             * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer
- *               (room space is added or removed below the layer 3 header).
+ *               (room space is added or removed between the layer 3 and
+ *               layer 4 headers).
  *
  *             The following flags are supported at this time:
  *