Skip to content

[CI run] selftests/bpf: Don't assign outer source IP to host #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 971 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
971 commits
Select commit Hold shift + click to select a range
abf1efb
samsung/sxgbe: fix repeated words in comments
Jun 30, 2022
04740c5
qlogic/qed: fix repeated words in comments
Jun 30, 2022
504148f
net: add skb_[inner_]tcp_all_headers helpers
edumazet Jun 30, 2022
eb566fc
dt-bindings: net: Updated micrel,led-mode for LAN8814 PHY
Divya-Koppera Jul 1, 2022
a516b7f
net: phy: micrel: Adding LED feature for LAN8814 PHY
Divya-Koppera Jul 1, 2022
f3f6631
Merge branch 'lan8814-led'
davem330 Jul 2, 2022
528f7f1
dt-bindings: net: make internal-delay-ps based on phy-mode
pvengat Jul 1, 2022
8926d94
dt-bindings: net: dsa: dt bindings for microchip lan937x
pvengat Jul 1, 2022
092f875
net: dsa: tag_ksz: add tag handling for Microchip LAN937x
pvengat Jul 1, 2022
457c182
net: dsa: microchip: generic access to ksz9477 static and reserved table
rarun-mchp Jul 1, 2022
55ab6ff
net: dsa: microchip: add DSA support for microchip LAN937x
rarun-mchp Jul 1, 2022
99b16df
net: dsa: microchip: lan937x: add dsa_tag_protocol
rarun-mchp Jul 1, 2022
ffaf1de
net: dsa: microchip: lan937x: add phy read and write support
rarun-mchp Jul 1, 2022
a50b353
net: dsa: microchip: lan937x: register mdio-bus
rarun-mchp Jul 1, 2022
ab88236
net: dsa: microchip: lan937x: add MTU and fast_age support
rarun-mchp Jul 1, 2022
c14e878
net: dsa: microchip: lan937x: add phylink_get_caps support
rarun-mchp Jul 1, 2022
f597d3a
net: dsa: microchip: lan937x: add phylink_mac_link_up support
rarun-mchp Jul 1, 2022
a0cb1aa
net: dsa: microchip: lan937x: add phylink_mac_config support
rarun-mchp Jul 1, 2022
c8fac9d
net: dsa: microchip: add LAN937x in the ksz spi probe
rarun-mchp Jul 1, 2022
8e60a04
Merge branch 'lan937x-dsa-driver'
davem330 Jul 2, 2022
9de64ae
net/mlx5: Delete ipsec_fs header file as not used
rleon May 11, 2022
8e755f7
net/mlx5: delete dead code in mlx5_esw_unlock()
May 30, 2022
ea5872d
net/mlx5: E-switch, Introduce flag to indicate if vport acl namespace…
Feb 10, 2022
fbd43b7
net/mlx5: E-switch, Introduce flag to indicate if fdb table is created
May 5, 2022
f019679
net/mlx5: E-switch, Remove dependency between sriov and eswitch mode
May 30, 2022
b6f2846
net/mlx5: E-switch: Change eswitch mode only via devlink command
May 30, 2022
cdd04f4
net/mlx5: Add support to create SQ and CQ for ASO
Apr 30, 2022
c491ded
net/mlx5: Implement interfaces to control ASO SQ and CQ
Apr 29, 2022
74e6b2a
net/mlx5e: Prepare for flow meter offload if hardware supports it
Jun 9, 2021
6ddac26
net/mlx5e: Add support to modify hardware flow meter parameters
Jun 7, 2021
b8acfd4
net/mlx5e: Get or put meter by the index of tc police action
Jun 7, 2021
17c5da0
net/mlx5e: Add generic macros to use metadata register mapping
Nov 1, 2021
06fe52a
net/mlx5e: Add post meter table for flow metering
Jun 18, 2021
03a92a9
net/mlx5e: Add flow_action to parse state
Mar 1, 2022
a8d52b0
net/mlx5e: TC, Support offloading police action
Jun 22, 2021
3cd8649
can: slcan: use the BIT() helper
passgat Jun 28, 2022
da6788e
can: slcan: use netdev helpers to print out messages
passgat Jun 28, 2022
92a3178
can: slcan: use the alloc_can_skb() helper
passgat Jun 28, 2022
036bff2
can: netlink: dump bitrate 0 if can_priv::bittiming.bitrate is -1U
passgat Jun 28, 2022
c4e54b0
can: slcan: use CAN network device driver API
passgat Jun 28, 2022
52f9ac8
can: slcan: allow to send commands to the adapter
passgat Jun 28, 2022
dca7962
can: slcan: set bitrate by CAN device driver API
passgat Jun 28, 2022
5bac315
can: slcan: send the open/close commands to the adapter
passgat Jun 28, 2022
98b1206
can: slcan: move driver into separate sub directory
passgat Jun 28, 2022
4de0e8e
can: slcan: add ethtool support to reset adapter errors
passgat Jun 28, 2022
b32ff46
can: slcan: extend the protocol with error info
passgat Jun 28, 2022
0a9cdcf
can: slcan: extend the protocol with CAN state info
passgat Jun 28, 2022
0ebd552
Merge branch 'can-slcan-extend-supported-features'
marckleinebudde Jul 3, 2022
c67289e
Merge tag 'mlx5-updates-2022-06-29' of git://git.kernel.org/pub/scm/l…
davem330 Jul 3, 2022
a48e789
Merge tag 'linux-can-next-for-5.20-20220703' of git://git.kernel.org/…
davem330 Jul 3, 2022
d0bf1fe
net: usb: Remove unnecessary '0' values from hasdata
likunyur Jul 1, 2022
53d7ae5
mlxsw: Configure egress VID for unicast FDB entries
Jul 4, 2022
8cfc7f7
mlxsw: spectrum_fid: Configure VNI to FID classification
Jul 4, 2022
fea2054
mlxsw: Configure ingress RIF classification
Jul 4, 2022
d4b464d
mlxsw: spectrum_fid: Configure layer 3 egress VID classification
Jul 4, 2022
2c3ae76
mlxsw: spectrum_router: Do not configure VID for sub-port RIFs
Jul 4, 2022
058de32
mlxsw: Configure egress FID classification after routing
Jul 4, 2022
662761d
mlxsw: Add support for VLAN RIFs
Jul 4, 2022
d4324e3
mlxsw: Add new FID families for unified bridge model
Jul 4, 2022
bf73904
mlxsw: Add support for 802.1Q FID family
Jul 4, 2022
e9cf899
mlxsw: Add ubridge to config profile
Jul 4, 2022
77b7f83
mlxsw: Enable unified bridge model
Jul 4, 2022
8928fd4
mlxsw: spectrum_fid: Remove flood_index() from FID operation structure
Jul 4, 2022
88840d6
mlxsw: spectrum_fid: Remove '_ub_' indication from structures and def…
Jul 4, 2022
798661c
Merge branch 'mlxsw-unified-bridge-conversion-part-6'
davem330 Jul 4, 2022
634b215
net: ipconfig: use strscpy to replace strlcpy
Jul 1, 2022
0d153dd
selftest: net: bridge mdb add/del entry to port that is down
cappe987 Jul 1, 2022
326569c
dt-bindings: net: dsa: renesas,rzn1-a5psw: add interrupts description
clementleger Jul 1, 2022
39bfb3c
net: phy: broadcom: Add support for BCM53128 internal PHYs
shifty91 Jul 1, 2022
7b960c9
usbnet: smsc95xx: Fix deadlock on runtime resume
l1k Jul 1, 2022
3147242
usbnet: smsc95xx: Clean up nopm handling
l1k Jul 1, 2022
03b3df4
usbnet: smsc95xx: Clean up unnecessary BUG_ON() upon register access
l1k Jul 1, 2022
5ee4bba
Merge branch 'smsc95xx-deadlock'
davem330 Jul 4, 2022
67d2656
nfp: support RX VLAN ctag/stag strip
diana5nana Jul 2, 2022
d80702f
nfp: support TX VLAN ctag insert
diana5nana Jul 2, 2022
fd4b96c
Merge branch 'nfp-vlan-strip-and-insert'
davem330 Jul 4, 2022
874bdbf
net: hns: Fix spelling mistakes in comments.
Jul 4, 2022
51bae88
af_unix: Put pathname sockets in the global hash table.
q2ven Jul 2, 2022
e95ab1d
selftests: net: af_unix: Test connect() with different netns.
q2ven Jul 2, 2022
a94afe1
Merge branch 'af_unix-fix-regression-by-the-per-netns-hash-table-series'
Jul 5, 2022
2064a13
bpf: Omit superfluous address family check in __bpf_skc_lookup
tklauser Jun 30, 2022
990a619
bpftool: Rename "bpftool feature list" into "... feature list_builtins"
qmonnet Jul 1, 2022
cfb5a2d
bpf, samples: Remove AF_XDP samples
magnus-karlsson Jun 30, 2022
55ae465
net/mlx5: fix 32bit build
Jul 5, 2022
ec53d77
cxgb4: Use the bitmap API to allocate bitmaps
tititiou36 Jul 3, 2022
3359619
dt-bindings: net: dsa: mediatek,mt7530: Add missing 'reg' property
robherring Jul 1, 2022
f05643a
eth: remove neterion/vxge
kuba-moo Jul 5, 2022
d7be266
net: sched: provide shim definitions for taprio_offload_{get,free}
vladimiroltean Jul 4, 2022
10ed11a
net: dsa: felix: build as module when tc-taprio is module
vladimiroltean Jul 4, 2022
7e40e16
net: asix: change the type of asix_set_sw/hw_mii to static
zhengchaoshao Jul 4, 2022
3c660a5
bpf: Introduce TYPE_MATCH related constants/macros
d-e-s-o Jun 28, 2022
633e7ce
bpftool: Honor BPF_CORE_TYPE_MATCHES relocation
d-e-s-o Jun 28, 2022
ec6209c
bpf, libbpf: Add type match support
d-e-s-o Jun 28, 2022
b8a195d
libbpf: add bpf_core_type_matches() helper macro
anakryiko Jul 6, 2022
67d8ed4
selftests/bpf: Add type-match checks to type-based tests
d-e-s-o Jun 28, 2022
bed56a6
selftests/bpf: Add test checking more characteristics
d-e-s-o Jun 28, 2022
537905c
selftests/bpf: Add nested type to type based tests
d-e-s-o Jun 28, 2022
950b347
selftests/bpf: Add type match test against kernel's task_struct
d-e-s-o Jun 28, 2022
f6b9f6d
Merge branch 'Introduce type match support'
anakryiko Jul 6, 2022
8094029
libbpf: Cleanup the legacy kprobe_event on failed add/attach_event()
nashuiliang Jun 29, 2022
5666fc9
libbpf: Fix wrong variable used in perf_event_uprobe_open_legacy()
nashuiliang Jun 29, 2022
2655144
libbpf: Cleanup the legacy uprobe_event on failed add/attach_event()
nashuiliang Jun 29, 2022
e4adcee
Merge branch 'cleanup the legacy probe_event on failed scenario'
anakryiko Jul 6, 2022
450a8dc
bpftool: Remove zlib feature test from Makefile
qmonnet Jul 5, 2022
ccccb49
nfp: allow TSO packets with metadata prepended in NFDK path
Jul 5, 2022
7de8b69
nfp: enable TSO by default for nfp netdev
Jul 5, 2022
e7ce9fc
Merge branch 'nfp-tso'
davem330 Jul 6, 2022
a95ab93
octeontx2-af: Use hashed field in MCAM key
rkannoth1 Jul 6, 2022
0176919
octeontx2-af: Exact match support
rkannoth1 Jul 6, 2022
60ec393
octeontx2-af: Exact match scan from kex profile
rkannoth1 Jul 6, 2022
ffd92c5
octeontx2-af: devlink configuration support
rkannoth1 Jul 6, 2022
799f02e
octeontx2-af: FLR handler for exact match table.
rkannoth1 Jul 6, 2022
c6238bc
octeontx2-af: Drop rules for NPC MCAM
rkannoth1 Jul 6, 2022
01b9228
octeontx2-af: Debugsfs support for exact match.
rkannoth1 Jul 6, 2022
68793a8
octeontx2: Modify mbox request and response structures
rkannoth1 Jul 6, 2022
87e91f9
octeontx2-af: Wrapper functions for MAC addr add/del/update/reset
rkannoth1 Jul 6, 2022
84926eb
octeontx2-af: Invoke exact match functions if supported
rkannoth1 Jul 6, 2022
e564683
octeontx2-pf: Add support for exact match table.
rkannoth1 Jul 6, 2022
7189d28
octeontx2-af: Enable Exact match flag in kex profile
rkannoth1 Jul 6, 2022
2ef8e39
Merge branch 'octeontx2-af-next'
davem330 Jul 6, 2022
603380f
tls: rx: don't include tail size in data_len
kuba-moo Jul 5, 2022
ce61327
tls: rx: support optimistic decrypt to user buffer with TLS 1.3
kuba-moo Jul 5, 2022
8852779
tls: rx: add sockopt for enabling optimistic decrypt with TLS 1.3
kuba-moo Jul 5, 2022
f36068a
selftests: tls: add selftest variant for pad
kuba-moo Jul 5, 2022
c46b018
tls: rx: periodically flush socket backlog
kuba-moo Jul 5, 2022
4874fb9
Merge branch 'tls-rx-nopad-and-backlog-flushing'
davem330 Jul 6, 2022
67dffd3
net: hinic: fix bug that ethtool get wrong stats
maqiao-mq Jul 5, 2022
98f9fcd
net: hinic: avoid kernel hung in hinic_get_stats64()
maqiao-mq Jul 5, 2022
cd355d0
Merge branch 'hinic-dev_get_stats-fixes'
davem330 Jul 6, 2022
645d5d3
selftests/bpf: Fix bogus uninitialized variable warning
anakryiko Jul 5, 2022
c46a122
selftests/bpf: Fix few more compiler warnings
anakryiko Jul 5, 2022
7c8121a
libbpf: Remove unnecessary usdt_rel_ip assignments
anakryiko Jul 5, 2022
69d7d25
Revert "Merge branch 'octeontx2-af-next'"
kuba-moo Jul 7, 2022
6ca4b39
net: dsa: b53: remove unnecessary spi_set_drvdata()
Jul 5, 2022
820aceb
sfc/siena: Use the bitmap API to allocate bitmaps
tititiou36 Jul 5, 2022
ee4c0c5
sfc: falcon: Use the bitmap API to allocate bitmaps
tititiou36 Jul 5, 2022
4526252
bnxt: Use the bitmap API to allocate bitmaps
tititiou36 Jul 5, 2022
76d3c11
cnic: Use the bitmap API to allocate bitmaps
tititiou36 Jul 5, 2022
291dbea
qed: Use the bitmap API to allocate bitmaps
tititiou36 Jul 5, 2022
7ed5f24
qed: Use bitmap_empty()
tititiou36 Jul 5, 2022
cf21b35
af_unix: Optimise hash table layout.
q2ven Jul 5, 2022
935dc35
libbpf, riscv: Use a0 for RC register
dlan17 Jul 6, 2022
2b4b262
selftests/bpf: Add benchmark for local_storage RCU Tasks Trace usage
davemarchevsky Jul 5, 2022
83ec88d
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
kuba-moo Jul 7, 2022
d810d36
net: page_pool: optimize page pool page allocation in NUMA scenario
Jul 5, 2022
a2b6111
net: l2tp: fix clang -Wformat warning
JustinStitt Jul 6, 2022
b09c6f8
dt-bindings: net: cdns,macb: document polarfire soc's macb
ConchuOD Jul 6, 2022
8aad66a
net: macb: add polarfire soc reset support
ConchuOD Jul 6, 2022
649bef9
net: macb: unify macb_config alignment style
ConchuOD Jul 6, 2022
ea242f8
net: macb: simplify error paths in init_reset_optional()
ConchuOD Jul 6, 2022
8a78ac7
net: macb: sort init_reset_optional() with other init()s
ConchuOD Jul 6, 2022
9d542f7
Merge branch 'polarfire-soc-macb-reset-support'
kuba-moo Jul 8, 2022
c0f5057
eth: mtk: switch to netif_napi_add_tx()
kuba-moo Jul 7, 2022
9157533
eth: sp7021: switch to netif_napi_add_tx()
kuba-moo Jul 7, 2022
9d899db
l2tp: l2tp_debugfs: fix Clang -Wformat warnings
JustinStitt Jul 7, 2022
fb8ddf2
bpf, docs: Remove deprecated xsk libbpf APIs description
Jul 8, 2022
018a8e7
selftests, xsk: Rename AF_XDP testing app
mfijalko Jul 7, 2022
d6f34f7
MAINTAINERS: Add entry for AF_XDP selftests files
mfijalko Jul 7, 2022
aad53f1
bpftool: Add support for KIND_RESTRICT to gen min_core_btf command
d-e-s-o Jul 6, 2022
32e0d9b
selftests/bpf: Add test involving restrict type qualifier
d-e-s-o Jul 6, 2022
8e15145
octeontx2-af: Don't reset previous pfc config
Jul 7, 2022
c2dd405
net: minor optimization in __alloc_skb()
edumazet Jul 7, 2022
67d7ebd
net: ag71xx: switch to napi_build_skb() to reuse skbuff_heads
spliew89 Jul 7, 2022
d1a6ede
bpf: Check attach_func_proto more carefully in check_return_code
fomichev Jul 8, 2022
1841025
libbpf: Disable SEC pragma macro on GCC
jameshilliard Jul 6, 2022
06cd4e9
bpf: Correctly propagate errors up from bpf_core_composites_match
d-e-s-o Jul 7, 2022
24bdfdd
selftests/bpf: Fix xdp_synproxy build failure if CONFIG_NF_CONNTRACK=m/n
nvmmax Jul 8, 2022
2d91eca
strparser: pad sk_skb_cb to avoid straddling cachelines
kuba-moo Jul 8, 2022
50a07aa
tls: rx: always allocate max possible aad size for decrypt
kuba-moo Jul 8, 2022
b89fec5
tls: rx: wrap decrypt params in a struct
kuba-moo Jul 8, 2022
03957d8
tls: rx: coalesce exit paths in tls_decrypt_sg()
kuba-moo Jul 8, 2022
5879031
tls: create an internal header
kuba-moo Jul 8, 2022
35560b7
tls: rx: make tls_wait_data() return an recvmsg retcode
kuba-moo Jul 8, 2022
16bd188
Merge branch 'tls-pad-strparser-internal-header-decrypt_ctx-etc'
kuba-moo Jul 9, 2022
5b47d23
net: rxrpc: fix clang -Wformat warning
JustinStitt Jul 7, 2022
40ad0a5
Documentation: add a description for net.core.high_order_alloc_disable
atenart Jul 7, 2022
6d1ce9c
net: phylink: fix SGMII inband autoneg enable
Jul 7, 2022
9f7cb73
bcm63xx_enet: change the driver variables to static
Jul 7, 2022
f7657ff
mptcp: move MPTCPOPT_HMAC_LEN to net/mptcp.h
geliangtang Jul 8, 2022
d0d9c8f
selftests: mptcp: tweak simult_flows for debug kernels
Jul 8, 2022
97040cf
selftests: mptcp: userspace pm address tests
geliangtang Jul 8, 2022
5e986ec
selftests: mptcp: userspace pm subflow tests
geliangtang Jul 8, 2022
507719c
selftests: mptcp: avoid Terminated messages in userspace_pm
geliangtang Jul 8, 2022
65ebc66
selftests: mptcp: update pm_nl_ctl usage header
geliangtang Jul 8, 2022
be587ad
Merge branch 'mptcp-selftest-improvements-and-header-tweak'
davem330 Jul 9, 2022
44ac441
af_unix: fix unix_sysctl_register() error path
edumazet Jul 8, 2022
b3ba206
ixp4xx_eth: Fall back to random MAC address
linusw Jul 8, 2022
877d4e3
ixp4xx_eth: Set MAC address from device tree
linusw Jul 8, 2022
0076cad
Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
kuba-moo Jul 9, 2022
e22aa14
net: Find dst with sk's xfrm policy not ctl_sk
Jul 7, 2022
1377a5b
ethernet/via: fix repeated words in comments
Jul 8, 2022
edb2c34
fddi/skfp: fix repeated words in comments
Jul 8, 2022
9974d37
skmsg: Fix invalid last sg check in sk_msg_recvmsg()
liujian56 Jun 28, 2022
535a57a
bpf: Remove is_valid_bpf_tramp_flags()
Jul 11, 2022
f1e8a24
arm64: Add LDR (literal) instruction
Jul 11, 2022
b2ad54e
bpf, arm64: Implement bpf_arch_text_poke() for arm64
Jul 11, 2022
efc9909
bpf, arm64: Add bpf trampoline for arm64
Jul 11, 2022
49705c4
samples/bpf: Fix xdp_redirect_map egress devmap prog
netoptimizer Jul 11, 2022
f16214c
bpf: Fix 'dubious one-bit signed bitfield' warnings
matttbe Jul 11, 2022
647cafa
bpf: add a ksym BPF iterator
alan-maguire Jul 12, 2022
a9d2fae
selftests/bpf: add a ksym iter subtest
alan-maguire Jul 12, 2022
d673532
Merge branch 'bpf: add a ksym BPF iterator'
Jul 12, 2022
4201d9a
bpf: reparent bpf maps on memcg offlining
rgushchin Jul 11, 2022
1d5f82d
bpf, x86: fix freeing of not-finalized bpf_prog_pack
liu-song-6 Jul 6, 2022
ace2bee
bpf: Make non-preallocated allocation low priority
laoar Jul 9, 2022
8ed2f5a
libbpf: Error out when binary_path is NULL for uprobe and USDT
chenhengqi Jul 12, 2022
8ab4cdc
bpf: Tidy up verifier check_func_arg()
joannekoong Jul 12, 2022
b1fc28b
samples: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE
Jul 12, 2022
bf3f003
libbpf: Fix the name of a reused map
leiqi96 Jul 12, 2022
94bf6aa
selftests/bpf: Return true/false (not 1/0) from bool functions
Jul 14, 2022
33f32e5
bpf, arm64: Mark dummy_tramp as global
nathanchance Jul 13, 2022
ca2e1a6
xsk: Mark napi_id on sendmsg()
mfijalko Jul 7, 2022
5002615
bpf: Warn on non-preallocated case for BPF_PROG_TYPE_RAW_TRACEPOINT_W…
laoar Jul 13, 2022
96a233e
bpf: Add endian modifiers to fix endian warnings
bjdooks-sifive Jul 14, 2022
7fb27a5
selftests/bpf: Do not attach kprobe_multi bench to bpf_dispatcher_xdp…
olsajiri Jul 14, 2022
9c7c48d
bpf: Fix subprog names in stack traces.
Jul 14, 2022
a2a5580
bpf: Fix check against plain integer v 'NULL'
bjdooks-sifive Jul 14, 2022
2e49662
samples: bpf: Fix cross-compiling error by using bootstrap bpftool
Jul 14, 2022
3a2a58c
tools: runqslower: Build and use lightweight bootstrap version of bpf…
Jul 14, 2022
3848636
bpf: iterators: Build and use lightweight bootstrap version of bpftool
Jul 14, 2022
8eab0a0
Merge branch 'Use lightweigt version of bpftool'
anakryiko Jul 15, 2022
9ff5efd
libbpf: perfbuf: Add API to get the ring buffer
arilou Jul 15, 2022
55d00c3
libbpf: generalize virtual __kconfig externs and use it for USDT
anakryiko Jul 14, 2022
ce6dc74
selftests/bpf: add test of __weak unknown virtual __kconfig extern
anakryiko Jul 14, 2022
6f5d467
libbpf: improve BPF_KPROBE_SYSCALL macro and rename it to BPF_KSYSCALL
anakryiko Jul 14, 2022
708ac5b
libbpf: add ksyscall/kretsyscall sections support for syscall kprobes
anakryiko Jul 14, 2022
d814ed6
selftests/bpf: use BPF_KSYSCALL and SEC("ksyscall") in selftests
anakryiko Jul 14, 2022
ab850ab
Merge branch 'Add SEC("ksyscall") support'
Jul 19, 2022
3908fcd
bpf: fix lsm_cgroup build errors on esoteric configs
fomichev Jul 14, 2022
e5e2342
docs/bpf: Update documentation for BTF_KIND_FUNC
ibhagatgnu Jul 14, 2022
87ac0d6
bpf: fix potential 32-bit overflow when accessing ARRAY map element
anakryiko Jul 15, 2022
d937bc3
bpf: make uniform use of array->elem_size everywhere in arraymap.c
anakryiko Jul 15, 2022
63b8ce7
bpf: remove obsolete KMALLOC_MAX_SIZE restriction on array map value …
anakryiko Jul 15, 2022
2431646
selftests/bpf: validate .bss section bigger than 8MB is possible now
anakryiko Jul 15, 2022
92f6197
Merge branch 'BPF array map fixes and improvements'
Jul 19, 2022
fd18942
bpf: Don't redirect packets with invalid pkt_len
zhengchaoshao Jul 15, 2022
a1ac9fd
libbpf: fallback to tracefs mount point if debugfs is not mounted
anakryiko Jul 15, 2022
bdb2bc7
bpf: fix bpf_skb_pull_data documentation
joannekoong Jul 15, 2022
597fbc4
libbpf: make RINGBUF map size adjustments more eagerly
anakryiko Jul 15, 2022
e134601
selftests/bpf: test eager BPF ringbuf size adjustment logic
anakryiko Jul 15, 2022
979855d
bpf, docs: document BPF_MAP_TYPE_HASH and variants
donaldh Jul 18, 2022
c5d22f4
selftests/bpf: fix a test for snprintf() overflow
Jul 19, 2022
b77ffb3
libbpf: fix an snprintf() overflow check
Jul 19, 2022
9cb61fd
bpf: Fix bpf_trampoline_{,un}link_cgroup_shim ifdef guards
fomichev Jul 20, 2022
8e22378
ip_tunnels: Add new flow flags field to ip_tunnel_key
pchaigno Jul 6, 2022
ed3d921
vxlan: Use ip_tunnel_key flow flags in route lookups
pchaigno Jul 18, 2022
d218181
geneve: Use ip_tunnel_key flow flags in route lookups
pchaigno Jul 6, 2022
19dce06
bpf: Set flow flag to allow any source IP in bpf_tunnel_key
pchaigno Jul 6, 2022
f3f49bc
selftests/bpf: Don't assign outer source IP to host
pchaigno Jul 18, 2022
3c538c8
add CI files
pchaigno Jul 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .github/actions/vmtest/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: 'vmtest'
description: 'Build + run vmtest'
inputs:
arch:
description: 'what arch to test'
required: true
default: 'x86_64'
toolchain:
description: 'what toolchain to use'
required: true
default: 'gcc'
runs:
using: "composite"
steps:
# 1. Setup environment
- name: Setup build environment
uses: libbpf/ci/setup-build-env@master
# 2. Build
- name: Build kernel image
shell: bash
run: ${GITHUB_ACTION_PATH}/build.sh ${{ inputs.arch }} ${{ inputs.toolchain }}
- name: Build selftests
shell: bash
run: ${GITHUB_ACTION_PATH}/build_selftests.sh ${{ inputs.toolchain }}
env:
VMLINUX_BTF: ${{ github.workspace }}/vmlinux
# 3. Test
- name: Prepare rootfs
uses: libbpf/ci/prepare-rootfs@master
with:
project-name: 'libbpf'
arch: ${{ inputs.arch }}
kernel-root: '.'
- name: Run selftests
uses: libbpf/ci/run-qemu@master
with:
arch: ${{ inputs.arch}}
img: '/tmp/root.img'
vmlinuz: '${{ github.workspace }}/vmlinuz'
24 changes: 24 additions & 0 deletions .github/actions/vmtest/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

set -euo pipefail

ARCH="$1"
TOOLCHAIN="$2"
TOOLCHAIN_NAME="$(echo $TOOLCHAIN | cut -d '-' -f 1)"
TOOLCHAIN_VERSION="$(echo $TOOLCHAIN | cut -d '-' -f 2)"

if [ "$TOOLCHAIN_NAME" == "llvm" ]; then
export LLVM="-$TOOLCHAIN_VERSION"
fi

THISDIR="$(cd $(dirname $0) && pwd)"

source "${THISDIR}"/helpers.sh

foldable start build_kernel "Building kernel with $TOOLCHAIN"

cp ${GITHUB_WORKSPACE}/travis-ci/vmtest/configs/config-latest.${ARCH} .config

make -j $((4*$(nproc))) olddefconfig all > /dev/null

foldable end build_kernel
52 changes: 52 additions & 0 deletions .github/actions/vmtest/build_selftests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash

set -euo pipefail

THISDIR="$(cd $(dirname $0) && pwd)"

source "${THISDIR}"/helpers.sh

TOOLCHAIN="$1"
TOOLCHAIN_NAME="$(echo $TOOLCHAIN | cut -d '-' -f 1)"
TOOLCHAIN_VERSION="$(echo $TOOLCHAIN | cut -d '-' -f 2)"

if [ "$TOOLCHAIN_NAME" == "llvm" ]; then
export LLVM="-$TOOLCHAIN_VERSION"
LLVM_VER=$TOOLCHAIN_VERSION
else
LLVM_VER=15
fi

foldable start prepare_selftests "Building selftests with $TOOLCHAIN"

LIBBPF_PATH="${REPO_ROOT}"

PREPARE_SELFTESTS_SCRIPT=${THISDIR}/prepare_selftests-${KERNEL}.sh
if [ -f "${PREPARE_SELFTESTS_SCRIPT}" ]; then
(cd "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" && ${PREPARE_SELFTESTS_SCRIPT})
fi

if [[ "${KERNEL}" = 'LATEST' ]]; then
VMLINUX_H=
else
VMLINUX_H=${THISDIR}/vmlinux.h
fi

cd ${REPO_ROOT}/${REPO_PATH}
make \
CLANG=clang-${LLVM_VER} \
LLC=llc-${LLVM_VER} \
LLVM_STRIP=llvm-strip-${LLVM_VER} \
VMLINUX_BTF="${VMLINUX_BTF}" \
VMLINUX_H="${VMLINUX_H}" \
-C "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" \
-j $((4*$(nproc))) > /dev/null
cd -
mkdir "${LIBBPF_PATH}"/selftests
cp -R "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" \
"${LIBBPF_PATH}"/selftests
cd "${LIBBPF_PATH}"
rm selftests/bpf/.gitignore
git add selftests

foldable end prepare_selftests
44 changes: 44 additions & 0 deletions .github/actions/vmtest/helpers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# $1 - start or end
# $2 - fold identifier, no spaces
# $3 - fold section description
foldable() {
local YELLOW='\033[1;33m'
local NOCOLOR='\033[0m'
if [ -z ${GITHUB_WORKFLOW+x} ]; then
echo travis_fold:$1:$2
if [ ! -z "${3:-}" ]; then
echo -e "${YELLOW}$3${NOCOLOR}"
fi
echo
else
if [ $1 = "start" ]; then
line="::group::$2"
if [ ! -z "${3:-}" ]; then
line="$line - ${YELLOW}$3${NOCOLOR}"
fi
else
line="::endgroup::"
fi
echo -e "$line"
fi
}

__print() {
local TITLE=""
if [[ -n $2 ]]; then
TITLE=" title=$2"
fi
echo "::$1${TITLE}::$3"
}

# $1 - title
# $2 - message
print_error() {
__print error $1 $2
}

# $1 - title
# $2 - message
print_notice() {
__print notice $1 $2
}
57 changes: 57 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: bpf-ci

on:
pull_request:

concurrency:
group: ci-test-${{ github.head_ref }}
cancel-in-progress: true

jobs:
VM_Test:
runs-on: ${{ matrix.runs_on }}
name: Kernel ${{ matrix.kernel }} on ${{ matrix.runs_on }} with ${{ matrix.toolchain }}
timeout-minutes: 100
strategy:
fail-fast: false
matrix:
include:
- kernel: 'LATEST'
runs_on: ubuntu-latest
arch: 'x86_64'
toolchain: 'gcc'
- kernel: 'LATEST'
runs_on: ubuntu-latest
arch: 'x86_64'
toolchain: 'llvm-15'
- kernel: 'LATEST'
runs_on: z15
arch: 's390x'
toolchain: 'gcc'
env:
AUTHOR_EMAIL: "$(git log -1 --pretty=\"%aE\")"
KERNEL: LATEST
REPO_ROOT: ${{ github.workspace }}
REPO_PATH: ""
steps:
- uses: actions/checkout@v2
- if: ${{ github.repository == 'kernel-patches/vmtest' }}
name: Download bpf-next tree
uses: libbpf/ci/get-linux-source@master
with:
dest: '.kernel'
- if: ${{ github.repository == 'kernel-patches/vmtest' }}
name: Move linux source in place
shell: bash
run: |
rm -rf .kernel/.git
cp -rf .kernel/. .
rm -rf .kernel
- uses: libbpf/ci/patch-kernel@master
with:
patches-root: '${{ github.workspace }}/travis-ci/diffs'
repo-root: '${{ github.workspace }}'
- uses: ./.github/actions/vmtest
with:
arch: ${{ matrix.arch }}
toolchain: ${{ matrix.toolchain }}
12 changes: 12 additions & 0 deletions Documentation/admin-guide/sysctl/net.rst
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,18 @@ GRO has decided not to coalesce, it is placed on a per-NAPI list. This
list is then passed to the stack when the number of segments reaches the
gro_normal_batch limit.

high_order_alloc_disable
------------------------

By default the allocator for page frags tries to use high order pages (order-3
on x86). While the default behavior gives good results in most cases, some users
might have hit a contention in page allocations/freeing. This was especially
true on older kernels (< 5.14) when high-order pages were not stored on per-cpu
lists. This allows to opt-in for order-0 allocation instead but is now mostly of
historical importance.

Default: 0

2. /proc/sys/net/unix - Parameters for Unix domain sockets
----------------------------------------------------------

Expand Down
49 changes: 42 additions & 7 deletions Documentation/bpf/btf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ sequentially and type id is assigned to each recognized type starting from id
#define BTF_KIND_ARRAY 3 /* Array */
#define BTF_KIND_STRUCT 4 /* Struct */
#define BTF_KIND_UNION 5 /* Union */
#define BTF_KIND_ENUM 6 /* Enumeration */
#define BTF_KIND_ENUM 6 /* Enumeration up to 32-bit values */
#define BTF_KIND_FWD 7 /* Forward */
#define BTF_KIND_TYPEDEF 8 /* Typedef */
#define BTF_KIND_VOLATILE 9 /* Volatile */
Expand All @@ -87,6 +87,7 @@ sequentially and type id is assigned to each recognized type starting from id
#define BTF_KIND_FLOAT 16 /* Floating point */
#define BTF_KIND_DECL_TAG 17 /* Decl Tag */
#define BTF_KIND_TYPE_TAG 18 /* Type Tag */
#define BTF_KIND_ENUM64 19 /* Enumeration up to 64-bit values */

Note that the type section encodes debug info, not just pure types.
``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram.
Expand All @@ -101,10 +102,10 @@ Each type contains the following common data::
* bits 24-28: kind (e.g. int, ptr, array...etc)
* bits 29-30: unused
* bit 31: kind_flag, currently used by
* struct, union and fwd
* struct, union, fwd, enum and enum64.
*/
__u32 info;
/* "size" is used by INT, ENUM, STRUCT and UNION.
/* "size" is used by INT, ENUM, STRUCT, UNION and ENUM64.
* "size" tells the size of the type it is describing.
*
* "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT,
Expand Down Expand Up @@ -281,10 +282,10 @@ modes exist:

``struct btf_type`` encoding requirement:
* ``name_off``: 0 or offset to a valid C identifier
* ``info.kind_flag``: 0
* ``info.kind_flag``: 0 for unsigned, 1 for signed
* ``info.kind``: BTF_KIND_ENUM
* ``info.vlen``: number of enum values
* ``size``: 4
* ``size``: 1/2/4/8

``btf_type`` is followed by ``info.vlen`` number of ``struct btf_enum``.::

Expand All @@ -297,6 +298,10 @@ The ``btf_enum`` encoding:
* ``name_off``: offset to a valid C identifier
* ``val``: any value

If the original enum value is signed and the size is less than 4,
that value will be sign extended into 4 bytes. If the size is 8,
the value will be truncated into 4 bytes.

2.2.7 BTF_KIND_FWD
~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -364,7 +369,8 @@ No additional type data follow ``btf_type``.
* ``name_off``: offset to a valid C identifier
* ``info.kind_flag``: 0
* ``info.kind``: BTF_KIND_FUNC
* ``info.vlen``: 0
* ``info.vlen``: linkage information (BTF_FUNC_STATIC, BTF_FUNC_GLOBAL
or BTF_FUNC_EXTERN)
* ``type``: a BTF_KIND_FUNC_PROTO type

No additional type data follow ``btf_type``.
Expand All @@ -375,6 +381,9 @@ type. The BTF_KIND_FUNC may in turn be referenced by a func_info in the
:ref:`BTF_Ext_Section` (ELF) or in the arguments to :ref:`BPF_Prog_Load`
(ABI).

Currently, only linkage values of BTF_FUNC_STATIC and BTF_FUNC_GLOBAL are
supported in the kernel.

2.2.13 BTF_KIND_FUNC_PROTO
~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -493,7 +502,7 @@ the attribute is applied to a ``struct``/``union`` member or
a ``func`` argument, and ``btf_decl_tag.component_idx`` should be a
valid index (starting from 0) pointing to a member or an argument.

2.2.17 BTF_KIND_TYPE_TAG
2.2.18 BTF_KIND_TYPE_TAG
~~~~~~~~~~~~~~~~~~~~~~~~

``struct btf_type`` encoding requirement:
Expand All @@ -516,6 +525,32 @@ type_tag, then zero or more const/volatile/restrict/typedef
and finally the base type. The base type is one of
int, ptr, array, struct, union, enum, func_proto and float types.

2.2.19 BTF_KIND_ENUM64
~~~~~~~~~~~~~~~~~~~~~~

``struct btf_type`` encoding requirement:
* ``name_off``: 0 or offset to a valid C identifier
* ``info.kind_flag``: 0 for unsigned, 1 for signed
* ``info.kind``: BTF_KIND_ENUM64
* ``info.vlen``: number of enum values
* ``size``: 1/2/4/8

``btf_type`` is followed by ``info.vlen`` number of ``struct btf_enum64``.::

struct btf_enum64 {
__u32 name_off;
__u32 val_lo32;
__u32 val_hi32;
};

The ``btf_enum64`` encoding:
* ``name_off``: offset to a valid C identifier
* ``val_lo32``: lower 32-bit value for a 64-bit value
* ``val_hi32``: high 32-bit value for a 64-bit value

If the original enum value is signed and the size is less than 8,
that value will be sign extended into 8 bytes.

3. BTF Kernel API
=================

Expand Down
4 changes: 2 additions & 2 deletions Documentation/bpf/instruction-set.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ BPF_XOR | BPF_K | BPF_ALU64 means::
Byte swap instructions
----------------------

The byte swap instructions use an instruction class of ``BFP_ALU`` and a 4-bit
The byte swap instructions use an instruction class of ``BPF_ALU`` and a 4-bit
code field of ``BPF_END``.

The byte swap instructions operate on the destination register
Expand Down Expand Up @@ -351,7 +351,7 @@ These instructions have seven implicit operands:
* Register R0 is an implicit output which contains the data fetched from
the packet.
* Registers R1-R5 are scratch registers that are clobbered after a call to
``BPF_ABS | BPF_LD`` or ``BPF_IND`` | BPF_LD instructions.
``BPF_ABS | BPF_LD`` or ``BPF_IND | BPF_LD`` instructions.

These instructions have an implicit program exit condition as well. When an
eBPF program is trying to access the data beyond the packet boundary, the
Expand Down
Loading