Linux kernel source tree
Go to file
Jakub Kicinski fa47527c71 Merge branch 'gve-alloc-before-freeing-when-changing-config'
Shailend Chand says:

====================
gve: Alloc before freeing when changing config

Functions allocating resources did so directly into priv thus far. The
assumption doing that was that priv was not already holding references
to live resources.

When ring configuration is changed in any way from userspace, thus far
we relied on calling the ndo_stop and ndo_open callbacks in succession.
This meant that we teardown existing resources and rob the OS of
networking before we have successfully allocated resources for the new
config.

Correcting this requires us to perform allocations without editing priv.
That is what the "gve: Switch to config-aware..." patch does: it modifies
all the allocation paths so that they take a new configuration as input
and return references to newly allocated resources without modifying
priv or interfering with live resources in any way.

Having corrected the allocation paths so, the ndo open and close
callbacks are refactored to make available distinct functions for
allocating queue resources and starting or stopping them. This is then
put to use in the set_channels and set_features hooks in the last two
patches.

These changes have been tested by verifying the integrity of a stream of
integers while the driver is continuously reconfigured with ethtool.
====================

Link: https://lore.kernel.org/r/20240122182632.1102721-1-shailend@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-01-23 17:41:35 -08:00
arch RTC for 6.8 2024-01-18 17:25:39 -08:00
block
certs
crypto
Documentation This cycle, I2C removes the currently unused CLASS_DDC support 2024-01-18 17:29:01 -08:00
drivers gve: Alloc before freeing when changing features 2024-01-23 17:41:31 -08:00
fs More eventfs fixes and a seq_buf fix for 6.8: 2024-01-18 14:45:33 -08:00
include net/ipv6: resolve warning in ip6_fib.c 2024-01-23 17:22:23 -08:00
init Driver core changes for 6.8-rc1 2024-01-18 09:48:40 -08:00
io_uring
ipc
kernel Including fixes from bpf and netfilter. 2024-01-18 17:33:50 -08:00
lib cxl for v6.8 2024-01-18 16:22:43 -08:00
LICENSES
mm memblock: code readability improvement 2024-01-18 16:46:18 -08:00
net net/ipv6: resolve warning in ip6_fib.c 2024-01-23 17:22:23 -08:00
rust
samples tracing updates for 6.8: 2024-01-18 14:35:29 -08:00
scripts
security
sound This cycle, I2C removes the currently unused CLASS_DDC support 2024-01-18 17:29:01 -08:00
tools Including fixes from bpf and netfilter. 2024-01-18 17:33:50 -08:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS Including fixes from bpf and netfilter. 2024-01-18 17:33:50 -08:00
Kbuild
Kconfig
MAINTAINERS Including fixes from bpf and netfilter. 2024-01-18 17:33:50 -08:00
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.