Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 05cc7b7

Browse files
committed
Merge "Merge 5b7c4ca ("Merge tag 'net-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next") into android-mainline" into android-mainline
2 parents a32cec8 + 49b9889 commit 05cc7b7

File tree

1,823 files changed

+158042
-45178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,823 files changed

+158042
-45178
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
What: /sys/class/net/<iface>/peak_usb/can_channel_id
3+
Date: November 2022
4+
KernelVersion: 6.2
5+
Contact: Stephane Grosjean <s.grosjean@peak-system.com>
6+
Description:
7+
PEAK PCAN-USB devices support user-configurable CAN channel
8+
identifiers. Contrary to a USB serial number, these identifiers
9+
are writable and can be set per CAN interface. This means that
10+
if a USB device exports multiple CAN interfaces, each of them
11+
can be assigned a unique channel ID.
12+
This attribute provides read-only access to the currently
13+
configured value of the channel identifier. Depending on the
14+
device type, the identifier has a length of 8 or 32 bit. The
15+
value read from this attribute is always an 8 digit 32 bit
16+
hexadecimal value in big endian format. If the device only
17+
supports an 8 bit identifier, the upper 24 bit of the value are
18+
set to zero.
19+

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@
557557
Format: <string>
558558
nosocket -- Disable socket memory accounting.
559559
nokmem -- Disable kernel memory accounting.
560+
nobpf -- Disable BPF memory accounting.
560561

561562
checkreqprot= [SELINUX] Set initial checkreqprot flag value.
562563
Format: { "0" | "1" }

Documentation/admin-guide/sysctl/net.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ rmem_max
215215

216216
The maximum receive socket buffer size in bytes.
217217

218+
rps_default_mask
219+
----------------
220+
221+
The default RPS CPU mask used on newly created network devices. An empty
222+
mask means RPS disabled by default.
223+
218224
tstamp_allow_data
219225
-----------------
220226
Allow processes to receive tx timestamps looped together with the original

Documentation/bpf/bpf_design_QA.rst

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ data structures and compile with kernel internal headers. Both of these
208208
kernel internals are subject to change and can break with newer kernels
209209
such that the program needs to be adapted accordingly.
210210

211+
New BPF functionality is generally added through the use of kfuncs instead of
212+
new helpers. Kfuncs are not considered part of the stable API, and have their own
213+
lifecycle expectations as described in :ref:`BPF_kfunc_lifecycle_expectations`.
214+
211215
Q: Are tracepoints part of the stable ABI?
212216
------------------------------------------
213217
A: NO. Tracepoints are tied to internal implementation details hence they are
@@ -236,8 +240,8 @@ A: NO. Classic BPF programs are converted into extend BPF instructions.
236240

237241
Q: Can BPF call arbitrary kernel functions?
238242
-------------------------------------------
239-
A: NO. BPF programs can only call a set of helper functions which
240-
is defined for every program type.
243+
A: NO. BPF programs can only call specific functions exposed as BPF helpers or
244+
kfuncs. The set of available functions is defined for every program type.
241245

242246
Q: Can BPF overwrite arbitrary kernel memory?
243247
---------------------------------------------
@@ -263,7 +267,12 @@ Q: New functionality via kernel modules?
263267
Q: Can BPF functionality such as new program or map types, new
264268
helpers, etc be added out of kernel module code?
265269

266-
A: NO.
270+
A: Yes, through kfuncs and kptrs
271+
272+
The core BPF functionality such as program types, maps and helpers cannot be
273+
added to by modules. However, modules can expose functionality to BPF programs
274+
by exporting kfuncs (which may return pointers to module-internal data
275+
structures as kptrs).
267276

268277
Q: Directly calling kernel function is an ABI?
269278
----------------------------------------------
@@ -278,7 +287,8 @@ kernel functions have already been used by other kernel tcp
278287
cc (congestion-control) implementations. If any of these kernel
279288
functions has changed, both the in-tree and out-of-tree kernel tcp cc
280289
implementations have to be changed. The same goes for the bpf
281-
programs and they have to be adjusted accordingly.
290+
programs and they have to be adjusted accordingly. See
291+
:ref:`BPF_kfunc_lifecycle_expectations` for details.
282292

283293
Q: Attaching to arbitrary kernel functions is an ABI?
284294
-----------------------------------------------------
@@ -340,6 +350,7 @@ compatibility for these features?
340350

341351
A: NO.
342352

343-
Unlike map value types, there are no stability guarantees for this case. The
344-
whole API to work with allocated objects and any support for special fields
345-
inside them is unstable (since it is exposed through kfuncs).
353+
Unlike map value types, the API to work with allocated objects and any support
354+
for special fields inside them is exposed through kfuncs, and thus has the same
355+
lifecycle expectations as the kfuncs themselves. See
356+
:ref:`BPF_kfunc_lifecycle_expectations` for details.

0 commit comments

Comments
 (0)