Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
436 commits
Select commit Hold shift + click to select a range
2170b2f
bpf: require CAP_NET_ADMIN when using sockmap maps
jrfastab Oct 18, 2017
cea5561
bpf: require CAP_NET_ADMIN when using devmap
jrfastab Oct 18, 2017
953931b
bpf: devmap fix arithmetic overflow in bitmap_size calculation
Oct 19, 2017
541347e
bpf: fix off by one for range markings with L{T, E} patterns
borkmann Oct 21, 2017
d3320aa
bpf: fix pattern matches for direct packet access
borkmann Oct 21, 2017
6920d1b
bpf: bpf_compute_data uses incorrect cb structure
jrfastab Oct 27, 2017
582864e
bpf: rename sk_actions to align with bpf infrastructure
jrfastab Oct 27, 2017
ce7bce8
bpf: remove SK_REDIRECT from UAPI
jrfastab Nov 1, 2017
ffb4edc
bpf/verifier: fix bounds calculation on BPF_RSH
ecree-solarflare Dec 22, 2017
b5d7ab0
bpf: fix incorrect tracking of register size truncation
thejh Dec 22, 2017
280a4ad
bpf: fix 32-bit ALU op verification
thejh Dec 22, 2017
3d8f0db
bpf: fix missing error return in check_stack_boundary()
thejh Dec 22, 2017
b1ae709
bpf: force strict alignment checks for stack pointers
thejh Dec 22, 2017
c3b0f96
bpf: don't prune branches when a scalar is replaced with a pointer
thejh Dec 22, 2017
11eb6a0
bpf: fix integer overflows
Dec 22, 2017
8fcc391
kmemcheck: remove annotations
Nov 16, 2017
b306788
bpf: mark dst unknown on inconsistent {s, u}bounds adjustments
borkmann Jan 18, 2018
18e734e
bpf: sockmap missing NULL psock check
jrfastab Jan 5, 2018
d7cad33
bpf: fix memory leak in lpm_trie map_free callback function
yonghong-song Mar 8, 2018
496a08d
bpf: fix rcu lockdep warning for lpm_trie map_free callback
yonghong-song Mar 8, 2018
ac8266d
bpf: allow xadd only on aligned memory
borkmann Mar 8, 2018
b6eddd4
bpf: sockmap, fix leaking maps with attached but not detached progs
jrfastab Feb 5, 2018
aadd5fe
bpf: hash map: decrement counter on error
mauriciovasquezbernal Jun 29, 2018
cc75c87
bpf: sockmap: write_space events need to be passed to TCP handler
jrfastab Aug 22, 2018
2a62823
bpf: 32-bit RSH verification must truncate input before the ALU op
thejh Oct 5, 2018
620d09b
bpf: sockmap, map_release does not hold refcnt for pinned maps
jrfastab Apr 23, 2018
f3026b8
bpf: fix partial copy of map_ptr when dst is scalar
borkmann Nov 1, 2018
62c5737
bpf: wait for running BPF programs when updating map-in-map
Oct 12, 2018
3be52df
bpf: fix lockdep false positive in percpu_freelist
Jan 31, 2019
ade7e34
bpf: fix use after free in bpf_evict_inode
borkmann Mar 25, 2019
0052151
bpf: reduce verifier memory consumption
4ast Apr 3, 2019
4369b49
bpf: fix verifier memory leaks
4ast Apr 3, 2019
24e3103
bpf: fix verifier NULL pointer dereference
kraigatgoog Apr 3, 2019
537aa91
bpf: fix stack state printing in verifier log
4ast Apr 3, 2019
027ff01
bpf: move {prev_,}insn_idx into verifier env
borkmann Apr 3, 2019
a31002c
bpf: move tmp variable into ax register in interpreter
borkmann Apr 3, 2019
1fe82c1
bpf: enable access to ax register also from verifier rewrite
borkmann Apr 3, 2019
23f184e
bpf: restrict map value pointer arithmetic for unprivileged
borkmann Apr 3, 2019
ff52782
bpf: restrict stack pointer arithmetic for unprivileged
borkmann Apr 3, 2019
d160a8e
bpf: restrict unknown scalars of mixed signed bounds for unprivileged
borkmann Apr 3, 2019
4cf8c4e
bpf: fix check_map_access smin_value test when pointer contains offset
borkmann Apr 3, 2019
2504155
bpf: prevent out of bounds speculation on pointer arithmetic
borkmann Apr 3, 2019
a190a8d
bpf: fix sanitation of alu op with pointer / scalar type from differe…
borkmann Apr 3, 2019
3f34776
bpf: fix inner map masking to prevent oob under speculation
borkmann Apr 3, 2019
0fde735
bpf: do not restore dst_reg when cur_state is freed
vxuyu Apr 3, 2019
6821ff6
bpf: fix sanitation rewrite in case of non-pointers
borkmann Apr 3, 2019
9d6c590
bpf: add map_lookup_elem_sys_only for lookups from syscall side
borkmann May 13, 2019
ff0dffa
bpf, lru: avoid messing with eviction heuristics upon syscall lookup
borkmann May 13, 2019
14ada62
bpf: devmap: fix use-after-free Read in __dev_map_entry_free
edumazet May 13, 2019
9dd3315
ANDROID: bpf: validate bpf_func when BPF_JIT is enabled with CFI
samitolvanen Sep 4, 2019
7ced6f7
bpf: fix use after free in prog symbol exposure
borkmann Oct 4, 2019
611556b
bpf: devmap: fix wrong interface selection in notifier_call
TaeheeYoo Oct 24, 2018
4006361
bpf: decrease usercnt if bpf_map_new_fd() fails in bpf_map_get_fd_by_…
snorez Feb 26, 2019
6c9ea83
bpf: drop refcount if bpf_map_new_fd() fails in map_create()
snorez Feb 27, 2019
4e56a8b
fixup! UPSTREAM: bpf: multi program support for cgroup+bpf
4ast Oct 3, 2017
773ce05
bpf: reject passing modified ctx to helper functions
borkmann Jun 7, 2018
ffeaaac
bpf: Fix passing modified ctx to ld/abs/ind instruction
borkmann Jan 6, 2020
0684211
UPSTREAM: bpf: Explicitly memset some bpf info structures declared on…
gregkh Mar 20, 2020
b8e59ca
bpf: Fix map leak in HASH_OF_MAPS map
anakryiko Jul 29, 2020
f5e6033
UPSTREAM: net: bpf: Make bpf_ktime_get_ns() available to non GPL prog…
zenczykowski Apr 20, 2020
22a4c78
BACKPORT: bpf: add bpf_ktime_get_boot_ns()
zenczykowski Apr 26, 2020
1e665c8
bpf_lru_list: Read double-checked variable once without lock
melver Feb 9, 2021
11e266c
bpf: Fix off-by-one for area size in creating mask to left
piotr-krysiuk Mar 16, 2021
fc972cc
bpf: Simplify alu_limit masking for pointer arithmetic
piotr-krysiuk Mar 16, 2021
e7d2d9a
bpf: Add sanity check for upper ptr_limit
piotr-krysiuk Mar 16, 2021
6d427f8
bpf: Prohibit alu ops for pointer types not defining ptr_limit
piotr-krysiuk Mar 16, 2021
3a336c8
bpf: Fix backport of "bpf: restrict unknown scalars of mixed signed b…
sam-aws May 1, 2021
29ab647
bpf: Fix masking negation logic upon negative dst register
borkmann Apr 30, 2021
a3cf169
bpf: Move off_reg into sanitize_ptr_alu
borkmann May 31, 2021
3d14c85
bpf: Ensure off_reg has no mixed signed bounds for all types
borkmann May 31, 2021
48bab3c
bpf: Rework ptr_limit into alu_limit and add common error path
borkmann May 31, 2021
b996643
bpf: Improve verifier error messages for users
borkmann May 31, 2021
ab2d0e1
bpf: Refactor and streamline bounds check into helper
borkmann May 31, 2021
eb442b0
bpf: Move sanitize_val_alu out of op switch
borkmann May 31, 2021
6ecc03b
bpf: Tighten speculative pointer arithmetic mask
borkmann May 31, 2021
348ef1e
bpf: do not allow root to mangle valid pointers
May 31, 2021
ec49b62
bpf/verifier: disallow pointer subtraction
May 31, 2021
0d98f90
bpf: Fix leakage of uninitialized bpf stack under speculation
borkmann May 31, 2021
7a99be2
bpf: Wrap aux data inside bpf_sanitize_info container
borkmann May 31, 2021
32e4b2f
bpf: Fix mask direction swap upon off reg sign change
borkmann May 31, 2021
bece19d
bpf: No need to simulate speculative domain for immediates
borkmann May 31, 2021
272729a
bpf: Fix the off-by-two error in range markings
nvmmax Nov 30, 2021
8cf942f
bpf: fix truncated jump targets on heavy expansions
borkmann May 16, 2018
1a4cee5
bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bo…
jrfastab Sep 6, 2022
61f28d4
bpf: Do not use ax register in interpreter on div/mod
borkmann Feb 24, 2023
09b23ba
bpf: fix subprog verifier bypass by div/mod by 0 exception
borkmann Feb 24, 2023
9d3d234
bpf: Fix 32 bit src register truncation on div/mod
borkmann Feb 24, 2023
6377ced
bpf: Fix truncation handling for mod32 dst reg wrt zero
borkmann Feb 24, 2023
7db19fa
bpf: Adjust insufficient default bpf_jit_limit
borkmann Mar 20, 2023
b31d3bf
bpf: Address KCSAN report on bpf_lru_list
May 11, 2023
b8dd618
bpf: linux/bpf.h needs linux/numa.h
davem330 Aug 20, 2017
ca73b0f
bpf: Add jited_len to struct bpf_prog
iamkafai Jun 5, 2017
da5aba3
bpf: convert htab map to hlist_nulls
4ast Mar 8, 2017
b6a5a27
BACKPORT: mm: introduce kv[mz]alloc helpers
May 8, 2017
51dd178
mm, vmalloc: properly track vmalloc users
May 8, 2017
78bc7c6
mm, vmalloc: fix vmalloc users tracking properly
May 12, 2017
c1259b8
net: Busy polling should ignore sender CPUs
Mar 24, 2017
15f839a
ANDROID: fix bpf jit + cfi interactions
zenczykowski Jan 29, 2020
997904d
xdp: adjust xdp redirect tracepoint to include return error code
netoptimizer Aug 17, 2017
f79a209
BACKPORT: bpf: Add file mode configuration into bpf maps
Oct 18, 2017
52d1835
bpf: fix mlock precharge on arraymaps
borkmann Mar 8, 2018
479ba6b
fixup! bpf: prevent out-of-bounds speculation
teamb58 Oct 26, 2025
dc89115
dmaengine: nbpfaxi: add optional max-burst property for memory reads/…
Oct 24, 2016
6a123a9
tools lib bpf: Fix maps resolution
regit Nov 15, 2016
e93ef63
bpf: reuse dev_is_mac_header_xmit for redirect
borkmann Nov 26, 2016
71fc607
tools lib bpf: Add missing BPF functions
WangNan0 Nov 26, 2016
7464020
tools lib bpf: Retrive bpf_map through offset of bpf_map_def
WangNan0 Nov 26, 2016
bfa323b
make use of make variable CURDIR instead of calling pwd
Nov 22, 2016
1428380
net: xdp: add invalid buffer warning
jrfastab Dec 15, 2016
03d4d40
net: xdp: remove unused bfp_warn_invalid_xdp_buffer()
Dec 27, 2016
04a0eea
bpf, trace: make ctx access checks more robust
borkmann Jan 15, 2017
a1f4b0c
bpf: allow option for setting bpf_l4_csum_replace from scratch
borkmann Jan 24, 2017
a68ebca
net: add LINUX_MIB_PFMEMALLOCDROP counter
edumazet Feb 2, 2017
d51cbc6
bpf: Fix bpf_xdp_event_output
iamkafai Feb 23, 2017
bd2cea9
net: convert sk_filter.refcnt from atomic_t to refcount_t
ereshetova Mar 21, 2017
2c06537
bpf: fix comment typo
aalemayhu Apr 8, 2017
1ccd741
Add uid and cookie bpf helper to cg_skb_func_proto
Apr 15, 2017
4445d65
bpf: remove reference to sock_filter_ext from kerneldoc comment
tklauser Apr 18, 2017
91baa42
bpf: track stack depth of classic bpf programs
4ast May 30, 2017
9f09da8
bpf: avoid excessive stack usage for perf_sample_data
borkmann Jun 10, 2017
5468905
bpf: remove cg_skb_func_proto and use sk_filter_func_proto directly
borkmann Jun 10, 2017
8234435
bpf: expose prog id for cls_bpf and act_bpf
borkmann Jun 21, 2017
b2c59d7
net: store port/representator id in metadata_dst
Jun 23, 2017
a96eee2
bpf: Support for setting initial receive window
Jul 1, 2017
fed9bad
bpf: Support for per connection SYN/SYN-ACK RTOs
Jul 1, 2017
0736684
bpf: Add support for changing congestion control
Jul 1, 2017
af42534
bpf: Add TCP connection BPF callbacks
Jul 1, 2017
13194cf
bpf: Adds support for setting initial cwnd
Jul 1, 2017
d95cb78
bpf: Adds support for setting sndcwnd clamp
Jul 1, 2017
4d462a4
bpf: fix to bpf_setsockops
Jul 2, 2017
4c4f5b3
bpf, net: add skb_mac_header_len helper
borkmann Jul 2, 2017
09a6a1b
bpf: extend bpf_trace_printk to support %i
jrfastab Jul 2, 2017
8ce690f
bpf: add missing break in for the TCP_BPF_SNDCWND_CLAMP case
Jul 4, 2017
ea5ee14
bpf: fix return in bpf_skb_adjust_net
Jul 13, 2017
587d836
net: Remove all references to SKB_GSO_UDP.
davem330 Jul 3, 2017
42cdf76
bpf: check NULL for sk_to_full_sk() return value
congwang Jul 17, 2017
1285b4c
net: comment fixes against BPF devmap helper calls
jrfastab Aug 4, 2017
277071b
bpf: fix two missing target_size settings in bpf_convert_ctx_access
borkmann Aug 11, 2017
10ded75
bpf: reuse tc bpf prologue for sk skb progs
borkmann Aug 17, 2017
1e99186
xdp: remove bpf_warn_invalid_xdp_redirect
netoptimizer Aug 24, 2017
0e27745
net: centralize net_device min/max MTU checking
jarodwilson Oct 8, 2016
a50679e
Revert "net: Add driver helper functions to determine checksum offloa…
kishan-93 Sep 10, 2025
6a25bb5
net: report right mtu value in error message
Oct 17, 2016
07289dc
net: Remove refnr arg when inserting link adjacencies
Oct 18, 2016
b1d0fae
net: Introduce new api for walking upper and lower devices
Oct 18, 2016
21568ca
net: Remove all_adj_list and its references
Oct 18, 2016
a42c44b
net: Add warning if any lower device is still in adjacency list
Oct 18, 2016
77e2488
net: dev: Improve debug statements for adjacency tracking
Oct 18, 2016
98a895e
net: dev: Fix non-RCU based lower dev walker
Oct 26, 2016
ce7ee02
net: Move functions for configuring traffic classes out of inline hea…
Oct 28, 2016
29f6696
net: Add sysfs value to determine queue traffic class
Oct 28, 2016
4ea2853
net: Refactor removal of queues from XPS map and apply on num_tc changes
Oct 28, 2016
15b95e0
net: Add support for XPS with QoS via traffic classes
Oct 28, 2016
06192f8
net/qdisc: IFF_NO_QUEUE drivers should use consistent TX queue len
netoptimizer Nov 3, 2016
15b92d9
net/dev: Convert to hotplug state machine
Nov 3, 2016
90d7490
net: make default TX queue length a defined constant
netoptimizer Nov 3, 2016
8ae25c7
net-gro: avoid reorders
edumazet Nov 7, 2016
3bbf6c3
net: napi_hash_add() is no longer exported
edumazet Nov 8, 2016
9d8b4d6
net: busy-poll: allow preemption in sk_busy_loop()
edumazet Nov 15, 2016
f747ed4
net: busy-poll: return busypolling status to drivers
edumazet Nov 15, 2016
694da58
netpoll: more efficient locking
edumazet Nov 16, 2016
8e24ef8
net: properly flush delay-freed skbs
edumazet Nov 23, 2016
7dfc338
bpf, xdp: allow to pass flags to dev_change_xdp_fd
borkmann Nov 28, 2016
51e7b3c
net: rfs: add a jump label
edumazet Dec 7, 2016
05cd6ce
net: dev_weight: TX/RX orthogonality
cherusk Dec 29, 2016
3c3fea9
net-tc: extract skip classify bit from tc_verd
wdebruij Jan 7, 2017
a2450c0
net: core: Make netif_wake_subqueue a wrapper
ffainelli Jan 12, 2017
0e072e0
net: remove duplicate code.
Jan 18, 2017
d5215cd
net: remove support for per driver ndo_busy_poll()
edumazet Feb 3, 2017
3d8e7d8
net: remove __napi_complete()
edumazet Feb 4, 2017
7c9f24b
net: remove ndo_neigh_{construct, destroy} from stacked devices
idosch Feb 6, 2017
60f934e
net: Fix checkpatch WARNING: please, no space before tabs
tcharding Feb 9, 2017
e6bd15e
net: Fix checkpatch whitespace errors
tcharding Feb 9, 2017
31ec0ad
net: Fix checkpatch block comments warnings
tcharding Feb 9, 2017
e33e188
net: Fix checkpatch, Missing a blank line after declarations
tcharding Feb 9, 2017
5a370e3
net: busy-poll: remove LL_FLUSH_FAILED and LL_FLUSH_BUSY
edumazet Feb 10, 2017
7cacef2
net: napi_watchdog() can use napi_schedule_irqoff()
edumazet Feb 21, 2017
233d37f
net: solve a NAPI race
edumazet Feb 28, 2017
7b8acc9
net: Change return type of sk_busy_loop from bool to void
Mar 24, 2017
3e6920c
net: Track start of busy loop instead of when it should end
Mar 24, 2017
bca0ff7
net: Commonize busy polling code to focus on napi_id instead of socket
ssamudrala Mar 24, 2017
2e02191
net: xdp: don't export dev_change_xdp_fd()
jmberg-intel Apr 12, 2017
be35f07
Replace 2 jiffies with sysctl netdev_budget_usecs to enable softirq t…
Apr 19, 2017
be4ba3f
net: Generic XDP
davem330 Apr 18, 2017
d950d98
net: remove unnecessary carrier status check
Apr 26, 2017
7f10da0
net: use kvmalloc with __GFP_REPEAT rather than open coded variant
May 8, 2017
31c23b7
xdp: add flag to enforce driver mode
borkmann May 11, 2017
6caab10
sk_buff: remove support for csum_bad in sk_buff
dcaratti May 18, 2017
ac03fc5
net: add function to retrieve original skb device using NAPI ID
mlichvar May 19, 2017
6324697
rtnl: Add support for netdev event to link messages
vyasevich May 27, 2017
ee3ecd3
net: sched: introduce a TRAP control action
jpirko Jun 6, 2017
e32a38e
net: rps: send out pending IPI's on CPU hotplug
Jun 9, 2017
7aa2744
net: rps: fix uninitialized symbol warning
Jun 13, 2017
b7128e9
net/core: remove explicit do_softirq() from busy_poll_stop()
Jun 16, 2017
4612f76
net: handle NAPI_GRO_FREE_STOLEN_HEAD case also in napi_frags_finish()
mkubecek Jun 29, 2017
676bae4
bonding: avoid NETDEV_CHANGEMTU event when unregistering slave
congwang Jul 6, 2017
1ac8426
net: xdp: support xdp generic on virtual devices
jrfastab Jul 17, 2017
62b16db
xdp: remove net_device names from xdp_redirect tracepoint
netoptimizer Aug 24, 2017
6a5645a
bpf: fix bpf_setsockopts return value
yuchungcheng Aug 24, 2017
c062451
tcp: fix refcnt leak with ebpf congestion control
qsn Aug 25, 2017
7d05f24
xdp: remove redundant argument to trace_xdp_redirect
netoptimizer Aug 29, 2017
310d836
bpf: Add mark and priority to sock options that can be set
dsahern Aug 31, 2017
1f3b92c
bpf: Allow cgroup sock filters to use get_current_uid_gid helper
dsahern Aug 31, 2017
ec0d6f2
bpf: Collapse offset checks in sock_filter_is_valid_access
dsahern Sep 1, 2017
34e9b26
bpf: make error reporting in bpf_warn_invalid_xdp_action more clear
borkmann Sep 8, 2017
5ff628d
bpf: remove mark access for SK_SKB program types
jrfastab Oct 18, 2017
a1ce716
bpf: fix corruption on concurrent perf_event_output calls
borkmann Dec 22, 2017
fd736c5
bpf: in __bpf_redirect_no_mac pull mac only if present
wdebruij Jan 16, 2019
5bf4d98
bpf: correctly set initial window on active Fast Open sender
yuchungcheng Jan 9, 2019
8a7229f
bpf: bpf_setsockopt: reset sock dst on SO_MARK changes
posk-io Jan 16, 2019
8f6230e
bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt()
laoar Jan 23, 2019
47aebda
tcp: fix tcp_set_congestion_control() use from bpf hook
edumazet Jul 19, 2019
52ab225
ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head
lcolitti Feb 18, 2020
cc3a649
ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devic…
zenczykowski May 6, 2020
1b5d6d3
bpf: Set mac_len in bpf_skb_change_head
joamaki May 19, 2021
8fabab2
bpf: Do not WARN in bpf_warn_invalid_xdp_action()
Nov 30, 2021
fa7dacd
bpf: make sure skb->len != 0 when redirecting to a tunneling device
fomichev Oct 27, 2022
5710467
bpf: pull before calling skb_postpull_rcsum()
kuba-moo Dec 20, 2022
eb1bd35
bpf: cgroup skb progs cannot access ld_abs/ind
borkmann Jun 6, 2017
cea3ac1
fixup! bpf: Remove MTU check in __bpf_skb_max_len
netoptimizer Feb 9, 2021
457a7fc
bpf: remove type arg from __is_valid_{,xdp_}access
borkmann Dec 4, 2016
5422b0e
socket, bpf: fix possible use after free
edumazet Oct 2, 2017
d212860
xdp: tracepoint xdp_redirect also need a map argument
netoptimizer Aug 29, 2017
c849c7a
xdp: make xdp tracepoints report bpf prog id instead of prog_tag
netoptimizer Aug 29, 2017
93ae369
fixup! net: implement XDP_REDIRECT for xdp generic
jrfastab Jul 17, 2017
f0a5c85
xdp: make generic xdp redirect use tracepoint trace_xdp_redirect
netoptimizer Aug 24, 2017
4d63585
xdp: separate xdp_redirect tracepoint in error case
netoptimizer Aug 29, 2017
5154609
xdp: separate xdp_redirect tracepoint in map case
netoptimizer Aug 29, 2017
52ddf90
xdp: implement xdp_redirect_map for generic XDP
netoptimizer Sep 10, 2017
18003ba
bpf, arm64: implement jiting of BPF_XADD
borkmann May 1, 2017
f92e063
arm64: use set_memory.h header
labbott May 8, 2017
1112fa6
bpf, arm64: use separate register for state in stxr
borkmann Jun 7, 2017
7f656cd
bpf, arm64: take advantage of stack_depth tracking
borkmann Jun 11, 2017
f4adaee
bpf, arm64: implement jiting of BPF_J{LT, LE, SLT, SLE}
borkmann Aug 9, 2017
fcabe64
bpf, arm64: fix stack_depth tracking in combination with tail calls
borkmann Jan 28, 2018
d5fa144
bpf, arm64: remove prefetch insn in xadd mapping
borkmann Apr 26, 2019
c986009
bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd
borkmann Apr 26, 2019
7a7a153
ANDROID: arm64: bpf: implement arch_bpf_jit_check_func
samitolvanen Sep 4, 2019
bfbb1d4
provide linux/set_memory.h
mpe Jul 6, 2017
07d8c1f
treewide: move set_memory_* functions away from cacheflush.h
labbott May 8, 2017
83eeb49
net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP
zenczykowski Jan 24, 2019
d701017
bpf: fix incorrect sign extension in check_alu_op()
thejh Dec 22, 2017
d2e2524
bpf: fix unlocking of jited image when module ronx not set
borkmann Feb 21, 2017
b885488
arm64: fix endianness annotation for 'struct jit_ctx' and friends
lucvoo Jun 28, 2017
9745c8b
fixup! bpf: fix wrong exposure of map_flags into fdinfo for lpm
teamb58 Nov 4, 2025
8a1bf32
bpf: no need to nullify ri->map in xdp_do_redirect
borkmann Aug 17, 2017
257b341
bpf: Align packet data properly in program testing framework.
davem330 May 2, 2017
6b14285
bpf: Do not dereference user pointer in bpf_test_finish().
davem330 May 2, 2017
4d49e4e
bpf: fix panic due to oob in bpf_prog_test_run_skb
borkmann Jul 11, 2018
a81e526
bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb()
bandari Nov 2, 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
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions Documentation/devicetree/bindings/dma/nbpfaxi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ Required properties
#define NBPF_SLAVE_RQ_LEVEL 4

Optional properties:
- max-burst-mem-read: limit burst size for memory reads
(DMA_MEM_TO_MEM/DMA_MEM_TO_DEV) to this value, specified in bytes, rather
than using the maximum burst size allowed by the hardware's buffer size.
- max-burst-mem-write: limit burst size for memory writes
(DMA_DEV_TO_MEM/DMA_MEM_TO_MEM) to this value, specified in bytes, rather
than using the maximum burst size allowed by the hardware's buffer size.
If both max-burst-mem-read and max-burst-mem-write are set, DMA_MEM_TO_MEM
will use the lower value.

You can use dma-channels and dma-requests as described in dma.txt, although they
won't be used, this information is derived from the compatibility string.
Expand Down
4 changes: 4 additions & 0 deletions Documentation/networking/filter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -907,6 +907,10 @@ If BPF_CLASS(code) == BPF_JMP, BPF_OP(code) is one of:
BPF_JSGE 0x70 /* eBPF only: signed '>=' */
BPF_CALL 0x80 /* eBPF only: function call */
BPF_EXIT 0x90 /* eBPF only: function return */
BPF_JLT 0xa0 /* eBPF only: unsigned '<' */
BPF_JLE 0xb0 /* eBPF only: unsigned '<=' */
BPF_JSLT 0xc0 /* eBPF only: signed '<' */
BPF_JSLE 0xd0 /* eBPF only: signed '<=' */

So BPF_ADD | BPF_X | BPF_ALU means 32-bit addition in both classic BPF
and eBPF. There are only two registers in classic BPF, so it means A += X.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/networking/strparser.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ A stream parser can be instantiated for a TCP connection. This is done
by:

strp_init(struct strparser *strp, struct sock *csk,
struct strp_callbacks *cb)
const struct strp_callbacks *cb)

strp is a struct of type strparser that is allocated by the upper layer.
csk is the TCP socket associated with the stream parser. Callbacks are
Expand Down
44 changes: 43 additions & 1 deletion Documentation/sysctl/net.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,46 @@ compiler in order to reject unprivileged JIT requests once it has
been surpassed. bpf_jit_limit contains the value of the global limit
in bytes.

bpf_jit_kallsyms
----------------

When Berkeley Packet Filter Just in Time compiler is enabled, then compiled
images are unknown addresses to the kernel, meaning they neither show up in
traces nor in /proc/kallsyms. This enables export of these addresses, which
can be used for debugging/tracing. If bpf_jit_harden is enabled, this feature
is disabled.
Values :
0 - disable JIT kallsyms export (default value)
1 - enable JIT kallsyms export for privileged users only

dev_weight
--------------

The maximum number of packets that kernel can handle on a NAPI interrupt,
it's a Per-CPU variable.
Default: 64

dev_weight_rx_bias
--------------

RPS (e.g. RFS, aRFS) processing is competing with the registered NAPI poll function
of the driver for the per softirq cycle netdev_budget. This parameter influences
the proportion of the configured netdev_budget that is spent on RPS based packet
processing during RX softirq cycles. It is further meant for making current
dev_weight adaptable for asymmetric CPU needs on RX/TX side of the network stack.
(see dev_weight_tx_bias) It is effective on a per CPU basis. Determination is based
on dev_weight and is calculated multiplicative (dev_weight * dev_weight_rx_bias).
Default: 1

dev_weight_tx_bias
--------------

Scales the maximum number of packets that can be processed during a TX softirq cycle.
Effective on a per CPU basis. Allows scaling of current dev_weight for asymmetric
net stack processing needs. Be careful to avoid making TX softirq processing a CPU hog.
Calculation is based on dev_weight (dev_weight * dev_weight_tx_bias).
Default: 1

default_qdisc
--------------

Expand Down Expand Up @@ -163,7 +196,16 @@ netdev_budget

Maximum number of packets taken from all interfaces in one polling cycle (NAPI
poll). In one polling cycle interfaces which are registered to polling are
probed in a round-robin manner.
probed in a round-robin manner. Also, a polling cycle may not exceed
netdev_budget_usecs microseconds, even if netdev_budget has not been
exhausted.

netdev_budget_usecs
---------------------

Maximum number of microseconds in one NAPI polling cycle. Polling
will exit when either netdev_budget_usecs have elapsed during the
poll cycle or the number of packets processed reaches netdev_budget.

netdev_max_backlog
------------------
Expand Down
2 changes: 1 addition & 1 deletion arch/alpha/kernel/osf_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/

#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/smp.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/alpha/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* 1997-11-02 Modified for POSIX.1b signals by Richard Henderson
*/

#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/kernel.h>
#include <linux/signal.h>
#include <linux/errno.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/alpha/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

#include <linux/jiffies.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/tty.h>
#include <linux/delay.h>
#include <linux/module.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/alpha/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Copyright (C) 1995 Linus Torvalds
*/

#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <asm/io.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arc/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Rahul Trivedi: Codito Technologies 2004
*/

#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/kdebug.h>
#include <linux/uaccess.h>
#include <linux/ptrace.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arc/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include <linux/signal.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/errno.h>
#include <linux/ptrace.h>
#include <linux/uaccess.h>
Expand Down
12 changes: 0 additions & 12 deletions arch/arm/include/asm/cacheflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -478,18 +478,6 @@ static inline void __sync_cache_range_r(volatile void *p, size_t size)
: : : "r0","r1","r2","r3","r4","r5","r6","r7", \
"r9","r10","lr","memory" )

#ifdef CONFIG_MMU
int set_memory_ro(unsigned long addr, int numpages);
int set_memory_rw(unsigned long addr, int numpages);
int set_memory_x(unsigned long addr, int numpages);
int set_memory_nx(unsigned long addr, int numpages);
#else
static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
#endif

#ifdef CONFIG_DEBUG_RODATA
void set_kernel_text_rw(void);
void set_kernel_text_ro(void);
Expand Down
1 change: 0 additions & 1 deletion arch/arm/include/asm/dma-iommu.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include <linux/mm_types.h>
#include <linux/scatterlist.h>
#include <linux/dma-debug.h>
#include <linux/kmemcheck.h>
#include <linux/kref.h>

struct dma_iommu_mapping {
Expand Down
32 changes: 32 additions & 0 deletions arch/arm/include/asm/set_memory.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright (C) 1999-2002 Russell King
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/

#ifndef _ASMARM_SET_MEMORY_H
#define _ASMARM_SET_MEMORY_H

#ifdef CONFIG_MMU
int set_memory_ro(unsigned long addr, int numpages);
int set_memory_rw(unsigned long addr, int numpages);
int set_memory_x(unsigned long addr, int numpages);
int set_memory_nx(unsigned long addr, int numpages);
#else
static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
#endif

#ifdef CONFIG_STRICT_KERNEL_RWX
void set_kernel_text_rw(void);
void set_kernel_text_ro(void);
#else
static inline void set_kernel_text_rw(void) { }
static inline void set_kernel_text_ro(void) { }
#endif

#endif
2 changes: 1 addition & 1 deletion arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* published by the Free Software Foundation.
*/
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/mm.h>
#include <linux/elf.h>
#include <linux/smp.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <linux/bug.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/irq.h>

#include <linux/atomic.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mm/alignment.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/uaccess.h>

#include <asm/cp15.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <linux/kprobes.h>
#include <linux/uaccess.h>
#include <linux/page-flags.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/highmem.h>
#include <linux/perf_event.h>

Expand Down
1 change: 1 addition & 0 deletions arch/arm/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/mman.h>
#include <linux/sched/signal.h>
#include <linux/export.h>
#include <linux/nodemask.h>
#include <linux/initrd.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mm/mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include <linux/mm.h>
#include <linux/mman.h>
#include <linux/shm.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/io.h>
#include <linux/personality.h>
#include <linux/random.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/vfp/vfpmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <linux/kernel.h>
#include <linux/notifier.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/uaccess.h>
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/include/asm/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ generic-y += rwsem.h
generic-y += segment.h
generic-y += sembuf.h
generic-y += serial.h
generic-y += set_memory.h
generic-y += shmbuf.h
generic-y += simd.h
generic-y += sizes.h
Expand Down
6 changes: 1 addition & 5 deletions arch/arm64/include/asm/cacheflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#define __ASM_CACHEFLUSH_H

#include <linux/mm.h>
#include <asm/set_memory.h>

/*
* This flag is used to indicate that the page pointed to by a pte is clean
Expand Down Expand Up @@ -145,9 +146,4 @@ static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
{
}

int set_memory_ro(unsigned long addr, int numpages);
int set_memory_rw(unsigned long addr, int numpages);
int set_memory_x(unsigned long addr, int numpages);
int set_memory_nx(unsigned long addr, int numpages);

#endif
38 changes: 38 additions & 0 deletions arch/arm64/include/asm/insn.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ enum aarch64_insn_register_type {
AARCH64_INSN_REGTYPE_RM,
AARCH64_INSN_REGTYPE_RD,
AARCH64_INSN_REGTYPE_RA,
AARCH64_INSN_REGTYPE_RS,
};

enum aarch64_insn_register {
Expand Down Expand Up @@ -188,6 +189,8 @@ enum aarch64_insn_ldst_type {
AARCH64_INSN_LDST_STORE_PAIR_PRE_INDEX,
AARCH64_INSN_LDST_LOAD_PAIR_POST_INDEX,
AARCH64_INSN_LDST_STORE_PAIR_POST_INDEX,
AARCH64_INSN_LDST_LOAD_EX,
AARCH64_INSN_LDST_STORE_EX,
};

enum aarch64_insn_adsb_type {
Expand Down Expand Up @@ -240,6 +243,23 @@ enum aarch64_insn_logic_type {
AARCH64_INSN_LOGIC_BIC_SETFLAGS
};

enum aarch64_insn_prfm_type {
AARCH64_INSN_PRFM_TYPE_PLD,
AARCH64_INSN_PRFM_TYPE_PLI,
AARCH64_INSN_PRFM_TYPE_PST,
};

enum aarch64_insn_prfm_target {
AARCH64_INSN_PRFM_TARGET_L1,
AARCH64_INSN_PRFM_TARGET_L2,
AARCH64_INSN_PRFM_TARGET_L3,
};

enum aarch64_insn_prfm_policy {
AARCH64_INSN_PRFM_POLICY_KEEP,
AARCH64_INSN_PRFM_POLICY_STRM,
};

#define __AARCH64_INSN_FUNCS(abbr, mask, val) \
static __always_inline bool aarch64_insn_is_##abbr(u32 code) \
{ return (code & (mask)) == (val); } \
Expand All @@ -248,8 +268,10 @@ static __always_inline u32 aarch64_insn_get_##abbr##_value(void) \

__AARCH64_INSN_FUNCS(adr, 0x9F000000, 0x10000000)
__AARCH64_INSN_FUNCS(adrp, 0x9F000000, 0x90000000)
__AARCH64_INSN_FUNCS(prfm, 0x3FC00000, 0x39800000)
__AARCH64_INSN_FUNCS(prfm_lit, 0xFF000000, 0xD8000000)
__AARCH64_INSN_FUNCS(str_reg, 0x3FE0EC00, 0x38206800)
__AARCH64_INSN_FUNCS(ldadd, 0x3F20FC00, 0xB8200000)
__AARCH64_INSN_FUNCS(ldr_reg, 0x3FE0EC00, 0x38606800)
__AARCH64_INSN_FUNCS(ldr_lit, 0xBF000000, 0x18000000)
__AARCH64_INSN_FUNCS(ldrsw_lit, 0xFF000000, 0x98000000)
Expand Down Expand Up @@ -357,6 +379,18 @@ u32 aarch64_insn_gen_load_store_pair(enum aarch64_insn_register reg1,
int offset,
enum aarch64_insn_variant variant,
enum aarch64_insn_ldst_type type);
u32 aarch64_insn_gen_load_store_ex(enum aarch64_insn_register reg,
enum aarch64_insn_register base,
enum aarch64_insn_register state,
enum aarch64_insn_size_type size,
enum aarch64_insn_ldst_type type);
u32 aarch64_insn_gen_ldadd(enum aarch64_insn_register result,
enum aarch64_insn_register address,
enum aarch64_insn_register value,
enum aarch64_insn_size_type size);
u32 aarch64_insn_gen_stadd(enum aarch64_insn_register address,
enum aarch64_insn_register value,
enum aarch64_insn_size_type size);
u32 aarch64_insn_gen_add_sub_imm(enum aarch64_insn_register dst,
enum aarch64_insn_register src,
int imm, enum aarch64_insn_variant variant,
Expand Down Expand Up @@ -397,6 +431,10 @@ u32 aarch64_insn_gen_logical_shifted_reg(enum aarch64_insn_register dst,
int shift,
enum aarch64_insn_variant variant,
enum aarch64_insn_logic_type type);
u32 aarch64_insn_gen_prefetch(enum aarch64_insn_register base,
enum aarch64_insn_prfm_type type,
enum aarch64_insn_prfm_target target,
enum aarch64_insn_prfm_policy policy);
s32 aarch64_get_branch_offset(u32 insn);
u32 aarch64_set_branch_offset(u32 insn, s32 offset);

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/fpsimd.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#include <linux/cpu_pm.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/signal.h>
#include <linux/hardirq.h>

Expand Down
Loading