Debrand for AlmaLinux OS
Use AlmaLinux OS secure boot cert Enable Btrfs support for all kernel variants hpsa: bring back deprecated PCI ids #CFHack #CFHack2024 mptsas: bring back deprecated PCI ids #CFHack #CFHack2024 megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024 qla2xxx: bring back deprecated PCI ids #CFHack #CFHack2024 qla4xxx: bring back deprecated PCI ids be2iscsi: bring back deprecated PCI ids kernel/rh_messages.h: enable all disabled pci devices by moving to unmaintained gve: update QPL page registration logic to honor max_registered_pages (backport from upstream) gve: enable reading max ring size from the device in DQO-QPL mode (backport from upstream)
This commit is contained in:
parent
c6cf688535
commit
60b15ef93d
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,7 +1,7 @@
|
||||
fedoraimaca.x509
|
||||
kernel-abi-stablelists-6.12.0-211.38.1.el10_2.tar.xz
|
||||
kernel-kabi-dw-6.12.0-211.38.1.el10_2.tar.xz
|
||||
linux-6.12.0-211.38.1.el10_2.tar.xz
|
||||
kernel-abi-stablelists-6.12.0-211.39.1.el10_2.tar.xz
|
||||
kernel-kabi-dw-6.12.0-211.39.1.el10_2.tar.xz
|
||||
linux-6.12.0-211.39.1.el10_2.tar.xz
|
||||
nvidiabfdpu.x509
|
||||
nvidiagpuoot001.x509
|
||||
nvidiajetsonsoc.x509
|
||||
|
||||
323
2011-gve-Update-QPL-page-registration-logic.patch
Normal file
323
2011-gve-Update-QPL-page-registration-logic.patch
Normal file
@ -0,0 +1,323 @@
|
||||
From 07993df560917357610e0625a9a2e7531c3211fc Mon Sep 17 00:00:00 2001
|
||||
From: Matt Olson <maolson@google.com>
|
||||
Date: Wed, 25 Feb 2026 10:23:41 -0800
|
||||
Subject: [PATCH AlmaLinux 10] gve: Update QPL page registration logic
|
||||
|
||||
For DQO, change QPL page registration logic to be more flexible to honor
|
||||
the "max_registered_pages" parameter from the gVNIC device.
|
||||
|
||||
Previously the number of RX pages per QPL was hardcoded to twice the
|
||||
ring size, and the number of TX pages per QPL was dictated by the device
|
||||
in the DQO-QPL device option. Now [in DQO-QPL mode], the driver will
|
||||
ignore the "tx_pages_per_qpl" parameter indicated in the DQO-QPL device
|
||||
option and instead allocate up to (tx_queue_length / 2) pages per TX QPL
|
||||
and up to (rx_queue_length * 2) pages per RX QPL while keeping the total
|
||||
number of pages under the "max_registered_pages".
|
||||
|
||||
Merge DQO and GQI QPL page calculation logic into a unified
|
||||
gve_update_num_qpl_pages function. Add rx_pages_per_qpl to the priv
|
||||
struct for consumption by both DQO and GQI.
|
||||
|
||||
Signed-off-by: Matt Olson <maolson@google.com>
|
||||
Signed-off-by: Max Yuan <maxyuan@google.com>
|
||||
Reviewed-by: Jordan Rhee <jordanrhee@google.com>
|
||||
Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com>
|
||||
Reviewed-by: Willem de Bruijn <willemb@google.com>
|
||||
Reviewed-by: Praveen Kaligineedi <pkaligineedi@google.com>
|
||||
Signed-off-by: Joshua Washington <joshwash@google.com>
|
||||
Link: https://patch.msgid.link/20260225182342.1049816-2-joshwash@google.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
[ AlmaLinux: backported to the 6.12 gve driver. The upstream commit targets
|
||||
the post-refactor gve driver; the equivalent changes were applied to the
|
||||
older driver shipped in RHEL/AlmaLinux 10:
|
||||
- rx_alloc_cfg->qcfg_rx->num_queues -> rx_alloc_cfg->qcfg->num_queues
|
||||
(the rx alloc-rings cfg uses the shared gve_queue_config field name).
|
||||
- The gve_alloc_qpl_page_dqo() bound check lives in gve_rx_dqo.c here
|
||||
rather than in the not-yet-present gve_buffer_mgmt_dqo.c.
|
||||
The QPL page-sizing logic is otherwise identical to upstream. ]
|
||||
Signed-off-by: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
---
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve.h b/drivers/net/ethernet/google/gve/gve.h
|
||||
index adc2b9a..65bd511 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve.h
|
||||
+++ b/drivers/net/ethernet/google/gve/gve.h
|
||||
@@ -71,8 +71,6 @@
|
||||
|
||||
#define GVE_DEFAULT_HEADER_BUFFER_SIZE 128
|
||||
|
||||
-#define DQO_QPL_DEFAULT_TX_PAGES 512
|
||||
-
|
||||
/* Maximum TSO size supported on DQO */
|
||||
#define GVE_DQO_TX_MAX 0x3FFFF
|
||||
|
||||
@@ -646,6 +644,7 @@ struct gve_ptype_lut {
|
||||
/* Parameters for allocating resources for tx queues */
|
||||
struct gve_tx_alloc_rings_cfg {
|
||||
struct gve_queue_config *qcfg;
|
||||
+ u16 pages_per_qpl;
|
||||
|
||||
u16 ring_size;
|
||||
u16 start_idx;
|
||||
@@ -661,6 +660,7 @@ struct gve_rx_alloc_rings_cfg {
|
||||
/* tx config is also needed to determine QPL ids */
|
||||
struct gve_queue_config *qcfg;
|
||||
struct gve_queue_config *qcfg_tx;
|
||||
+ u16 pages_per_qpl;
|
||||
|
||||
u16 ring_size;
|
||||
u16 packet_buffer_size;
|
||||
@@ -738,7 +738,8 @@ struct gve_priv {
|
||||
u16 min_rx_desc_cnt;
|
||||
bool modify_ring_size_enabled;
|
||||
bool default_min_ring_size;
|
||||
- u16 tx_pages_per_qpl; /* Suggested number of pages per qpl for TX queues by NIC */
|
||||
+ u16 tx_pages_per_qpl;
|
||||
+ u16 rx_pages_per_qpl;
|
||||
u64 max_registered_pages;
|
||||
u64 num_registered_pages; /* num pages registered with NIC */
|
||||
struct bpf_prog *xdp_prog; /* XDP BPF program */
|
||||
@@ -1071,14 +1072,6 @@ static inline u32 gve_rx_start_qpl_id(const struct gve_queue_config *tx_cfg)
|
||||
return gve_get_rx_qpl_id(tx_cfg, 0);
|
||||
}
|
||||
|
||||
-static inline u32 gve_get_rx_pages_per_qpl_dqo(u32 rx_desc_cnt)
|
||||
-{
|
||||
- /* For DQO, page count should be more than ring size for
|
||||
- * out-of-order completions. Set it to two times of ring size.
|
||||
- */
|
||||
- return 2 * rx_desc_cnt;
|
||||
-}
|
||||
-
|
||||
/* Returns the correct dma direction for tx and rx qpls */
|
||||
static inline enum dma_data_direction gve_qpl_dma_dir(struct gve_priv *priv,
|
||||
int id)
|
||||
@@ -1178,6 +1171,9 @@ int gve_reset(struct gve_priv *priv, bool attempt_teardown);
|
||||
void gve_get_curr_alloc_cfgs(struct gve_priv *priv,
|
||||
struct gve_tx_alloc_rings_cfg *tx_alloc_cfg,
|
||||
struct gve_rx_alloc_rings_cfg *rx_alloc_cfg);
|
||||
+void gve_update_num_qpl_pages(struct gve_priv *priv,
|
||||
+ struct gve_rx_alloc_rings_cfg *rx_alloc_cfg,
|
||||
+ struct gve_tx_alloc_rings_cfg *tx_alloc_cfg);
|
||||
int gve_adjust_config(struct gve_priv *priv,
|
||||
struct gve_tx_alloc_rings_cfg *tx_alloc_cfg,
|
||||
struct gve_rx_alloc_rings_cfg *rx_alloc_cfg);
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
index e44e8b1..7335b48 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
@@ -911,14 +911,6 @@ static void gve_enable_supported_features(struct gve_priv *priv,
|
||||
priv->dev->max_mtu = be16_to_cpu(dev_op_jumbo_frames->max_mtu);
|
||||
}
|
||||
|
||||
- /* Override pages for qpl for DQO-QPL */
|
||||
- if (dev_op_dqo_qpl) {
|
||||
- priv->tx_pages_per_qpl =
|
||||
- be16_to_cpu(dev_op_dqo_qpl->tx_pages_per_qpl);
|
||||
- if (priv->tx_pages_per_qpl == 0)
|
||||
- priv->tx_pages_per_qpl = DQO_QPL_DEFAULT_TX_PAGES;
|
||||
- }
|
||||
-
|
||||
if (dev_op_buffer_sizes &&
|
||||
(supported_features_mask & GVE_SUP_BUFFER_SIZES_MASK)) {
|
||||
priv->max_rx_buffer_size =
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
|
||||
index 72e9ce9..a065891 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_main.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_main.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <linux/filter.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
+#include <linux/math64.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/sched.h>
|
||||
@@ -926,6 +927,7 @@ static void gve_tx_get_curr_alloc_cfg(struct gve_priv *priv,
|
||||
cfg->qcfg = &priv->tx_cfg;
|
||||
cfg->raw_addressing = !gve_is_qpl(priv);
|
||||
cfg->ring_size = priv->tx_desc_cnt;
|
||||
+ cfg->pages_per_qpl = priv->tx_pages_per_qpl;
|
||||
cfg->start_idx = 0;
|
||||
cfg->num_rings = gve_num_tx_queues(priv);
|
||||
cfg->tx = priv->tx;
|
||||
@@ -981,12 +983,48 @@ static int gve_alloc_xdp_rings(struct gve_priv *priv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void gve_update_num_qpl_pages(struct gve_priv *priv,
|
||||
+ struct gve_rx_alloc_rings_cfg *rx_alloc_cfg,
|
||||
+ struct gve_tx_alloc_rings_cfg *tx_alloc_cfg)
|
||||
+{
|
||||
+ u64 ideal_tx_pages, ideal_rx_pages;
|
||||
+ u16 tx_num_queues, rx_num_queues;
|
||||
+ u64 max_pages, tx_pages;
|
||||
+
|
||||
+ if (priv->queue_format == GVE_GQI_QPL_FORMAT) {
|
||||
+ rx_alloc_cfg->pages_per_qpl = rx_alloc_cfg->ring_size;
|
||||
+ } else if (priv->queue_format == GVE_DQO_QPL_FORMAT) {
|
||||
+ /*
|
||||
+ * We want 2 pages per RX descriptor and half a page per TX
|
||||
+ * descriptor, which means the fraction ideal_tx_pages /
|
||||
+ * (ideal_tx_pages + ideal_rx_pages) of the pages we allocate
|
||||
+ * should be for TX. Shrink proportionally as necessary to avoid
|
||||
+ * allocating more than max_registered_pages total pages.
|
||||
+ */
|
||||
+ tx_num_queues = tx_alloc_cfg->qcfg->num_queues;
|
||||
+ rx_num_queues = rx_alloc_cfg->qcfg->num_queues;
|
||||
+
|
||||
+ ideal_tx_pages = tx_alloc_cfg->ring_size * tx_num_queues / 2;
|
||||
+ ideal_rx_pages = rx_alloc_cfg->ring_size * rx_num_queues * 2;
|
||||
+ max_pages = min(priv->max_registered_pages,
|
||||
+ ideal_tx_pages + ideal_rx_pages);
|
||||
+
|
||||
+ tx_pages = div64_u64(max_pages * ideal_tx_pages,
|
||||
+ ideal_tx_pages + ideal_rx_pages);
|
||||
+ tx_alloc_cfg->pages_per_qpl = div_u64(tx_pages, tx_num_queues);
|
||||
+ rx_alloc_cfg->pages_per_qpl = div_u64(max_pages - tx_pages,
|
||||
+ rx_num_queues);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static int gve_queues_mem_alloc(struct gve_priv *priv,
|
||||
struct gve_tx_alloc_rings_cfg *tx_alloc_cfg,
|
||||
struct gve_rx_alloc_rings_cfg *rx_alloc_cfg)
|
||||
{
|
||||
int err;
|
||||
|
||||
+ gve_update_num_qpl_pages(priv, rx_alloc_cfg, tx_alloc_cfg);
|
||||
+
|
||||
if (gve_is_gqi(priv))
|
||||
err = gve_tx_alloc_rings_gqi(priv, tx_alloc_cfg);
|
||||
else
|
||||
@@ -1281,6 +1319,7 @@ static void gve_rx_get_curr_alloc_cfg(struct gve_priv *priv,
|
||||
cfg->raw_addressing = !gve_is_qpl(priv);
|
||||
cfg->enable_header_split = priv->header_split_enabled;
|
||||
cfg->ring_size = priv->rx_desc_cnt;
|
||||
+ cfg->pages_per_qpl = priv->rx_pages_per_qpl;
|
||||
cfg->packet_buffer_size = gve_is_gqi(priv) ?
|
||||
GVE_DEFAULT_RX_BUFFER_SIZE :
|
||||
priv->data_buffer_size_dqo;
|
||||
@@ -1360,6 +1399,8 @@ static int gve_queues_start(struct gve_priv *priv,
|
||||
priv->rx_cfg = *rx_alloc_cfg->qcfg;
|
||||
priv->tx_desc_cnt = tx_alloc_cfg->ring_size;
|
||||
priv->rx_desc_cnt = rx_alloc_cfg->ring_size;
|
||||
+ priv->tx_pages_per_qpl = tx_alloc_cfg->pages_per_qpl;
|
||||
+ priv->rx_pages_per_qpl = rx_alloc_cfg->pages_per_qpl;
|
||||
|
||||
if (priv->xdp_prog)
|
||||
priv->num_xdp_queues = priv->rx_cfg.num_queues;
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_rx.c b/drivers/net/ethernet/google/gve/gve_rx.c
|
||||
index acb73d4..77077ca 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_rx.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_rx.c
|
||||
@@ -272,7 +272,6 @@ int gve_rx_alloc_ring_gqi(struct gve_priv *priv,
|
||||
struct device *hdev = &priv->pdev->dev;
|
||||
u32 slots = cfg->ring_size;
|
||||
int filled_pages;
|
||||
- int qpl_page_cnt;
|
||||
u32 qpl_id = 0;
|
||||
size_t bytes;
|
||||
int err;
|
||||
@@ -308,10 +307,8 @@ int gve_rx_alloc_ring_gqi(struct gve_priv *priv,
|
||||
|
||||
if (!rx->data.raw_addressing) {
|
||||
qpl_id = gve_get_rx_qpl_id(cfg->qcfg_tx, rx->q_num);
|
||||
- qpl_page_cnt = cfg->ring_size;
|
||||
-
|
||||
rx->data.qpl = gve_alloc_queue_page_list(priv, qpl_id,
|
||||
- qpl_page_cnt);
|
||||
+ cfg->pages_per_qpl);
|
||||
if (!rx->data.qpl) {
|
||||
err = -ENOMEM;
|
||||
goto abort_with_copy_pool;
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/ethernet/google/gve/gve_rx_dqo.c
|
||||
index 1154c1d..1cbaf23 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c
|
||||
@@ -178,7 +178,7 @@ static int gve_alloc_page_dqo(struct gve_rx_ring *rx,
|
||||
return err;
|
||||
} else {
|
||||
idx = rx->dqo.next_qpl_page_idx;
|
||||
- if (idx >= gve_get_rx_pages_per_qpl_dqo(priv->rx_desc_cnt)) {
|
||||
+ if (idx >= priv->rx_pages_per_qpl) {
|
||||
net_err_ratelimited("%s: Out of QPL pages\n",
|
||||
priv->dev->name);
|
||||
return -ENOMEM;
|
||||
@@ -382,7 +382,6 @@ int gve_rx_alloc_ring_dqo(struct gve_priv *priv,
|
||||
int idx)
|
||||
{
|
||||
struct device *hdev = &priv->pdev->dev;
|
||||
- int qpl_page_cnt;
|
||||
size_t size;
|
||||
u32 qpl_id;
|
||||
|
||||
@@ -397,7 +396,7 @@ int gve_rx_alloc_ring_dqo(struct gve_priv *priv,
|
||||
|
||||
rx->dqo.num_buf_states = cfg->raw_addressing ?
|
||||
min_t(s16, S16_MAX, buffer_queue_slots * 4) :
|
||||
- gve_get_rx_pages_per_qpl_dqo(cfg->ring_size);
|
||||
+ cfg->pages_per_qpl;
|
||||
rx->dqo.buf_states = kvcalloc(rx->dqo.num_buf_states,
|
||||
sizeof(rx->dqo.buf_states[0]),
|
||||
GFP_KERNEL);
|
||||
@@ -426,10 +425,8 @@ int gve_rx_alloc_ring_dqo(struct gve_priv *priv,
|
||||
|
||||
if (!cfg->raw_addressing) {
|
||||
qpl_id = gve_get_rx_qpl_id(cfg->qcfg_tx, rx->q_num);
|
||||
- qpl_page_cnt = gve_get_rx_pages_per_qpl_dqo(cfg->ring_size);
|
||||
-
|
||||
rx->dqo.qpl = gve_alloc_queue_page_list(priv, qpl_id,
|
||||
- qpl_page_cnt);
|
||||
+ cfg->pages_per_qpl);
|
||||
if (!rx->dqo.qpl)
|
||||
goto err;
|
||||
rx->dqo.next_qpl_page_idx = 0;
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_tx.c b/drivers/net/ethernet/google/gve/gve_tx.c
|
||||
index e7fb7d6..d471507 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_tx.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_tx.c
|
||||
@@ -261,7 +261,6 @@ static int gve_tx_alloc_ring_gqi(struct gve_priv *priv,
|
||||
int idx)
|
||||
{
|
||||
struct device *hdev = &priv->pdev->dev;
|
||||
- int qpl_page_cnt;
|
||||
u32 qpl_id = 0;
|
||||
size_t bytes;
|
||||
|
||||
@@ -288,10 +287,8 @@ static int gve_tx_alloc_ring_gqi(struct gve_priv *priv,
|
||||
tx->dev = hdev;
|
||||
if (!tx->raw_addressing) {
|
||||
qpl_id = gve_tx_qpl_id(priv, tx->q_num);
|
||||
- qpl_page_cnt = priv->tx_pages_per_qpl;
|
||||
-
|
||||
tx->tx_fifo.qpl = gve_alloc_queue_page_list(priv, qpl_id,
|
||||
- qpl_page_cnt);
|
||||
+ cfg->pages_per_qpl);
|
||||
if (!tx->tx_fifo.qpl)
|
||||
goto abort_with_desc;
|
||||
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_tx_dqo.c b/drivers/net/ethernet/google/gve/gve_tx_dqo.c
|
||||
index f879426..9118256 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_tx_dqo.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_tx_dqo.c
|
||||
@@ -287,7 +287,6 @@ static int gve_tx_alloc_ring_dqo(struct gve_priv *priv,
|
||||
{
|
||||
struct device *hdev = &priv->pdev->dev;
|
||||
int num_pending_packets;
|
||||
- int qpl_page_cnt;
|
||||
size_t bytes;
|
||||
u32 qpl_id;
|
||||
int i;
|
||||
@@ -357,10 +356,8 @@ static int gve_tx_alloc_ring_dqo(struct gve_priv *priv,
|
||||
|
||||
if (!cfg->raw_addressing) {
|
||||
qpl_id = gve_tx_qpl_id(priv, tx->q_num);
|
||||
- qpl_page_cnt = priv->tx_pages_per_qpl;
|
||||
-
|
||||
tx->dqo.qpl = gve_alloc_queue_page_list(priv, qpl_id,
|
||||
- qpl_page_cnt);
|
||||
+ cfg->pages_per_qpl);
|
||||
if (!tx->dqo.qpl)
|
||||
goto err;
|
||||
|
||||
53
2012-gve-Enable-reading-max-ring-size-in-DQO-QPL-mode.patch
Normal file
53
2012-gve-Enable-reading-max-ring-size-in-DQO-QPL-mode.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From a2f19184014f309165d2d4cfb41088b75c1121a4 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Olson <maolson@google.com>
|
||||
Date: Wed, 25 Feb 2026 10:23:42 -0800
|
||||
Subject: [PATCH AlmaLinux 10] gve: Enable reading max ring size from the device in DQO-QPL mode
|
||||
|
||||
The gVNIC device indicates a device option (MODIFY_RING) to the driver,
|
||||
which presents a range of ring sizes from which the user is allowed to
|
||||
select. But in DQO-QPL queue format, the driver ignores the "max" of
|
||||
this range and instead allows the user to configure the ring size in the
|
||||
range [min, default]. This was done because increasing the ring size
|
||||
could result in the number of registered pages being higher than the max
|
||||
allowed by the device.
|
||||
|
||||
In order to support large ring sizes, stop ignoring the "max" of the
|
||||
range presented in the MODIFY_RING option.
|
||||
|
||||
Signed-off-by: Matt Olson <maolson@google.com>
|
||||
Signed-off-by: Max Yuan <maxyuan@google.com>
|
||||
Reviewed-by: Jordan Rhee <jordanrhee@google.com>
|
||||
Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com>
|
||||
Reviewed-by: Praveen Kaligineedi <pkaligineedi@google.com>
|
||||
Signed-off-by: Joshua Washington <joshwash@google.com>
|
||||
Link: https://patch.msgid.link/20260225182342.1049816-3-joshwash@google.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
[ AlmaLinux: applied unmodified on top of the backported "gve: Update QPL page
|
||||
registration logic". ]
|
||||
Signed-off-by: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
---
|
||||
diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
index 2c233009621bc..b5f105709e49b 100644
|
||||
--- a/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
+++ b/drivers/net/ethernet/google/gve/gve_adminq.c
|
||||
@@ -989,12 +989,10 @@ static void gve_enable_supported_features(struct gve_priv *priv,
|
||||
if (dev_op_modify_ring &&
|
||||
(supported_features_mask & GVE_SUP_MODIFY_RING_MASK)) {
|
||||
priv->modify_ring_size_enabled = true;
|
||||
-
|
||||
- /* max ring size for DQO QPL should not be overwritten because of device limit */
|
||||
- if (priv->queue_format != GVE_DQO_QPL_FORMAT) {
|
||||
- priv->max_rx_desc_cnt = be16_to_cpu(dev_op_modify_ring->max_rx_ring_size);
|
||||
- priv->max_tx_desc_cnt = be16_to_cpu(dev_op_modify_ring->max_tx_ring_size);
|
||||
- }
|
||||
+ priv->max_rx_desc_cnt =
|
||||
+ be16_to_cpu(dev_op_modify_ring->max_rx_ring_size);
|
||||
+ priv->max_tx_desc_cnt =
|
||||
+ be16_to_cpu(dev_op_modify_ring->max_tx_ring_size);
|
||||
if (priv->default_min_ring_size) {
|
||||
/* If device hasn't provided minimums, use default minimums */
|
||||
priv->min_tx_desc_cnt = GVE_DEFAULT_MIN_TX_RING_SIZE;
|
||||
--
|
||||
cgit 1.3-korg
|
||||
|
||||
@ -12,7 +12,7 @@ RHEL_MINOR = 2
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 211.38.1
|
||||
RHEL_RELEASE = 211.39.1
|
||||
|
||||
#
|
||||
# RHEL_REBASE_NUM
|
||||
|
||||
@ -1,3 +1,19 @@
|
||||
* Thu Jul 23 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-211.39.1.el10_2]
|
||||
- futex: Drop CLONE_THREAD requirement for private default hash alloc (Audra Mitchell) [RHEL-193518] {CVE-2026-52973}
|
||||
- net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels (Antoine Tenart) [RHEL-179299] {CVE-2026-46099}
|
||||
- scsi: core: Wake up the error handler when final completions race against each other (CKI Backport Bot) [RHEL-189651] {CVE-2026-23110}
|
||||
- dm log: fix out-of-bounds write due to region_count overflow (CKI Backport Bot) [RHEL-188547] {CVE-2026-53059}
|
||||
- rtnetlink: add missing netlink_ns_capable() check for peer netns (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: Try the outer netns attribute in rtnl_get_peer_net(). (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: fix double call of rtnl_link_get_net_ifla() (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- netkit: Set IFLA_NETKIT_PEER_INFO to netkit_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- vxcan: Set VXCAN_INFO_PEER to vxcan_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- veth: Set VETH_INFO_PEER to veth_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: Add peer_type in struct rtnl_link_ops. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- fs/notify: call exportfs_encode_fid with s_umount (Jay Shin) [RHEL-169188] {CVE-2025-40237}
|
||||
- fs: relax assertions on failure to encode file handles (Jay Shin) [RHEL-169188]
|
||||
Resolves: RHEL-169188, RHEL-172537, RHEL-179299, RHEL-188547, RHEL-189651, RHEL-193518
|
||||
|
||||
* Wed Jul 22 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-211.38.1.el10_2]
|
||||
- net: gro: don't merge zcopy skbs (CKI Backport Bot) [RHEL-177856] {CVE-2026-46323}
|
||||
Resolves: RHEL-177856
|
||||
|
||||
37
kernel.spec
37
kernel.spec
@ -176,15 +176,15 @@ Summary: The Linux kernel
|
||||
%define specrpmversion 6.12.0
|
||||
%define specversion 6.12.0
|
||||
%define patchversion 6.12
|
||||
%define pkgrelease 211.38.1
|
||||
%define pkgrelease 211.39.1
|
||||
%define kversion 6
|
||||
%define tarfile_release 6.12.0-211.38.1.el10_2
|
||||
%define tarfile_release 6.12.0-211.39.1.el10_2
|
||||
# This is needed to do merge window version magic
|
||||
%define patchlevel 12
|
||||
# This allows pkg_release to have configurable %%{?dist} tag
|
||||
%define specrelease 211.38.1%{?buildid}%{?dist}
|
||||
%define specrelease 211.39.1%{?buildid}%{?dist}
|
||||
# This defines the kabi tarball version
|
||||
%define kabiversion 6.12.0-211.38.1.el10_2
|
||||
%define kabiversion 6.12.0-211.39.1.el10_2
|
||||
|
||||
# If this variable is set to 1, a bpf selftests build failure will cause a
|
||||
# fatal kernel package build error
|
||||
@ -1138,6 +1138,8 @@ Patch2007: 0007-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch
|
||||
Patch2008: 0008-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch
|
||||
Patch2009: 0009-Bring-back-deprecated-pci-ids-to-mpt3sas-driver.patch
|
||||
Patch2010: 0001-Keep-fs-btrfs-files-in-modules-package.patch
|
||||
Patch2011: 2011-gve-Update-QPL-page-registration-logic.patch
|
||||
Patch2012: 2012-gve-Enable-reading-max-ring-size-in-DQO-QPL-mode.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
@ -1998,6 +2000,8 @@ ApplyPatch 0007-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch
|
||||
ApplyPatch 0008-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch
|
||||
ApplyPatch 0009-Bring-back-deprecated-pci-ids-to-mpt3sas-driver.patch
|
||||
ApplyPatch 0001-Keep-fs-btrfs-files-in-modules-package.patch
|
||||
ApplyPatch 2011-gve-Update-QPL-page-registration-logic.patch
|
||||
ApplyPatch 2012-gve-Enable-reading-max-ring-size-in-DQO-QPL-mode.patch
|
||||
|
||||
%{log_msg "End of patch applications"}
|
||||
# END OF PATCH APPLICATIONS
|
||||
@ -4511,14 +4515,14 @@ fi\
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Fri Jul 24 2026 Eduard Abdullin <eabdullin@almalinux.org> - 6.12.0-211.38.1
|
||||
* Thu Jul 30 2026 Eduard Abdullin <eabdullin@almalinux.org> - 6.12.0-211.39.1
|
||||
- Debrand for AlmaLinux OS
|
||||
- Use AlmaLinux OS secure boot cert
|
||||
|
||||
* Fri Jul 24 2026 Neal Gompa <ngompa@almalinux.org> - 6.12.0-211.38.1
|
||||
* Thu Jul 30 2026 Neal Gompa <ngompa@almalinux.org> - 6.12.0-211.39.1
|
||||
- Enable Btrfs support for all kernel variants
|
||||
|
||||
* Fri Jul 24 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 6.12.0-211.38.1
|
||||
* Thu Jul 30 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 6.12.0-211.39.1
|
||||
- hpsa: bring back deprecated PCI ids #CFHack #CFHack2024
|
||||
- mptsas: bring back deprecated PCI ids #CFHack #CFHack2024
|
||||
- megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024
|
||||
@ -4527,6 +4531,25 @@ fi\
|
||||
- be2iscsi: bring back deprecated PCI ids
|
||||
- kernel/rh_messages.h: enable all disabled pci devices by moving to
|
||||
unmaintained
|
||||
- gve: update QPL page registration logic to honor max_registered_pages
|
||||
(backport from upstream)
|
||||
- gve: enable reading max ring size from the device in DQO-QPL mode (backport
|
||||
from upstream)
|
||||
|
||||
* Thu Jul 23 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-211.39.1.el10_2]
|
||||
- futex: Drop CLONE_THREAD requirement for private default hash alloc (Audra Mitchell) [RHEL-193518] {CVE-2026-52973}
|
||||
- net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels (Antoine Tenart) [RHEL-179299] {CVE-2026-46099}
|
||||
- scsi: core: Wake up the error handler when final completions race against each other (CKI Backport Bot) [RHEL-189651] {CVE-2026-23110}
|
||||
- dm log: fix out-of-bounds write due to region_count overflow (CKI Backport Bot) [RHEL-188547] {CVE-2026-53059}
|
||||
- rtnetlink: add missing netlink_ns_capable() check for peer netns (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: Try the outer netns attribute in rtnl_get_peer_net(). (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: fix double call of rtnl_link_get_net_ifla() (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- netkit: Set IFLA_NETKIT_PEER_INFO to netkit_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- vxcan: Set VXCAN_INFO_PEER to vxcan_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- veth: Set VETH_INFO_PEER to veth_link_ops.peer_type. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- rtnetlink: Add peer_type in struct rtnl_link_ops. (Guillaume Nault) [RHEL-172537] {CVE-2026-31692}
|
||||
- fs/notify: call exportfs_encode_fid with s_umount (Jay Shin) [RHEL-169188] {CVE-2025-40237}
|
||||
- fs: relax assertions on failure to encode file handles (Jay Shin) [RHEL-169188]
|
||||
|
||||
* Wed Jul 22 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-211.38.1.el10_2]
|
||||
- net: gro: don't merge zcopy skbs (CKI Backport Bot) [RHEL-177856] {CVE-2026-46323}
|
||||
|
||||
6
sources
6
sources
@ -1,7 +1,7 @@
|
||||
SHA512 (fedoraimaca.x509) = e04809394f4472c17e86d7024dee34f03fb68e82a85502fd5b00535202c72e57626a8376b2cf991b7e1e46404aa5ab8d189ebf320e0dd37d49e7efbc925c7a2e
|
||||
SHA512 (kernel-abi-stablelists-6.12.0-211.38.1.el10_2.tar.xz) = 6e1ea95ca9ded288a0b60ceb162e4ad03204e3f2cd5b21229051693ba4d7a8cc48099d6e7dbcebab3aff64f12b96733bebc3f3f351aae9a980759d783a168829
|
||||
SHA512 (kernel-kabi-dw-6.12.0-211.38.1.el10_2.tar.xz) = 41f10212678b652f80cc3edb4e2776c897aaf1c1864efcc29b6f8995dd406914be39eb3ef31c808f428cb7f74853bfb976a9bb40cb0069abe0535f87a96e1a7a
|
||||
SHA512 (linux-6.12.0-211.38.1.el10_2.tar.xz) = 86288b079e583d6f9c319044f9db9d16bc861ac351caa4d83bdc9080b4a021623af1b3424d6a0824e016e75cd523d0da60f98d6fe5005167b245a09d184cb4b8
|
||||
SHA512 (kernel-abi-stablelists-6.12.0-211.39.1.el10_2.tar.xz) = 3bd60e7e4d4daae4d638a21dbee37fb18d5a52bdadf8282fff43ab9ead67af170e0928dbb613785c58410d67001a31777dbe74c3b6db268c63a488503cb7f2bf
|
||||
SHA512 (kernel-kabi-dw-6.12.0-211.39.1.el10_2.tar.xz) = f9ac34c9a475b98b6fc7fc8affb117ea3825eb2974077bc1c61deeaf47703eb57dac8f1142daea1c7a434f4b6b75fe3d3ee7f2bdd4fc51a62880d79032c7eac2
|
||||
SHA512 (linux-6.12.0-211.39.1.el10_2.tar.xz) = 8ee62c490ba0e9af6bfceae063b4d7bddea568b8f4d38ddf1cd6009bf5c6782b9de92819711d760a0274aae08fa683b636527bcbf035f465d4b80d2013ea339d
|
||||
SHA512 (nvidiabfdpu.x509) = d9f4fbafcec66803c5944df1f97d4348968141c968e6537252c9854c89dca8ea3be225a9c40abbbf2b7d4d3cfd8c5012cd2d34d90443fbc0277b7a018622ac4f
|
||||
SHA512 (nvidiagpuoot001.x509) = b42f836e1cfa07890cb6ca13de9c3950e306c9ec7686c4c09f050bb68869f5d82962b2cd5f3aa0eb7a0f3a3ae54e9c480eafbac5df53aa92c295ff511a8c59fe
|
||||
SHA512 (nvidiajetsonsoc.x509) = 3c6d4f0800b3fae3c3cc3e5361de31df233e230ea96f0fdd3dcc713e6a71e27309f60e7a98d1a4a90d470f336ce311f22fcc88f219429272e96339717fe001dd
|
||||
|
||||
Loading…
Reference in New Issue
Block a user