Recreate RHEL 5.14.0-687.15.1 from CS9/upstream backports

Add the RHEL 687.14.1..687.15.1 backports (1270-1284) from centos-stream-9 and
upstream stable, on top of 687.13.1. The dpll/zl3073x and ice RSS-queue series are
consolidated (they carry RHEL kABI wrapping and RHEL-only files). The mlx5 kabi
removal (RHEL-181822) is applied via updated Module.kabi_{aarch64,s390x,x86_64}.
Bump pkgrelease and specrelease to 687.15.1.
This commit is contained in:
Andrew Lukoshko 2026-06-11 12:06:00 +00:00
parent 60fd7c7780
commit 018222497a
19 changed files with 4573 additions and 473 deletions

View File

@ -0,0 +1,86 @@
From c29c799bc106385fe74e3a9a51c58087c8f9e725 Mon Sep 17 00:00:00 2001
From: Ryosuke Yasuoka <ryasuoka@redhat.com>
Date: Thu, 15 Jan 2026 13:31:39 +0900
Subject: [PATCH] x86/kvm: Avoid freeing stack-allocated node in
kvm_async_pf_queue_task
JIRA: https://issues.redhat.com/browse/RHEL-125085
commit 95cc9e7cf03d3646abce4129d5c013af33a7df99
Author: Ryosuke Yasuoka <ryasuoka@redhat.com>
Date: Sat Dec 6 23:09:36 2025 +0900
x86/kvm: Avoid freeing stack-allocated node in kvm_async_pf_queue_task
kvm_async_pf_queue_task() can incorrectly try to kfree() a node
allocated on the stack of kvm_async_pf_task_wait_schedule().
This occurs when a task requests a PF while another task's PF request
with the same token is still pending. Since the token is derived from
the (u32)address in exc_page_fault(), two different tasks can generate
the same token.
Currently, kvm_async_pf_queue_task() assumes that any entry found in the
list is a dummy entry and tries to kfree() it. To fix this, add a flag
to the node structure to distinguish stack-allocated nodes, and only
kfree() the node if it is a dummy entry.
Signed-off-by: Ryosuke Yasuoka <ryasuoka@redhat.com>
Message-ID: <20251206140939.144038-1-ryasuoka@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ryosuke Yasuoka <ryasuoka@redhat.com>
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index c8b1db5c914c..16d4e504bedf 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -86,6 +86,7 @@ struct kvm_task_sleep_node {
struct swait_queue_head wq;
u32 token;
int cpu;
+ bool dummy;
};
static struct kvm_task_sleep_head {
@@ -117,15 +118,26 @@ static bool kvm_async_pf_queue_task(u32 token, struct kvm_task_sleep_node *n)
raw_spin_lock(&b->lock);
e = _find_apf_task(b, token);
if (e) {
- /* dummy entry exist -> wake up was delivered ahead of PF */
- hlist_del(&e->link);
+ struct kvm_task_sleep_node *dummy = NULL;
+
+ /*
+ * The entry can either be a 'dummy' entry (which is put on the
+ * list when wake-up happens ahead of APF handling completion)
+ * or a token from another task which should not be touched.
+ */
+ if (e->dummy) {
+ hlist_del(&e->link);
+ dummy = e;
+ }
+
raw_spin_unlock(&b->lock);
- kfree(e);
+ kfree(dummy);
return false;
}
n->token = token;
n->cpu = smp_processor_id();
+ n->dummy = false;
init_swait_queue_head(&n->wq);
hlist_add_head(&n->link, &b->list);
raw_spin_unlock(&b->lock);
@@ -228,6 +240,7 @@ void kvm_async_pf_task_wake(u32 token)
}
dummy->token = token;
dummy->cpu = smp_processor_id();
+ dummy->dummy = true;
init_swait_queue_head(&dummy->wq);
hlist_add_head(&dummy->link, &b->list);
dummy = NULL;
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,86 @@
From 2884bf72fb8f03409e423397319205de48adca16 Mon Sep 17 00:00:00 2001
From: Xiang Mei <xmei5@asu.edu>
Date: Thu, 26 Mar 2026 00:55:53 -0700
Subject: [PATCH] net: bonding: fix use-after-free in bond_xmit_broadcast()
bond_xmit_broadcast() reuses the original skb for the last slave
(determined by bond_is_last_slave()) and clones it for others.
Concurrent slave enslave/release can mutate the slave list during
RCU-protected iteration, changing which slave is "last" mid-loop.
This causes the original skb to be double-consumed (double-freed).
Replace the racy bond_is_last_slave() check with a simple index
comparison (i + 1 == slaves_count) against the pre-snapshot slave
count taken via READ_ONCE() before the loop. This preserves the
zero-copy optimization for the last slave while making the "last"
determination stable against concurrent list mutations.
The UAF can trigger the following crash:
==================================================================
BUG: KASAN: slab-use-after-free in skb_clone
Read of size 8 at addr ffff888100ef8d40 by task exploit/147
CPU: 1 UID: 0 PID: 147 Comm: exploit Not tainted 7.0.0-rc3+ #4 PREEMPTLAZY
Call Trace:
<TASK>
dump_stack_lvl (lib/dump_stack.c:123)
print_report (mm/kasan/report.c:379 mm/kasan/report.c:482)
kasan_report (mm/kasan/report.c:597)
skb_clone (include/linux/skbuff.h:1724 include/linux/skbuff.h:1792 include/linux/skbuff.h:3396 net/core/skbuff.c:2108)
bond_xmit_broadcast (drivers/net/bonding/bond_main.c:5334)
bond_start_xmit (drivers/net/bonding/bond_main.c:5567 drivers/net/bonding/bond_main.c:5593)
dev_hard_start_xmit (include/linux/netdevice.h:5325 include/linux/netdevice.h:5334 net/core/dev.c:3871 net/core/dev.c:3887)
__dev_queue_xmit (include/linux/netdevice.h:3601 net/core/dev.c:4838)
ip6_finish_output2 (include/net/neighbour.h:540 include/net/neighbour.h:554 net/ipv6/ip6_output.c:136)
ip6_finish_output (net/ipv6/ip6_output.c:208 net/ipv6/ip6_output.c:219)
ip6_output (net/ipv6/ip6_output.c:250)
ip6_send_skb (net/ipv6/ip6_output.c:1985)
udp_v6_send_skb (net/ipv6/udp.c:1442)
udpv6_sendmsg (net/ipv6/udp.c:1733)
__sys_sendto (net/socket.c:730 net/socket.c:742 net/socket.c:2206)
__x64_sys_sendto (net/socket.c:2209)
do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
</TASK>
Allocated by task 147:
Freed by task 147:
The buggy address belongs to the object at ffff888100ef8c80
which belongs to the cache skbuff_head_cache of size 224
The buggy address is located 192 bytes inside of
freed 224-byte region [ffff888100ef8c80, ffff888100ef8d60)
Memory state around the buggy address:
ffff888100ef8c00: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc
ffff888100ef8c80: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff888100ef8d00: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
^
ffff888100ef8d80: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
ffff888100ef8e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
Fixes: 4e5bd03ae346 ("net: bonding: fix bond_xmit_broadcast return value error bug")
Reported-by: Weiming Shi <bestswngs@gmail.com>
Signed-off-by: Xiang Mei <xmei5@asu.edu>
Link: https://patch.msgid.link/20260326075553.3960562-1-xmei5@asu.edu
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 33f414d03ab9..a5484d11553d 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -5326,7 +5326,7 @@ static netdev_tx_t bond_xmit_broadcast(struct sk_buff *skb,
if (!(bond_slave_is_up(slave) && slave->link == BOND_LINK_UP))
continue;
- if (bond_is_last_slave(bond, slave)) {
+ if (i + 1 == slaves_count) {
skb2 = skb;
skb_used = true;
} else {
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,43 @@
From 9411a89e9e7135cc459178fa77a3f1d6191ae903 Mon Sep 17 00:00:00 2001
From: Maurizio Lombardi <mlombard@redhat.com>
Date: Mon, 12 Jan 2026 17:53:51 +0100
Subject: [PATCH] scsi: target: iscsi: Fix use-after-free in
iscsit_dec_conn_usage_count()
In iscsit_dec_conn_usage_count(), the function calls complete() while
holding the conn->conn_usage_lock. As soon as complete() is invoked, the
waiter (such as iscsit_close_connection()) may wake up and proceed to free
the iscsit_conn structure.
If the waiter frees the memory before the current thread reaches
spin_unlock_bh(), it results in a KASAN slab-use-after-free as the function
attempts to release a lock within the already-freed connection structure.
Fix this by releasing the spinlock before calling complete().
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Reported-by: Zhaojuan Guo <zguo@redhat.com>
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Link: https://patch.msgid.link/20260112165352.138606-2-mlombard@redhat.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
diff --git a/drivers/target/iscsi/iscsi_target_util.c b/drivers/target/iscsi/iscsi_target_util.c
index 5e6cf34929b5..3319394bf542 100644
--- a/drivers/target/iscsi/iscsi_target_util.c
+++ b/drivers/target/iscsi/iscsi_target_util.c
@@ -810,8 +810,11 @@ void iscsit_dec_conn_usage_count(struct iscsit_conn *conn)
spin_lock_bh(&conn->conn_usage_lock);
conn->conn_usage_count--;
- if (!conn->conn_usage_count && conn->conn_waiting_on_uc)
+ if (!conn->conn_usage_count && conn->conn_waiting_on_uc) {
+ spin_unlock_bh(&conn->conn_usage_lock);
complete(&conn->conn_waiting_on_uc_comp);
+ return;
+ }
spin_unlock_bh(&conn->conn_usage_lock);
}
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,69 @@
From d23a5f0e39e18eafc25a9ac4cbc7b26fbfdea21e Mon Sep 17 00:00:00 2001
From: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
Date: Fri, 1 May 2026 19:22:31 +0000
Subject: [PATCH] net: mana: fix use-after-free in add_adev() error path
JIRA: https://redhat.atlassian.net/browse/RHEL-172769
CVE: CVE-2026-43056
commit c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f
Author: Guangshuo Li <lgs201920130244@gmail.com>
Date: Tue Mar 24 00:57:30 2026 +0800
net: mana: fix use-after-free in add_adev() error path
If auxiliary_device_add() fails, add_adev() jumps to add_fail and calls
auxiliary_device_uninit(adev).
The auxiliary device has its release callback set to adev_release(),
which frees the containing struct mana_adev. Since adev is embedded in
struct mana_adev, the subsequent fall-through to init_fail and access
to adev->id may result in a use-after-free.
Fix this by saving the allocated auxiliary device id in a local
variable before calling auxiliary_device_add(), and use that saved id
in the cleanup path after auxiliary_device_uninit().
Fixes: a69839d4327d ("net: mana: Add support for auxiliary device")
Cc: stable@vger.kernel.org
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Link: https://patch.msgid.link/20260323165730.945365-1-lgs201920130244@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index 055a84643d14..a64ef3e227bc 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -3196,6 +3196,7 @@ static int add_adev(struct gdma_dev *gd, const char *name)
struct auxiliary_device *adev;
struct mana_adev *madev;
int ret;
+ int id;
madev = kzalloc(sizeof(*madev), GFP_KERNEL);
if (!madev)
@@ -3205,7 +3206,8 @@ static int add_adev(struct gdma_dev *gd, const char *name)
ret = mana_adev_idx_alloc();
if (ret < 0)
goto idx_fail;
- adev->id = ret;
+ id = ret;
+ adev->id = id;
adev->name = name;
adev->dev.parent = gd->gdma_context->dev;
@@ -3231,7 +3233,7 @@ static int add_adev(struct gdma_dev *gd, const char *name)
auxiliary_device_uninit(adev);
init_fail:
- mana_adev_idx_free(adev->id);
+ mana_adev_idx_free(id);
idx_fail:
kfree(madev);
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,90 @@
From e3fcfc25d4d21b251685ba9ce984e87b674a0fad Mon Sep 17 00:00:00 2001
From: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
Date: Mon, 4 May 2026 08:31:07 +0000
Subject: [PATCH] ALSA: 6fire: fix use-after-free on disconnect
JIRA: https://redhat.atlassian.net/browse/RHEL-172970
CVE: CVE-2026-31581
commit b9c826916fdce6419b94eb0cd8810fdac18c2386
Author: Berk Cem Goksel <berkcgoksel@gmail.com>
Date: Fri Apr 10 08:13:41 2026 +0300
ALSA: 6fire: fix use-after-free on disconnect
In usb6fire_chip_abort(), the chip struct is allocated as the card's
private data (via snd_card_new with sizeof(struct sfire_chip)). When
snd_card_free_when_closed() is called and no file handles are open, the
card and embedded chip are freed synchronously. The subsequent
chip->card = NULL write then hits freed slab memory.
Call trace:
usb6fire_chip_abort sound/usb/6fire/chip.c:59 [inline]
usb6fire_chip_disconnect+0x348/0x358 sound/usb/6fire/chip.c:182
usb_unbind_interface+0x1a8/0x88c drivers/usb/core/driver.c:458
...
hub_event+0x1a04/0x4518 drivers/usb/core/hub.c:5953
Fix by moving the card lifecycle out of usb6fire_chip_abort() and into
usb6fire_chip_disconnect(). The card pointer is saved in a local
before any teardown, snd_card_disconnect() is called first to prevent
new opens, URBs are aborted while chip is still valid, and
snd_card_free_when_closed() is called last so chip is never accessed
after the card may be freed.
Fixes: a0810c3d6dd2 ("ALSA: 6fire: Release resources at card release")
Cc: stable@vger.kernel.org
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Signed-off-by: Berk Cem Goksel <berkcgoksel@gmail.com>
Link: https://patch.msgid.link/20260410051341.1069716-1-berkcgoksel@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
diff --git a/sound/usb/6fire/chip.c b/sound/usb/6fire/chip.c
index 5ff78814e687..874f6cd503ca 100644
--- a/sound/usb/6fire/chip.c
+++ b/sound/usb/6fire/chip.c
@@ -53,11 +53,6 @@ static void usb6fire_chip_abort(struct sfire_chip *chip)
usb6fire_comm_abort(chip);
if (chip->control)
usb6fire_control_abort(chip);
- if (chip->card) {
- snd_card_disconnect(chip->card);
- snd_card_free_when_closed(chip->card);
- chip->card = NULL;
- }
}
}
@@ -168,6 +163,7 @@ static int usb6fire_chip_probe(struct usb_interface *intf,
static void usb6fire_chip_disconnect(struct usb_interface *intf)
{
struct sfire_chip *chip;
+ struct snd_card *card;
chip = usb_get_intfdata(intf);
if (chip) { /* if !chip, fw upload has been performed */
@@ -178,8 +174,19 @@ static void usb6fire_chip_disconnect(struct usb_interface *intf)
chips[chip->regidx] = NULL;
}
+ /*
+ * Save card pointer before teardown.
+ * snd_card_free_when_closed() may free card (and
+ * the embedded chip) immediately, so it must be
+ * called last and chip must not be accessed after.
+ */
+ card = chip->card;
chip->shutdown = true;
+ if (card)
+ snd_card_disconnect(card);
usb6fire_chip_abort(chip);
+ if (card)
+ snd_card_free_when_closed(card);
}
}
}
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,47 @@
From 8b7b77b30a2a8619e3db6aca77b74e527570c458 Mon Sep 17 00:00:00 2001
From: Alexander Aring <aahringo@redhat.com>
Date: Fri, 8 May 2026 17:19:36 -0400
Subject: [PATCH] dlm: validate length in dlm_search_rsb_tree
JIRA: https://issues.redhat.com/browse/RHEL-173996
CVE: CVE-2026-43125
Upstream Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Conflicts: upstream switched to rhashtables so lookup looks different
commit 080e5563f878c64e697b89e7439d730d0daad882
Author: Ezrak1e <ezrakiez@gmail.com>
Date: Tue Jan 20 10:35:06 2026 -0500
dlm: validate length in dlm_search_rsb_tree
The len parameter in dlm_dump_rsb_name() is not validated and comes
from network messages. When it exceeds DLM_RESNAME_MAXLEN, it can
cause out-of-bounds write in dlm_search_rsb_tree().
Add length validation to prevent potential buffer overflow.
Signed-off-by: Ezrak1e <ezrakiez@gmail.com>
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Alexander Aring <aahringo@redhat.com>
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index b8059e4c65b7..7fd7ffeb6246 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -449,6 +449,9 @@ int dlm_search_rsb_tree(struct rb_root *tree, char *name, int len,
struct dlm_rsb *r;
int rc;
+ if (len > DLM_RESNAME_MAXLEN)
+ return -EINVAL;
+
while (node) {
r = rb_entry(node, struct dlm_rsb, res_hashnode);
rc = rsb_cmp(r, name, len);
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,69 @@
From 46fd7c54bd6c4508d25540bdbd1c2f10ba50962a Mon Sep 17 00:00:00 2001
From: Alexander Aring <aahringo@redhat.com>
Date: Fri, 29 May 2026 10:59:20 -0400
Subject: [PATCH] dlm: fix buffer overflow from negative len in
dlm_search_rsb_tree
JIRA: https://issues.redhat.com/browse/RHEL-173996
CVE: CVE-2026-43125
Upstream Status: RHEL only
Conflicts: This patch is upstream not part "yet" to fix the CVE, but the
initial fix was not enough to fix the CVE-2026-43125 vulnerability.
There are still upstream discussion about how to handle this, thats why
it is RHEL specific.
commit 823532f62cb6db31b3b0b56de000df5034874d81
Author: Joseph Qi <joseph.qi@linux.alibaba.com>
Date: Sun May 17 10:03:15 2026 +0800
dlm: fix buffer overflow from negative len in dlm_search_rsb_tree
commit 080e5563f878 only checks for len > DLM_RESNAME_MAXLEN, which does
not catch negative values. While the input 'len' can be negative and a
negative int passed to memcpy() is implicitly converted to a large
size_t, causing a stack buffer overflow on the key[] array.
Fix this by changing the 'len' parameter type from int to unsigned int.
This ensures negative values from callers are implicitly converted to
large unsigned values that are caught by the existing
len > DLM_RESNAME_MAXLEN check.
Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Signed-off-by: Alexander Aring <aahringo@redhat.com>
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 7fd7ffeb6246..dcfa539bd034 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -442,8 +442,8 @@ static int rsb_cmp(struct dlm_rsb *r, const char *name, int nlen)
return memcmp(r->res_name, maxname, DLM_RESNAME_MAXLEN);
}
-int dlm_search_rsb_tree(struct rb_root *tree, char *name, int len,
- struct dlm_rsb **r_ret)
+int dlm_search_rsb_tree(struct rb_root *tree, char *name,
+ unsigned int len, struct dlm_rsb **r_ret)
{
struct rb_node *node = tree->rb_node;
struct dlm_rsb *r;
diff --git a/fs/dlm/lock.h b/fs/dlm/lock.h
index 456c6ec3ef6f..8cf81b512f0a 100644
--- a/fs/dlm/lock.h
+++ b/fs/dlm/lock.h
@@ -30,8 +30,8 @@ void dlm_adjust_timeouts(struct dlm_ls *ls);
int dlm_master_lookup(struct dlm_ls *ls, int nodeid, char *name, int len,
unsigned int flags, int *r_nodeid, int *result);
-int dlm_search_rsb_tree(struct rb_root *tree, char *name, int len,
- struct dlm_rsb **r_ret);
+int dlm_search_rsb_tree(struct rb_root *tree, char *name,
+ unsigned int len, struct dlm_rsb **r_ret);
void dlm_recover_purge(struct dlm_ls *ls);
void dlm_purge_mstcpy_locks(struct dlm_rsb *r);
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,222 @@
From 3cd0619e1302cfbaea374ea05b27aaab19b7b7b0 Mon Sep 17 00:00:00 2001
From: Florian Westphal <fwestpha@redhat.com>
Date: Wed, 6 May 2026 18:52:26 +0200
Subject: [PATCH] netfilter: ctnetlink: ensure safe access to master conntrack
JIRA: https://issues.redhat.com/browse/RHEL-173885
CVE: CVE-2026-43116
Conflict: We lack upstream del_timer/timer_delete rename.
commit bffcaad9afdfe45d7fc777397d3b83c1e3ebffe5
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Wed Mar 25 14:11:04 2026 +0100
netfilter: ctnetlink: ensure safe access to master conntrack
Holding reference on the expectation is not sufficient, the master
conntrack object can just go away, making exp->master invalid.
To access exp->master safely:
- Grab the nf_conntrack_expect_lock, this gets serialized with
clean_from_lists() which also holds this lock when the master
conntrack goes away.
- Hold reference on master conntrack via nf_conntrack_find_get().
Not so easy since the master tuple to look up for the master conntrack
is not available in the existing problematic paths.
This patch goes for extending the nf_conntrack_expect_lock section
to address this issue for simplicity, in the cases that are described
below this is just slightly extending the lock section.
The add expectation command already holds a reference to the master
conntrack from ctnetlink_create_expect().
However, the delete expectation command needs to grab the spinlock
before looking up for the expectation. Expand the existing spinlock
section to address this to cover the expectation lookup. Note that,
the nf_ct_expect_iterate_net() calls already grabs the spinlock while
iterating over the expectation table, which is correct.
The get expectation command needs to grab the spinlock to ensure master
conntrack does not go away. This also expands the existing spinlock
section to cover the expectation lookup too. I needed to move the
netlink skb allocation out of the spinlock to keep it GFP_KERNEL.
For the expectation events, the IPEXP_DESTROY event is already delivered
under the spinlock, just move the delivery of IPEXP_NEW under the
spinlock too because the master conntrack event cache is reached through
exp->master.
While at it, add lockdep notations to help identify what codepaths need
to grab the spinlock.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Assisted-by: Patchpal
Signed-off-by: Florian Westphal <fwestpha@redhat.com>
diff --git a/include/net/netfilter/nf_conntrack_core.h b/include/net/netfilter/nf_conntrack_core.h
index ff315e3ae75f..6ff83618e968 100644
--- a/include/net/netfilter/nf_conntrack_core.h
+++ b/include/net/netfilter/nf_conntrack_core.h
@@ -84,6 +84,11 @@ void nf_conntrack_lock(spinlock_t *lock);
extern spinlock_t nf_conntrack_expect_lock;
+static inline void lockdep_nfct_expect_lock_held(void)
+{
+ lockdep_assert_held(&nf_conntrack_expect_lock);
+}
+
/* ctnetlink code shared by both ctnetlink and nf_conntrack_bpf */
#if (IS_BUILTIN(CONFIG_NF_CONNTRACK) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) || \
diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c
index 69948e1d6974..6526bdcca580 100644
--- a/net/netfilter/nf_conntrack_ecache.c
+++ b/net/netfilter/nf_conntrack_ecache.c
@@ -237,6 +237,8 @@ void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
struct nf_ct_event_notifier *notify;
struct nf_conntrack_ecache *e;
+ lockdep_nfct_expect_lock_held();
+
rcu_read_lock();
notify = rcu_dereference(net->ct.nf_conntrack_event_cb);
if (!notify)
diff --git a/net/netfilter/nf_conntrack_expect.c b/net/netfilter/nf_conntrack_expect.c
index ce1ac3187f1c..29bd82d1715d 100644
--- a/net/netfilter/nf_conntrack_expect.c
+++ b/net/netfilter/nf_conntrack_expect.c
@@ -51,6 +51,7 @@ void nf_ct_unlink_expect_report(struct nf_conntrack_expect *exp,
struct net *net = nf_ct_exp_net(exp);
struct nf_conntrack_net *cnet;
+ lockdep_nfct_expect_lock_held();
WARN_ON(!master_help);
WARN_ON(timer_pending(&exp->timeout));
@@ -118,6 +119,8 @@ nf_ct_exp_equal(const struct nf_conntrack_tuple *tuple,
bool nf_ct_remove_expect(struct nf_conntrack_expect *exp)
{
+ lockdep_nfct_expect_lock_held();
+
if (del_timer(&exp->timeout)) {
nf_ct_unlink_expect(exp);
nf_ct_expect_put(exp);
@@ -177,6 +180,8 @@ nf_ct_find_expectation(struct net *net,
struct nf_conntrack_expect *i, *exp = NULL;
unsigned int h;
+ lockdep_nfct_expect_lock_held();
+
if (!cnet->expect_count)
return NULL;
@@ -442,6 +447,8 @@ static inline int __nf_ct_expect_check(struct nf_conntrack_expect *expect,
unsigned int h;
int ret = 0;
+ lockdep_nfct_expect_lock_held();
+
if (!master_help) {
ret = -ESHUTDOWN;
goto out;
@@ -498,8 +505,9 @@ int nf_ct_expect_related_report(struct nf_conntrack_expect *expect,
nf_ct_expect_insert(expect);
- spin_unlock_bh(&nf_conntrack_expect_lock);
nf_ct_expect_event_report(IPEXP_NEW, expect, portid, report);
+ spin_unlock_bh(&nf_conntrack_expect_lock);
+
return 0;
out:
spin_unlock_bh(&nf_conntrack_expect_lock);
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index 91151e5df688..e19697d16d4c 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -3329,31 +3329,37 @@ static int ctnetlink_get_expect(struct sk_buff *skb,
if (err < 0)
return err;
+ skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
+ if (!skb2)
+ return -ENOMEM;
+
+ spin_lock_bh(&nf_conntrack_expect_lock);
exp = nf_ct_expect_find_get(info->net, &zone, &tuple);
- if (!exp)
+ if (!exp) {
+ spin_unlock_bh(&nf_conntrack_expect_lock);
+ kfree_skb(skb2);
return -ENOENT;
+ }
if (cda[CTA_EXPECT_ID]) {
__be32 id = nla_get_be32(cda[CTA_EXPECT_ID]);
if (id != nf_expect_get_id(exp)) {
nf_ct_expect_put(exp);
+ spin_unlock_bh(&nf_conntrack_expect_lock);
+ kfree_skb(skb2);
return -ENOENT;
}
}
- skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
- if (!skb2) {
- nf_ct_expect_put(exp);
- return -ENOMEM;
- }
-
rcu_read_lock();
err = ctnetlink_exp_fill_info(skb2, NETLINK_CB(skb).portid,
info->nlh->nlmsg_seq, IPCTNL_MSG_EXP_NEW,
exp);
rcu_read_unlock();
nf_ct_expect_put(exp);
+ spin_unlock_bh(&nf_conntrack_expect_lock);
+
if (err <= 0) {
kfree_skb(skb2);
return -ENOMEM;
@@ -3403,22 +3409,26 @@ static int ctnetlink_del_expect(struct sk_buff *skb,
if (err < 0)
return err;
+ spin_lock_bh(&nf_conntrack_expect_lock);
+
/* bump usage count to 2 */
exp = nf_ct_expect_find_get(info->net, &zone, &tuple);
- if (!exp)
+ if (!exp) {
+ spin_unlock_bh(&nf_conntrack_expect_lock);
return -ENOENT;
+ }
if (cda[CTA_EXPECT_ID]) {
__be32 id = nla_get_be32(cda[CTA_EXPECT_ID]);
if (id != nf_expect_get_id(exp)) {
nf_ct_expect_put(exp);
+ spin_unlock_bh(&nf_conntrack_expect_lock);
return -ENOENT;
}
}
/* after list removal, usage count == 1 */
- spin_lock_bh(&nf_conntrack_expect_lock);
if (del_timer(&exp->timeout)) {
nf_ct_unlink_expect_report(exp, NETLINK_CB(skb).portid,
nlmsg_report(info->nlh));
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,59 @@
From 0beefd0e15d962f497aad750b2d5e9c3570b66d1 Mon Sep 17 00:00:00 2001
From: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Date: Mon, 12 Jan 2026 01:54:12 +0000
Subject: [PATCH] RDMA/rxe: Fix double free in rxe_srq_from_init
In rxe_srq_from_init(), the queue pointer 'q' is assigned to
'srq->rq.queue' before copying the SRQ number to user space.
If copy_to_user() fails, the function calls rxe_queue_cleanup()
to free the queue, but leaves the now-invalid pointer in
'srq->rq.queue'.
The caller of rxe_srq_from_init() (rxe_create_srq) eventually
calls rxe_srq_cleanup() upon receiving the error, which triggers
a second rxe_queue_cleanup() on the same memory, leading to a
double free.
The call trace looks like this:
kmem_cache_free+0x.../0x...
rxe_queue_cleanup+0x1a/0x30 [rdma_rxe]
rxe_srq_cleanup+0x42/0x60 [rdma_rxe]
rxe_elem_release+0x31/0x70 [rdma_rxe]
rxe_create_srq+0x12b/0x1a0 [rdma_rxe]
ib_create_srq_user+0x9a/0x150 [ib_core]
Fix this by moving 'srq->rq.queue = q' after copy_to_user.
Fixes: aae0484e15f0 ("IB/rxe: avoid srq memory leak")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Link: https://patch.msgid.link/20260112015412.29458-1-jiashengjiangcool@gmail.com
Reviewed-by: Zhu Yanjun <yanjun.Zhu@linux.dev>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
diff --git a/drivers/infiniband/sw/rxe/rxe_srq.c b/drivers/infiniband/sw/rxe/rxe_srq.c
index 2a234f26ac10..c9a7cd38953d 100644
--- a/drivers/infiniband/sw/rxe/rxe_srq.c
+++ b/drivers/infiniband/sw/rxe/rxe_srq.c
@@ -77,9 +77,6 @@ int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq,
goto err_free;
}
- srq->rq.queue = q;
- init->attr.max_wr = srq->rq.max_wr;
-
if (uresp) {
if (copy_to_user(&uresp->srq_num, &srq->srq_num,
sizeof(uresp->srq_num))) {
@@ -88,6 +85,9 @@ int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq,
}
}
+ srq->rq.queue = q;
+ init->attr.max_wr = srq->rq.max_wr;
+
return 0;
err_free:
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,121 @@
From 7c770dadfda5cbbde6aa3c4363ed513f1d212bf8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@redhat.com>
Date: Wed, 18 Mar 2026 16:55:51 +0100
Subject: [PATCH] net: openvswitch: Avoid releasing netdev before teardown
completes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The patch cited in the Fixes tag below changed the teardown code for
OVS ports to no longer unconditionally take the RTNL. After this change,
the netdev_destroy() callback can proceed immediately to the call_rcu()
invocation if the IFF_OVS_DATAPATH flag is already cleared on the
netdev.
The ovs_netdev_detach_dev() function clears the flag before completing
the unregistration, and if it gets preempted after clearing the flag (as
can happen on an -rt kernel), netdev_destroy() can complete and the
device can be freed before the unregistration completes. This leads to a
splat like:
[ 998.393867] Oops: general protection fault, probably for non-canonical address 0xff00000001000239: 0000 [#1] SMP PTI
[ 998.393877] CPU: 42 UID: 0 PID: 55177 Comm: ip Kdump: loaded Not tainted 6.12.0-211.1.1.el10_2.x86_64+rt #1 PREEMPT_RT
[ 998.393886] Hardware name: Dell Inc. PowerEdge R740/0JMK61, BIOS 2.24.0 03/27/2025
[ 998.393889] RIP: 0010:dev_set_promiscuity+0x8d/0xa0
[ 998.393901] Code: 00 00 75 d8 48 8b 53 08 48 83 ba b0 02 00 00 00 75 ca 48 83 c4 08 5b c3 cc cc cc cc 48 83 bf 48 09 00 00 00 75 91 48 8b 47 08 <48> 83 b8 b0 02 00 00 00 74 97 eb 81 0f 1f 80 00 00 00 00 90 90 90
[ 998.393906] RSP: 0018:ffffce5864a5f6a0 EFLAGS: 00010246
[ 998.393912] RAX: ff00000000ffff89 RBX: ffff894d0adf5a05 RCX: 0000000000000000
[ 998.393917] RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff894d0adf5a05
[ 998.393921] RBP: ffff894d19252000 R08: ffff894d19252000 R09: 0000000000000000
[ 998.393924] R10: ffff894d19252000 R11: ffff894d192521b8 R12: 0000000000000006
[ 998.393927] R13: ffffce5864a5f738 R14: 00000000ffffffe2 R15: 0000000000000000
[ 998.393931] FS: 00007fad61971800(0000) GS:ffff894cc0140000(0000) knlGS:0000000000000000
[ 998.393936] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 998.393940] CR2: 000055df0a2a6e40 CR3: 000000011c7fe003 CR4: 00000000007726f0
[ 998.393944] PKRU: 55555554
[ 998.393946] Call Trace:
[ 998.393949] <TASK>
[ 998.393952] ? show_trace_log_lvl+0x1b0/0x2f0
[ 998.393961] ? show_trace_log_lvl+0x1b0/0x2f0
[ 998.393975] ? dp_device_event+0x41/0x80 [openvswitch]
[ 998.394009] ? __die_body.cold+0x8/0x12
[ 998.394016] ? die_addr+0x3c/0x60
[ 998.394027] ? exc_general_protection+0x16d/0x390
[ 998.394042] ? asm_exc_general_protection+0x26/0x30
[ 998.394058] ? dev_set_promiscuity+0x8d/0xa0
[ 998.394066] ? ovs_netdev_detach_dev+0x3a/0x80 [openvswitch]
[ 998.394092] dp_device_event+0x41/0x80 [openvswitch]
[ 998.394102] notifier_call_chain+0x5a/0xd0
[ 998.394106] unregister_netdevice_many_notify+0x51b/0xa60
[ 998.394110] rtnl_dellink+0x169/0x3e0
[ 998.394121] ? rt_mutex_slowlock.constprop.0+0x95/0xd0
[ 998.394125] rtnetlink_rcv_msg+0x142/0x3f0
[ 998.394128] ? avc_has_perm_noaudit+0x69/0xf0
[ 998.394130] ? __pfx_rtnetlink_rcv_msg+0x10/0x10
[ 998.394132] netlink_rcv_skb+0x50/0x100
[ 998.394138] netlink_unicast+0x292/0x3f0
[ 998.394141] netlink_sendmsg+0x21b/0x470
[ 998.394145] ____sys_sendmsg+0x39d/0x3d0
[ 998.394149] ___sys_sendmsg+0x9a/0xe0
[ 998.394156] __sys_sendmsg+0x7a/0xd0
[ 998.394160] do_syscall_64+0x7f/0x170
[ 998.394162] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 998.394165] RIP: 0033:0x7fad61bf4724
[ 998.394188] Code: 89 02 b8 ff ff ff ff eb bb 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 80 3d c5 e9 0c 00 00 74 13 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 89 54 24 1c 48 89
[ 998.394189] RSP: 002b:00007ffd7e2f7cb8 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
[ 998.394191] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fad61bf4724
[ 998.394193] RDX: 0000000000000000 RSI: 00007ffd7e2f7d20 RDI: 0000000000000003
[ 998.394194] RBP: 00007ffd7e2f7d90 R08: 0000000000000010 R09: 000000000000003f
[ 998.394195] R10: 000055df11558010 R11: 0000000000000202 R12: 00007ffd7e2f8380
[ 998.394196] R13: 0000000069b233d7 R14: 000055df0a256040 R15: 0000000000000000
[ 998.394200] </TASK>
To fix this, reorder the operations in ovs_netdev_detach_dev() to only
clear the flag after completing the other operations, and introduce an
smp_wmb() to make the ordering requirement explicit. The smp_wmb() is
paired with a full smp_mb() in netdev_destroy() to make sure the
call_rcu() invocation does not happen before the unregister operations
are visible.
Reported-by: Minxi Hou <mhou@redhat.com>
Tested-by: Minxi Hou <mhou@redhat.com>
Fixes: 549822767630 ("net: openvswitch: Avoid needlessly taking the RTNL on vport destroy")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://patch.msgid.link/20260318155554.1133405-1-toke@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 6574f9bcdc02..c688dee96503 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -151,11 +151,15 @@ static void vport_netdev_free(struct rcu_head *rcu)
void ovs_netdev_detach_dev(struct vport *vport)
{
ASSERT_RTNL();
- vport->dev->priv_flags &= ~IFF_OVS_DATAPATH;
netdev_rx_handler_unregister(vport->dev);
netdev_upper_dev_unlink(vport->dev,
netdev_master_upper_dev_get(vport->dev));
dev_set_promiscuity(vport->dev, -1);
+
+ /* paired with smp_mb() in netdev_destroy() */
+ smp_wmb();
+
+ vport->dev->priv_flags &= ~IFF_OVS_DATAPATH;
}
static void netdev_destroy(struct vport *vport)
@@ -174,6 +178,9 @@ static void netdev_destroy(struct vport *vport)
rtnl_unlock();
}
+ /* paired with smp_wmb() in ovs_netdev_detach_dev() */
+ smp_mb();
+
call_rcu(&vport->rcu, vport_netdev_free);
}
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,51 @@
From 2edfa31769a4add828a7e604b21cb82aaaa05925 Mon Sep 17 00:00:00 2001
From: Eric Dumazet <edumazet@google.com>
Date: Thu, 26 Mar 2026 15:51:38 +0000
Subject: [PATCH] ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
Oskar Kjos reported the following problem.
ip4ip6_err() calls icmp_send() on a cloned skb whose cb[] was written
by the IPv6 receive path as struct inet6_skb_parm. icmp_send() passes
IPCB(skb2) to __ip_options_echo(), which interprets that cb[] region
as struct inet_skb_parm (IPv4). The layouts differ: inet6_skb_parm.nhoff
at offset 14 overlaps inet_skb_parm.opt.rr, producing a non-zero rr
value. __ip_options_echo() then reads optlen from attacker-controlled
packet data at sptr[rr+1] and copies that many bytes into dopt->__data,
a fixed 40-byte stack buffer (IP_OPTIONS_DATA_FIXED_SIZE).
To fix this we clear skb2->cb[], as suggested by Oskar Kjos.
Also add minimal IPv4 header validation (version == 4, ihl >= 5).
Fixes: c4d3efafcc93 ("[IPV6] IP6TUNNEL: Add support to IPv4 over IPv6 tunnel.")
Reported-by: Oskar Kjos <oskar.kjos@hotmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20260326155138.2429480-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index 4c29aa94e86e..0b53488a9229 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -601,11 +601,16 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
if (!skb2)
return 0;
+ /* Remove debris left by IPv6 stack. */
+ memset(IPCB(skb2), 0, sizeof(*IPCB(skb2)));
+
skb_dst_drop(skb2);
skb_pull(skb2, offset);
skb_reset_network_header(skb2);
eiph = ip_hdr(skb2);
+ if (eiph->version != 4 || eiph->ihl < 5)
+ goto out;
/* Try to guess incoming interface */
rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL, eiph->saddr,
--
2.50.1 (Apple Git-155)

View File

@ -0,0 +1,37 @@
Subject: [PATCH] ipv6: rpl: reserve mac_len headroom when recompressed SRH grows (CVE-2026-43501)
# AlmaLinux: reconstructed (687.13.1->687.15.1); includes RHEL kABI / RHEL-only files
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c
index 400ca6a..4475aa3 100644
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -479,6 +479,7 @@ static int ipv6_rpl_srh_rcv(struct sk_buff *skb)
struct net *net = dev_net(skb->dev);
struct inet6_dev *idev;
struct ipv6hdr *oldhdr;
+ unsigned int chdr_len;
struct in6_addr addr;
unsigned char *buf;
int accept_rpl_seg;
@@ -601,8 +602,10 @@ static int ipv6_rpl_srh_rcv(struct sk_buff *skb)
skb_pull(skb, ((hdr->hdrlen + 1) << 3));
skb_postpull_rcsum(skb, oldhdr,
sizeof(struct ipv6hdr) + ((hdr->hdrlen + 1) << 3));
- if (unlikely(!hdr->segments_left)) {
- if (pskb_expand_head(skb, sizeof(struct ipv6hdr) + ((chdr->hdrlen + 1) << 3), 0,
+ chdr_len = sizeof(struct ipv6hdr) + ((chdr->hdrlen + 1) << 3);
+ if (unlikely(!hdr->segments_left ||
+ skb_headroom(skb) < chdr_len + skb->mac_len)) {
+ if (pskb_expand_head(skb, chdr_len + skb->mac_len, 0,
GFP_ATOMIC)) {
__IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_OUTDISCARDS);
kfree_skb(skb);
@@ -612,7 +615,7 @@ static int ipv6_rpl_srh_rcv(struct sk_buff *skb)
oldhdr = ipv6_hdr(skb);
}
- skb_push(skb, ((chdr->hdrlen + 1) << 3) + sizeof(struct ipv6hdr));
+ skb_push(skb, chdr_len);
skb_reset_network_header(skb);
skb_mac_header_rebuild(skb);
skb_set_transport_header(skb, sizeof(struct ipv6hdr));

View File

@ -0,0 +1,37 @@
Subject: [PATCH] RDMA/mlx4: Fix mis-use of RCU in mlx4_srq_event() (CVE-2026-46181)
# AlmaLinux: reconstructed base->final
diff --git a/drivers/net/ethernet/mellanox/mlx4/srq.c b/drivers/net/ethernet/mellanox/mlx4/srq.c
index dd890f5..b21eae5 100644
--- a/drivers/net/ethernet/mellanox/mlx4/srq.c
+++ b/drivers/net/ethernet/mellanox/mlx4/srq.c
@@ -44,13 +44,14 @@ void mlx4_srq_event(struct mlx4_dev *dev, u32 srqn, int event_type)
{
struct mlx4_srq_table *srq_table = &mlx4_priv(dev)->srq_table;
struct mlx4_srq *srq;
+ unsigned long flags;
- rcu_read_lock();
+ spin_lock_irqsave(&srq_table->lock, flags);
srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1));
- rcu_read_unlock();
- if (srq)
- refcount_inc(&srq->refcount);
- else {
+ if (!srq || !refcount_inc_not_zero(&srq->refcount))
+ srq = NULL;
+ spin_unlock_irqrestore(&srq_table->lock, flags);
+ if (!srq) {
mlx4_warn(dev, "Async event for bogus SRQ %08x\n", srqn);
return;
}
@@ -203,8 +204,8 @@ int mlx4_srq_alloc(struct mlx4_dev *dev, u32 pdn, u32 cqn, u16 xrcd,
if (err)
goto err_radix;
- refcount_set(&srq->refcount, 1);
init_completion(&srq->free);
+ atomic_set_release(&srq->refcount.refs, 1);
return 0;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,256 @@
Subject: [PATCH] ice: default RSS queues series incl RHEL ice_rh (RHEL-174336/177526)
# AlmaLinux: reconstructed; includes RHEL-only ice_rh.c/.h
diff --git a/drivers/net/ethernet/intel/ice/Makefile b/drivers/net/ethernet/intel/ice/Makefile
index 0b8cf4e..3da38fc 100644
--- a/drivers/net/ethernet/intel/ice/Makefile
+++ b/drivers/net/ethernet/intel/ice/Makefile
@@ -43,7 +43,8 @@ ice-y := ice_main.o \
ice_repr.o \
ice_tc_lib.o \
ice_debugfs.o \
- ice_adapter.o
+ ice_adapter.o \
+ ice_rh.o
ice-$(CONFIG_PCI_IOV) += \
ice_sriov.o \
virt/allowlist.o \
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
index a23ccd4..480db81 100644
--- a/drivers/net/ethernet/intel/ice/ice.h
+++ b/drivers/net/ethernet/intel/ice/ice.h
@@ -837,6 +837,28 @@ static inline void ice_tx_xsk_pool(struct ice_vsi *vsi, u16 qid)
WRITE_ONCE(ring->xsk_pool, ice_get_xp_from_qid(vsi, qid));
}
+/**
+ * ice_get_max_txq - return the maximum number of Tx queues for in a PF
+ * @pf: PF structure
+ *
+ * Return: maximum number of Tx queues
+ */
+static inline int ice_get_max_txq(struct ice_pf *pf)
+{
+ return min(num_online_cpus(), pf->hw.func_caps.common_cap.num_txq);
+}
+
+/**
+ * ice_get_max_rxq - return the maximum number of Rx queues for in a PF
+ * @pf: PF structure
+ *
+ * Return: maximum number of Rx queues
+ */
+static inline int ice_get_max_rxq(struct ice_pf *pf)
+{
+ return min(num_online_cpus(), pf->hw.func_caps.common_cap.num_rxq);
+}
+
/**
* ice_get_main_vsi - Get the PF VSI
* @pf: PF instance
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 912d800..db6adaa 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -3744,24 +3744,6 @@ ice_get_ts_info(struct net_device *dev, struct kernel_ethtool_ts_info *info)
return 0;
}
-/**
- * ice_get_max_txq - return the maximum number of Tx queues for in a PF
- * @pf: PF structure
- */
-static int ice_get_max_txq(struct ice_pf *pf)
-{
- return min(num_online_cpus(), pf->hw.func_caps.common_cap.num_txq);
-}
-
-/**
- * ice_get_max_rxq - return the maximum number of Rx queues for in a PF
- * @pf: PF structure
- */
-static int ice_get_max_rxq(struct ice_pf *pf)
-{
- return min(num_online_cpus(), pf->hw.func_caps.common_cap.num_rxq);
-}
-
/**
* ice_get_combined_cnt - return the current number of combined channels
* @vsi: PF VSI pointer
diff --git a/drivers/net/ethernet/intel/ice/ice_irq.c b/drivers/net/ethernet/intel/ice/ice_irq.c
index 30801fd..4766951 100644
--- a/drivers/net/ethernet/intel/ice/ice_irq.c
+++ b/drivers/net/ethernet/intel/ice/ice_irq.c
@@ -4,6 +4,7 @@
#include "ice.h"
#include "ice_lib.h"
#include "ice_irq.h"
+#include "ice_rh.h"
/**
* ice_init_irq_tracker - initialize interrupt tracker
@@ -106,9 +107,10 @@ static struct ice_irq_entry *ice_get_irq_res(struct ice_pf *pf,
#define ICE_RDMA_AEQ_MSIX 1
static int ice_get_default_msix_amount(struct ice_pf *pf)
{
- return ICE_MIN_LAN_OICR_MSIX + num_online_cpus() +
+ return ICE_MIN_LAN_OICR_MSIX + ice_rh_get_num_default_rss_queues() +
(test_bit(ICE_FLAG_FD_ENA, pf->flags) ? ICE_FDIR_MSIX : 0) +
- (ice_is_rdma_ena(pf) ? num_online_cpus() + ICE_RDMA_AEQ_MSIX : 0);
+ (ice_is_rdma_ena(pf) ? ice_rh_get_num_default_rss_queues() +
+ ICE_RDMA_AEQ_MSIX : 0);
}
/**
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index d668806..72c91bd 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -9,6 +9,7 @@
#include "ice_dcb_lib.h"
#include "ice_type.h"
#include "ice_vsi_vlan_ops.h"
+#include "ice_rh.h"
/**
* ice_vsi_type_str - maps VSI type enum to string equivalents
@@ -159,12 +160,14 @@ static void ice_vsi_set_num_desc(struct ice_vsi *vsi)
static u16 ice_get_rxq_count(struct ice_pf *pf)
{
- return min(ice_get_avail_rxq_count(pf), num_online_cpus());
+ return min(ice_get_avail_rxq_count(pf),
+ ice_rh_get_num_default_rss_queues());
}
static u16 ice_get_txq_count(struct ice_pf *pf)
{
- return min(ice_get_avail_txq_count(pf), num_online_cpus());
+ return min(ice_get_avail_txq_count(pf),
+ ice_rh_get_num_default_rss_queues());
}
/**
@@ -911,13 +914,15 @@ static void ice_vsi_set_rss_params(struct ice_vsi *vsi)
if (vsi->type == ICE_VSI_CHNL)
vsi->rss_size = min_t(u16, vsi->num_rxq, max_rss_size);
else
- vsi->rss_size = min_t(u16, num_online_cpus(),
+ vsi->rss_size = min_t(u16,
+ ice_rh_get_num_default_rss_queues(),
max_rss_size);
vsi->rss_lut_type = ICE_LUT_PF;
break;
case ICE_VSI_SF:
vsi->rss_table_size = ICE_LUT_VSI_SIZE;
- vsi->rss_size = min_t(u16, num_online_cpus(), max_rss_size);
+ vsi->rss_size = min_t(u16, ice_rh_get_num_default_rss_queues(),
+ max_rss_size);
vsi->rss_lut_type = ICE_LUT_VSI;
break;
case ICE_VSI_VF:
@@ -3007,7 +3012,7 @@ ice_vsi_rebuild_set_coalesce(struct ice_vsi *vsi,
* ice_vsi_realloc_stat_arrays - Frees unused stat structures or alloc new ones
* @vsi: VSI pointer
*/
-static int
+int
ice_vsi_realloc_stat_arrays(struct ice_vsi *vsi)
{
u16 req_txq = vsi->req_txq ? vsi->req_txq : vsi->alloc_txq;
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.h b/drivers/net/ethernet/intel/ice/ice_lib.h
index 2cb1eb9..fce6f63 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.h
+++ b/drivers/net/ethernet/intel/ice/ice_lib.h
@@ -66,6 +66,7 @@ int ice_ena_vsi(struct ice_vsi *vsi, bool locked);
void ice_vsi_decfg(struct ice_vsi *vsi);
void ice_dis_vsi(struct ice_vsi *vsi, bool locked);
+int ice_vsi_realloc_stat_arrays(struct ice_vsi *vsi);
int ice_vsi_rebuild(struct ice_vsi *vsi, u32 vsi_flags);
int ice_vsi_cfg(struct ice_vsi *vsi);
struct ice_vsi *ice_vsi_alloc(struct ice_pf *pf);
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 6b1e6ee..38356f6 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -4730,8 +4730,8 @@ static int ice_cfg_netdev(struct ice_vsi *vsi)
struct net_device *netdev;
u8 mac_addr[ETH_ALEN];
- netdev = alloc_etherdev_mqs(sizeof(*np), vsi->alloc_txq,
- vsi->alloc_rxq);
+ netdev = alloc_etherdev_mqs(sizeof(*np), ice_get_max_txq(vsi->back),
+ ice_get_max_rxq(vsi->back));
if (!netdev)
return -ENOMEM;
diff --git a/drivers/net/ethernet/intel/ice/ice_rh.c b/drivers/net/ethernet/intel/ice/ice_rh.c
new file mode 100644
index 0000000..7660eee
--- /dev/null
+++ b/drivers/net/ethernet/intel/ice/ice_rh.c
@@ -0,0 +1,33 @@
+#include <linux/cpumask.h>
+#include <linux/crash_dump.h>
+#include <linux/gfp_types.h>
+#include <linux/math.h>
+#include <linux/topology.h>
+
+#include "ice_rh.h"
+
+/**
+ * ice_rh_get_num_default_rss_queues - default number of RSS queues
+ *
+ * Default value is the number of physical cores if there are only 1 or 2, or
+ * divided by 2 if there are more.
+ *
+ * This is a renamed copy of netif_get_num_default_rss_queues() from upstream.
+ */
+int ice_rh_get_num_default_rss_queues(void)
+{
+ cpumask_var_t cpus;
+ int cpu, count = 0;
+
+ if (unlikely(is_kdump_kernel() || !zalloc_cpumask_var(&cpus, GFP_KERNEL)))
+ return 1;
+
+ cpumask_copy(cpus, cpu_online_mask);
+ for_each_cpu(cpu, cpus) {
+ ++count;
+ cpumask_andnot(cpus, cpus, topology_sibling_cpumask(cpu));
+ }
+ free_cpumask_var(cpus);
+
+ return count > 2 ? DIV_ROUND_UP(count, 2) : count;
+}
diff --git a/drivers/net/ethernet/intel/ice/ice_rh.h b/drivers/net/ethernet/intel/ice/ice_rh.h
new file mode 100644
index 0000000..d88e00a
--- /dev/null
+++ b/drivers/net/ethernet/intel/ice/ice_rh.h
@@ -0,0 +1,6 @@
+#ifndef __ICE_RH_H
+#define __ICE_RH_H
+
+int ice_rh_get_num_default_rss_queues(void);
+
+#endif
diff --git a/drivers/net/ethernet/intel/ice/ice_vf_lib.c b/drivers/net/ethernet/intel/ice/ice_vf_lib.c
index e53a1e4..08e3e26 100644
--- a/drivers/net/ethernet/intel/ice/ice_vf_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_vf_lib.c
@@ -268,6 +268,13 @@ static int ice_vf_reconfig_vsi(struct ice_vf *vf)
vsi->flags = ICE_VSI_FLAG_NO_INIT;
+ vsi->req_txq = vf->num_req_qs;
+ vsi->req_rxq = vf->num_req_qs;
+
+ err = ice_vsi_realloc_stat_arrays(vsi);
+ if (err)
+ return err;
+
ice_vsi_decfg(vsi);
ice_fltr_remove_all(vsi);

View File

@ -1708,163 +1708,6 @@
0x290bad79 mlx4_write_mtt drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x5b36c4a2 mlx4_xrcd_alloc drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x918cd6e6 mlx4_xrcd_free drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0xa16fd523 mlx5_add_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x81e2699b mlx5_alloc_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7672da8f mlx5_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x0fd736a7 mlx5_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x23255f46 mlx5_cmd_add_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6dda02b6 mlx5_cmd_check drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1ef778b2 mlx5_cmd_cleanup_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x522b4431 mlx5_cmd_create_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1cd98a74 mlx5_cmd_destroy_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbd37c692 mlx5_cmd_do drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x282800df mlx5_cmd_exec drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x562bab7a mlx5_cmd_exec_cb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc3dc5280 mlx5_cmd_init_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x961af1f0 mlx5_cmd_out_err drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1fa9852f mlx5_cmd_remove_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x0a4002db mlx5_comp_eqn_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xca05ca8b mlx5_comp_vectors_max drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd07e7d0c mlx5_core_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xdc853cec mlx5_core_alloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb388ccea mlx5_core_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3441e413 mlx5_core_create_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xeb09b7b8 mlx5_core_create_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x62560925 mlx5_core_create_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7ef86a93 mlx5_core_create_rqt drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe22b8924 mlx5_core_create_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x748773e7 mlx5_core_dealloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5a52c89e mlx5_core_destroy_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb77ec2da mlx5_core_destroy_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xebbd3531 mlx5_core_destroy_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x20d8360e mlx5_core_modify_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x19e1c3d4 mlx5_core_modify_cq_moderation drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2c376041 mlx5_core_modify_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x99ec65f6 mlx5_core_modify_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x94ddba25 mlx5_core_modify_sq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfd027378 mlx5_core_modify_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe6cedc25 mlx5_core_mp_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x69bf2cdc mlx5_core_query_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x04c04d8f mlx5_core_query_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x347873bb mlx5_core_query_sq_state drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x2dc2915e mlx5_core_query_vendor_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4ed22479 mlx5_core_query_vport_counter drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x51776b7b mlx5_core_reserved_gids_count drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x343a7e55 mlx5_core_roce_gid_set drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7cb23851 mlx5_core_uplink_netdev_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x721a42d6 mlx5_create_auto_grouped_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5c42c4b9 mlx5_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb1a2c116 mlx5_create_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc7387224 mlx5_create_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfe5e6db5 mlx5_create_lag_demux_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb38d5ce9 mlx5_db_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xaa3d1e23 mlx5_db_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x161b06a2 mlx5_debug_qp_add drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x45dc02ba mlx5_debug_qp_remove drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x60307d96 mlx5_debugfs_get_dev_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa95deb76 mlx5_debugfs_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd51a05ab mlx5_del_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x57b612e8 mlx5_destroy_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdb9ff463 mlx5_destroy_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x677f1a83 mlx5_dm_sw_icm_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x02fd07db mlx5_dm_sw_icm_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x562e7236 mlx5_eq_create_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x19a0584e mlx5_eq_destroy_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf1e946e8 mlx5_eq_disable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb1f030e9 mlx5_eq_enable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x770e8eb5 mlx5_eq_get_eqe drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9e083b7a mlx5_eq_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc4b08053 mlx5_eq_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc9ff4841 mlx5_eq_update_ci drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x20cde6c5 mlx5_eswitch_add_send_to_vport_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xefc12273 mlx5_eswitch_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf876e61c mlx5_eswitch_get_encap_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x32e24179 mlx5_eswitch_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd329b533 mlx5_eswitch_get_total_vports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xb329ecaf mlx5_eswitch_get_vport_metadata_for_match drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x08e13db4 mlx5_eswitch_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x0c178bd7 mlx5_eswitch_register_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3185bbb6 mlx5_eswitch_unregister_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x71427a70 mlx5_eswitch_uplink_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x039f514a mlx5_eswitch_vport_match_metadata_enabled drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd91596a2 mlx5_fc_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5592bf6b mlx5_fc_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8a7cd712 mlx5_fc_local_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6030960f mlx5_fc_local_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xeabf9268 mlx5_fc_query drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x072460c4 mlx5_fill_page_frag_array drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x81aadc6a mlx5_fill_page_frag_array_perm drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x04e078a5 mlx5_flow_table_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x95240825 mlx5_frag_buf_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3597af48 mlx5_frag_buf_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x956cd1f1 mlx5_free_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x33ec7df6 mlx5_get_flow_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbafe8cc6 mlx5_get_flow_vport_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb8010aed mlx5_get_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x66c0b1aa mlx5_is_roce_on drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2e3c17ee mlx5_lag_get_next_peer_mdev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x127b22ae mlx5_lag_get_num_ports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd8081509 mlx5_lag_get_slave_port drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x871fdc80 mlx5_lag_is_active drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf8e4fc25 mlx5_lag_is_master drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x00d9044e mlx5_lag_is_mpesw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xcfc38fde mlx5_lag_is_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x41454b8c mlx5_lag_is_shared_fdb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x62c41f46 mlx5_lag_is_sriov drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa44daa31 mlx5_lag_mode_is_hash drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1dd0ebe1 mlx5_lag_query_cong_counters drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x64fade05 mlx5_macsec_add_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x37897e7f mlx5_macsec_add_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x42b43a38 mlx5_macsec_del_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x390b982c mlx5_macsec_del_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x89b23e60 mlx5_modify_header_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf8acce42 mlx5_modify_header_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8d32a4f6 mlx5_mpfs_add_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6456eb57 mlx5_mpfs_del_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x00296a87 mlx5_nic_vport_affiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xf036e184 mlx5_nic_vport_disable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x52903f7b mlx5_nic_vport_enable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x1e85de77 mlx5_nic_vport_unaffiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4eb45831 mlx5_nic_vport_update_local_lb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xc708cf71 mlx5_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe835af05 mlx5_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x37135fc1 mlx5_packet_reformat_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd72dc8fb mlx5_packet_reformat_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x497175d8 mlx5_put_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2ea79214 mlx5_qp_debugfs_cleanup drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x00777ce8 mlx5_qp_debugfs_init drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x59ae5f5b mlx5_query_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x731460b7 mlx5_query_hca_vport_gid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x5f4501ac mlx5_query_hca_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xb74d42ea mlx5_query_hca_vport_pkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xddb13d55 mlx5_query_hca_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xce3b7022 mlx5_query_ib_port_oper drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xcfe5e991 mlx5_query_min_inline drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xc28c9ad1 mlx5_query_nic_vport_mac_address drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x7edf73f2 mlx5_query_nic_vport_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4d29408b mlx5_query_nic_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xbfe23e60 mlx5_query_nic_vport_qkey_viol_cntr drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xa9682314 mlx5_query_nic_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x47bd7760 mlx5_query_port_max_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x5488f88c mlx5_query_port_oper_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xf0229f91 mlx5_query_port_ptys drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x94a74269 mlx5_query_port_vl_hw_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x0ff31a30 mlx5_rdma_rn_get_params drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6b31a6da mlx5_rl_add_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb4fc819f mlx5_rl_add_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x61492bb7 mlx5_rl_are_equal drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9e397476 mlx5_rl_remove_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7c645af3 mlx5_rl_remove_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbaee7dfe mlx5_rsc_dump_cmd_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xad6815cd mlx5_rsc_dump_cmd_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc71b4998 mlx5_rsc_dump_next drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3d5c617e mlx5_set_port_caps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd7f74c10 mlx5_sriov_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7bf0e2ae mlx5_sriov_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x94e7e1f2 mlx5_vf_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x009914cd mlx5_vf_put_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4fb51e71 mlx5_vport_get_other_func_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x26fd44d0 mlx5_wc_support_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1d434f3f mlxfw_firmware_flash drivers/net/ethernet/mellanox/mlxfw/mlxfw EXPORT_SYMBOL
0xe16986dd mlxsw_afa_block_activity_get drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL
0xd28256cf mlxsw_afa_block_append_allocated_counter drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL

View File

@ -1563,163 +1563,6 @@
0xb07058d1 mlx4_write_mtt drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x130aa373 mlx4_xrcd_alloc drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0xe394b349 mlx4_xrcd_free drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x23e2c280 mlx5_add_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfe8c30c3 mlx5_alloc_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdf25b983 mlx5_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xec65ebb6 mlx5_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x026e7498 mlx5_cmd_add_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x0780275a mlx5_cmd_check drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf371e9b9 mlx5_cmd_cleanup_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9d9b55f1 mlx5_cmd_create_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6615d6cf mlx5_cmd_destroy_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf5dfee90 mlx5_cmd_do drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x468b5dc0 mlx5_cmd_exec drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x146dff49 mlx5_cmd_exec_cb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4d9dacd8 mlx5_cmd_init_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4c479bb3 mlx5_cmd_out_err drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf4ed926e mlx5_cmd_remove_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1fc60ea3 mlx5_comp_eqn_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6879484b mlx5_comp_vectors_max drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa4426337 mlx5_core_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x361421c7 mlx5_core_alloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9f00095a mlx5_core_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xec69e160 mlx5_core_create_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb6708ff9 mlx5_core_create_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xed057685 mlx5_core_create_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1b77962d mlx5_core_create_rqt drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf9fed668 mlx5_core_create_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x024760ba mlx5_core_dealloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x69dfce3f mlx5_core_destroy_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbd514239 mlx5_core_destroy_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x22123027 mlx5_core_destroy_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2c1cc256 mlx5_core_modify_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2c07d0b2 mlx5_core_modify_cq_moderation drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x40edd8fd mlx5_core_modify_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x9bd42ac0 mlx5_core_modify_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5b3cd613 mlx5_core_modify_sq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x584c6e39 mlx5_core_modify_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9ee2374d mlx5_core_mp_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2ec76882 mlx5_core_query_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x85a7d8cb mlx5_core_query_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x256250dc mlx5_core_query_sq_state drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x09498dd0 mlx5_core_query_vendor_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3cc5aa29 mlx5_core_query_vport_counter drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xee179e34 mlx5_core_reserved_gids_count drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x6b63d322 mlx5_core_roce_gid_set drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x52891d91 mlx5_core_uplink_netdev_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa9744a5e mlx5_create_auto_grouped_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbbdaea54 mlx5_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x101384cb mlx5_create_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x593965e2 mlx5_create_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x75c7c44b mlx5_create_lag_demux_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x86ba557a mlx5_db_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xe08a7efa mlx5_db_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x1e945f73 mlx5_debug_qp_add drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x41107a0a mlx5_debug_qp_remove drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x962521b9 mlx5_debugfs_get_dev_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb00fb943 mlx5_debugfs_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd95055a7 mlx5_del_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9010c06e mlx5_destroy_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x911df19f mlx5_destroy_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x08404b3f mlx5_dm_sw_icm_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xfadf2ef8 mlx5_dm_sw_icm_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x60c1de7e mlx5_eq_create_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x347a1e7c mlx5_eq_destroy_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xaf1e8434 mlx5_eq_disable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf9d72f18 mlx5_eq_enable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x12b82305 mlx5_eq_get_eqe drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xedd8e8d7 mlx5_eq_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6f9b60a5 mlx5_eq_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xed93cf6e mlx5_eq_update_ci drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x147adb9b mlx5_eswitch_add_send_to_vport_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1155bb3f mlx5_eswitch_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x74b09a8e mlx5_eswitch_get_encap_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x03a4bf81 mlx5_eswitch_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc005f69b mlx5_eswitch_get_total_vports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4ecfbcda mlx5_eswitch_get_vport_metadata_for_match drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf2b34efe mlx5_eswitch_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xf23065e3 mlx5_eswitch_register_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9bbc0e5f mlx5_eswitch_unregister_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9d72f7dc mlx5_eswitch_uplink_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xaecde58a mlx5_eswitch_vport_match_metadata_enabled drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4a6dd09f mlx5_fc_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3f752250 mlx5_fc_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf1400f9a mlx5_fc_local_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd0c7964e mlx5_fc_local_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x31fe1c83 mlx5_fc_query drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x072460c4 mlx5_fill_page_frag_array drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x81aadc6a mlx5_fill_page_frag_array_perm drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x116d3d38 mlx5_flow_table_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe3c44ed8 mlx5_frag_buf_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd1e337a3 mlx5_frag_buf_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x75d691db mlx5_free_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x69fb1001 mlx5_get_flow_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5dbd05dd mlx5_get_flow_vport_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9f904da5 mlx5_get_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x927fd895 mlx5_is_roce_on drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa8ec5316 mlx5_lag_get_next_peer_mdev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xde018299 mlx5_lag_get_num_ports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x16ab61de mlx5_lag_get_slave_port drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xccee9a22 mlx5_lag_is_active drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x29360443 mlx5_lag_is_master drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3e4d04d3 mlx5_lag_is_mpesw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x31fb9198 mlx5_lag_is_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x27947b64 mlx5_lag_is_shared_fdb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb007398e mlx5_lag_is_sriov drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x109b593d mlx5_lag_mode_is_hash drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbab77e9d mlx5_lag_query_cong_counters drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x64fade05 mlx5_macsec_add_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x37897e7f mlx5_macsec_add_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x42b43a38 mlx5_macsec_del_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x390b982c mlx5_macsec_del_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x053bcb81 mlx5_modify_header_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x94278bae mlx5_modify_header_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe484db6f mlx5_mpfs_add_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf31038ce mlx5_mpfs_del_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x17229e4e mlx5_nic_vport_affiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3b8c3a15 mlx5_nic_vport_disable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe98fc8b4 mlx5_nic_vport_enable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x0a388ba2 mlx5_nic_vport_unaffiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x6d351fea mlx5_nic_vport_update_local_lb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xc3735f72 mlx5_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa8ab6051 mlx5_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x83b3642b mlx5_packet_reformat_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x954b266a mlx5_packet_reformat_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x26cb0780 mlx5_put_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdb0cef4d mlx5_qp_debugfs_cleanup drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb4de480d mlx5_qp_debugfs_init drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb4047218 mlx5_query_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xb2d0436c mlx5_query_hca_vport_gid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x39d04754 mlx5_query_hca_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xa5763da7 mlx5_query_hca_vport_pkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4e207674 mlx5_query_hca_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xda028548 mlx5_query_ib_port_oper drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x73cb80bc mlx5_query_min_inline drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xc7492f79 mlx5_query_nic_vport_mac_address drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x0a073317 mlx5_query_nic_vport_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3b712b75 mlx5_query_nic_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x5b6d083c mlx5_query_nic_vport_qkey_viol_cntr drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x9f6aa306 mlx5_query_nic_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x8c4eece4 mlx5_query_port_max_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x0f449762 mlx5_query_port_oper_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4aa00d9a mlx5_query_port_ptys drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xc3836b5e mlx5_query_port_vl_hw_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x49d13634 mlx5_rdma_rn_get_params drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x05fa348a mlx5_rl_add_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe56c41cb mlx5_rl_add_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x61492bb7 mlx5_rl_are_equal drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdc76a730 mlx5_rl_remove_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x52e94d40 mlx5_rl_remove_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x76f90753 mlx5_rsc_dump_cmd_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xad6815cd mlx5_rsc_dump_cmd_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4be53b1f mlx5_rsc_dump_next drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x89a1683c mlx5_set_port_caps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xfb385f7c mlx5_sriov_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc589267e mlx5_sriov_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe280c64f mlx5_vf_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x7689dd6a mlx5_vf_put_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc0b8a38c mlx5_vport_get_other_func_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xab6d5f71 mlx5_wc_support_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x18143ee4 mlxfw_firmware_flash drivers/net/ethernet/mellanox/mlxfw/mlxfw EXPORT_SYMBOL
0xe16986dd mlxsw_afa_block_activity_get drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL
0xd28256cf mlxsw_afa_block_append_allocated_counter drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL

View File

@ -1794,163 +1794,6 @@
0x08ca0e05 mlx4_write_mtt drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x6f264329 mlx4_xrcd_alloc drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x4194430d mlx4_xrcd_free drivers/net/ethernet/mellanox/mlx4/mlx4_core EXPORT_SYMBOL_GPL
0x2566c076 mlx5_add_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x42f0731a mlx5_alloc_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6f6f8492 mlx5_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6b419739 mlx5_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9132b1bc mlx5_cmd_add_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6621eaf8 mlx5_cmd_check drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9827e074 mlx5_cmd_cleanup_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe20daa8f mlx5_cmd_create_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1eb91ec9 mlx5_cmd_destroy_vport_lag drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1099c766 mlx5_cmd_do drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xeab65831 mlx5_cmd_exec drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x326e5ccb mlx5_cmd_exec_cb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3a7bce9a mlx5_cmd_init_async_ctx drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdf8eb63f mlx5_cmd_out_err drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x0d46c448 mlx5_cmd_remove_privileged_uid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x59e45e50 mlx5_comp_eqn_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x22ddec9b mlx5_comp_vectors_max drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x986aa1c6 mlx5_core_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x60f6ed60 mlx5_core_alloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa0305b82 mlx5_core_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x9d73839d mlx5_core_create_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8ed891ac mlx5_core_create_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x47dbc39e mlx5_core_create_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf10e815a mlx5_core_create_rqt drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xaefdfdf0 mlx5_core_create_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x203756eb mlx5_core_dealloc_pd drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8c654697 mlx5_core_destroy_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfae29f13 mlx5_core_destroy_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x15fdbfd8 mlx5_core_destroy_psv drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe8dc6482 mlx5_core_modify_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa3f02ff1 mlx5_core_modify_cq_moderation drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x74d94947 mlx5_core_modify_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xf17f6df9 mlx5_core_modify_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbdf13bb6 mlx5_core_modify_sq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfd972858 mlx5_core_modify_tis drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2bf1b47e mlx5_core_mp_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x723ed7e0 mlx5_core_query_mkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x60ee8151 mlx5_core_query_rq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xbab22823 mlx5_core_query_sq_state drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x24476ce0 mlx5_core_query_vendor_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x88a79244 mlx5_core_query_vport_counter drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3433b778 mlx5_core_reserved_gids_count drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x1d380c3c mlx5_core_roce_gid_set drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x774a7a45 mlx5_core_uplink_netdev_event_replay drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x721a42d6 mlx5_create_auto_grouped_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa2f61bad mlx5_create_cq drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb1a2c116 mlx5_create_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc7387224 mlx5_create_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfe5e6db5 mlx5_create_lag_demux_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x41274e53 mlx5_db_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x98e03852 mlx5_db_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x37fc06fe mlx5_debug_qp_add drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1a9e7024 mlx5_debug_qp_remove drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x22bfb371 mlx5_debugfs_get_dev_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x76ab8b7f mlx5_debugfs_root drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x51a8a3a4 mlx5_del_flow_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x57b612e8 mlx5_destroy_flow_group drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdb9ff463 mlx5_destroy_flow_table drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x564e4980 mlx5_dm_sw_icm_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xedb136fa mlx5_dm_sw_icm_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xe5976f2a mlx5_eq_create_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x417e1126 mlx5_eq_destroy_generic drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6bf52858 mlx5_eq_disable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x426a616a mlx5_eq_enable drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb266177f mlx5_eq_get_eqe drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x842aa534 mlx5_eq_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdee6bcfa mlx5_eq_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x33c0b7d8 mlx5_eq_update_ci drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x74e18a55 mlx5_eswitch_add_send_to_vport_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x78c2a413 mlx5_eswitch_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5f55d2f2 mlx5_eswitch_get_encap_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1181b93a mlx5_eswitch_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc4f94b71 mlx5_eswitch_get_total_vports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x045e4e46 mlx5_eswitch_get_vport_metadata_for_match drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8487d19a mlx5_eswitch_mode drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x1e38c8f0 mlx5_eswitch_register_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5b6709b1 mlx5_eswitch_unregister_vport_reps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xdaa29c0c mlx5_eswitch_uplink_get_proto_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xba8643e4 mlx5_eswitch_vport_match_metadata_enabled drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1a4dd7a7 mlx5_fc_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x72ec0780 mlx5_fc_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8a7cd712 mlx5_fc_local_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x6030960f mlx5_fc_local_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x173d9f6d mlx5_fc_query drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x072460c4 mlx5_fill_page_frag_array drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x81aadc6a mlx5_fill_page_frag_array_perm drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x04e078a5 mlx5_flow_table_id drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x67a0fb24 mlx5_frag_buf_alloc_node drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd8474598 mlx5_frag_buf_free drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x4176849a mlx5_free_bfreg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc24034d8 mlx5_get_flow_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xf5d3b07b mlx5_get_flow_vport_namespace drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xeaa9f956 mlx5_get_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5e52188e mlx5_is_roce_on drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x3ab38e7f mlx5_lag_get_next_peer_mdev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfbc40435 mlx5_lag_get_num_ports drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8d91db20 mlx5_lag_get_slave_port drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x625e66f2 mlx5_lag_is_active drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x62b35677 mlx5_lag_is_master drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xa81e9d2f mlx5_lag_is_mpesw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x54440b0f mlx5_lag_is_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xfcb61764 mlx5_lag_is_shared_fdb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xcc2693ce mlx5_lag_is_sriov drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4b337da8 mlx5_lag_mode_is_hash drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xaf038799 mlx5_lag_query_cong_counters drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x64fade05 mlx5_macsec_add_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x37897e7f mlx5_macsec_add_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x42b43a38 mlx5_macsec_del_roce_rule drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x390b982c mlx5_macsec_del_roce_sa_rules drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x74aeba6e mlx5_modify_header_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc3cce4aa mlx5_modify_header_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x2216e9ce mlx5_mpfs_add_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x8c466c5c mlx5_mpfs_del_mac drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x785ff1a2 mlx5_nic_vport_affiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x26a3daf8 mlx5_nic_vport_disable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x18f8aadf mlx5_nic_vport_enable_roce drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x934df90b mlx5_nic_vport_unaffiliate_multiport drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd4460815 mlx5_nic_vport_update_local_lb drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3a64b9e1 mlx5_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x373ba416 mlx5_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe38c9c65 mlx5_packet_reformat_alloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x5b17166e mlx5_packet_reformat_dealloc drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x74f0c139 mlx5_put_uars_page drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x4728191d mlx5_qp_debugfs_cleanup drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x21a931f8 mlx5_qp_debugfs_init drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe74019b5 mlx5_query_hca_vport_context drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x317031e4 mlx5_query_hca_vport_gid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd3105c51 mlx5_query_hca_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x6301dd10 mlx5_query_hca_vport_pkey drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x10038586 mlx5_query_hca_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x5d870b66 mlx5_query_ib_port_oper drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xc16a0028 mlx5_query_min_inline drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x8902a837 mlx5_query_nic_vport_mac_address drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x46616c23 mlx5_query_nic_vport_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xa30e5997 mlx5_query_nic_vport_node_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0xd2738080 mlx5_query_nic_vport_qkey_viol_cntr drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3efc67b5 mlx5_query_nic_vport_system_image_guid drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x3863725e mlx5_query_port_max_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x94b85d00 mlx5_query_port_oper_mtu drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x8ad7a2ce mlx5_query_port_ptys drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x23628c9c mlx5_query_port_vl_hw_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x6fadae01 mlx5_rdma_rn_get_params drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x61485176 mlx5_rl_add_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x75eec1f5 mlx5_rl_add_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x61492bb7 mlx5_rl_are_equal drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xd3ce04c7 mlx5_rl_remove_rate drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x86f699d4 mlx5_rl_remove_rate_raw drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe13cab81 mlx5_rsc_dump_cmd_create drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xad6815cd mlx5_rsc_dump_cmd_destroy drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xe5dc58e3 mlx5_rsc_dump_next drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x37fd20ec mlx5_set_port_caps drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x5d79a2ee mlx5_sriov_blocking_notifier_register drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x932b78cb mlx5_sriov_blocking_notifier_unregister drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0xb683dc7b mlx5_vf_get_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x23998fae mlx5_vf_put_core_dev drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1b5d1bbf mlx5_vport_get_other_func_cap drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
0x8c7b83e5 mlx5_wc_support_get drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL
0x1d434f3f mlxfw_firmware_flash drivers/net/ethernet/mellanox/mlxfw/mlxfw EXPORT_SYMBOL
0xe16986dd mlxsw_afa_block_activity_get drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL
0xd28256cf mlxsw_afa_block_append_allocated_counter drivers/net/ethernet/mellanox/mlxsw/mlxsw_core EXPORT_SYMBOL

View File

@ -176,13 +176,13 @@ Summary: The Linux kernel
# define buildid .local
%define specversion 5.14.0
%define patchversion 5.14
%define pkgrelease 687.13.1
%define pkgrelease 687.15.1
%define kversion 5
%define tarfile_release 5.14.0-687.5.1.el9_8
# This is needed to do merge window version magic
%define patchlevel 14
# This allows pkg_release to have configurable %%{?dist} tag
%define specrelease 687.13.1%{?buildid}%{?dist}
%define specrelease 687.15.1%{?buildid}%{?dist}
# This defines the kabi tarball version
%define kabiversion 5.14.0-687.5.1.el9_8
@ -1147,6 +1147,21 @@ Patch1266: 1266-nvme-nvme-fc-ensure-ioerr-work-is-cancelled-in-nvme-fc-delet.pat
Patch1267: 1267-s390-dasd-fix-gendisk-parent-after-copy-pair-swap.patch
Patch1268: 1268-s390-dasd-move-quiesce-state-with-pprc-swap.patch
Patch1269: 1269-s390-dasd-copy-detected-format-information-to-secondary-devi.patch
Patch1270: 1270-x86-kvm-avoid-freeing-stack-allocated-node-in-kvm-async-pf-q.patch
Patch1271: 1271-net-bonding-fix-use-after-free-in-bond-xmit-broadcast.patch
Patch1272: 1272-scsi-target-iscsi-fix-use-after-free-in-iscsit-dec-conn-usag.patch
Patch1273: 1273-net-mana-fix-use-after-free-in-add-adev-error-path.patch
Patch1274: 1274-alsa-6fire-fix-use-after-free-on-disconnect.patch
Patch1275: 1275-dlm-validate-length-in-dlm-search-rsb-tree.patch
Patch1276: 1276-dlm-fix-buffer-overflow-from-negative-len-in-dlm-search-rsb-.patch
Patch1277: 1277-netfilter-ctnetlink-ensure-safe-access-to-master-conntrack.patch
Patch1278: 1278-rdma-rxe-fix-double-free-in-rxe-srq-from-init.patch
Patch1279: 1279-net-openvswitch-avoid-releasing-netdev-before-teardown-compl.patch
Patch1280: 1280-ip6-tunnel-clear-skb2-cb-in-ip4ip6-err.patch
Patch1281: 1281-ipv6-rpl-headroom.patch
Patch1282: 1282-rdma-mlx4-srq.patch
Patch1283: 1283-dpll-series-RHEL.patch
Patch1284: 1284-ice-rss-queues-RHEL.patch
# END OF PATCH DEFINITIONS
%description
@ -2061,6 +2076,21 @@ ApplyPatch 1266-nvme-nvme-fc-ensure-ioerr-work-is-cancelled-in-nvme-fc-delet.pat
ApplyPatch 1267-s390-dasd-fix-gendisk-parent-after-copy-pair-swap.patch
ApplyPatch 1268-s390-dasd-move-quiesce-state-with-pprc-swap.patch
ApplyPatch 1269-s390-dasd-copy-detected-format-information-to-secondary-devi.patch
ApplyPatch 1270-x86-kvm-avoid-freeing-stack-allocated-node-in-kvm-async-pf-q.patch
ApplyPatch 1271-net-bonding-fix-use-after-free-in-bond-xmit-broadcast.patch
ApplyPatch 1272-scsi-target-iscsi-fix-use-after-free-in-iscsit-dec-conn-usag.patch
ApplyPatch 1273-net-mana-fix-use-after-free-in-add-adev-error-path.patch
ApplyPatch 1274-alsa-6fire-fix-use-after-free-on-disconnect.patch
ApplyPatch 1275-dlm-validate-length-in-dlm-search-rsb-tree.patch
ApplyPatch 1276-dlm-fix-buffer-overflow-from-negative-len-in-dlm-search-rsb-.patch
ApplyPatch 1277-netfilter-ctnetlink-ensure-safe-access-to-master-conntrack.patch
ApplyPatch 1278-rdma-rxe-fix-double-free-in-rxe-srq-from-init.patch
ApplyPatch 1279-net-openvswitch-avoid-releasing-netdev-before-teardown-compl.patch
ApplyPatch 1280-ip6-tunnel-clear-skb2-cb-in-ip4ip6-err.patch
ApplyPatch 1281-ipv6-rpl-headroom.patch
ApplyPatch 1282-rdma-mlx4-srq.patch
ApplyPatch 1283-dpll-series-RHEL.patch
ApplyPatch 1284-ice-rss-queues-RHEL.patch
# END OF PATCH APPLICATIONS
# Any further pre-build tree manipulations happen here.
@ -4135,6 +4165,49 @@ fi
#
#
%changelog
* Wed Jun 11 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 5.14.0-687.15.1
- Recreate RHEL 5.14.0-687.15.1 from CentOS Stream 9 and upstream stable backports (1270-1284)
- redhat: Remove the mlx5 symbols from kabi: applied via updated Module.kabi_{aarch64,s390x,x86_64} (RHEL-181822)
- dpll/zl3073x and ice RSS-queue series consolidated (include RHEL kABI / RHEL-only files)
- RHEL changelog for 687.14.1..687.15.1 follows:
* Wed Jun 10 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [5.14.0-687.15.1.el9_8]
- ip6_tunnel: clear skb2->cb[] in ip4ip6_err() (Guillaume Nault) [RHEL-172646] {CVE-2026-43037}
- net: openvswitch: Avoid releasing netdev before teardown completes (CKI Backport Bot) [RHEL-170539] {CVE-2026-31508}
* Tue Jun 09 2026 Tanishi Srivastava <tsrivast@redhat.com> [5.14.0-687.14.1.el9_8]
- RDMA/mlx4: Fix mis-use of RCU in mlx4_srq_event() (Kamal Heib) [RHEL-179988] {CVE-2026-46181}
- redhat: Remove the mlx5 symbols from kabi (Kamal Heib) [RHEL-181822]
- ipv6: rpl: reserve mac_len headroom when recompressed SRH grows (Antoine Tenart) [RHEL-178408] {CVE-2026-43501}
- RDMA/rxe: Fix double free in rxe_srq_from_init (CKI Backport Bot) [RHEL-179712] {CVE-2026-45852}
- netfilter: ctnetlink: ensure safe access to master conntrack (Florian Westphal) [RHEL-173843] {CVE-2026-43116}
- ice: fix stats array overflow when VF requests more queues (Michal Schmidt) [RHEL-177526]
- ice: set max queues in alloc_etherdev_mqs() (Michal Schmidt) [RHEL-174336]
- ice: use netif_get_num_default_rss_queues() (Michal Schmidt) [RHEL-174336]
- ice: set default rss queues num to physical cores / 2 (Michal Schmidt) [RHEL-174336]
- dlm: fix buffer overflow from negative len in dlm_search_rsb_tree (Alexander Aring) [RHEL-173993] {CVE-2026-43125}
- dlm: validate length in dlm_search_rsb_tree (Alexander Aring) [RHEL-173993] {CVE-2026-43125}
- dpll: zl3073x: add ref-sync pair support (Ivan Vecera) [RHEL-167273]
- dpll: zl3073x: add ref sync and output clock type helpers (Ivan Vecera) [RHEL-167273]
- dpll: zl3073x: use FIELD_MODIFY() for clear-and-set patterns (Ivan Vecera) [RHEL-167273]
- dpll: zl3073x: clean up esync get/set and use zl3073x_out_is_ndiv() (Ivan Vecera) [RHEL-167273]
- dpll: zl3073x: implement frequency monitoring (Ivan Vecera) [RHEL-167833]
- dpll: add frequency monitoring callback ops (Ivan Vecera) [RHEL-167833]
- dpll: add frequency monitoring to netlink spec (Ivan Vecera) [RHEL-167833]
- dpll: zl3073x: drop selected and simplify connected ref getter (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: add reference priority to zl3073x_chan (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: add DPLL channel status fields to zl3073x_chan (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: introduce zl3073x_chan for DPLL channel state (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: add zl3073x_ref_state_update helper (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: use struct_group to partition states (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: add die temperature reporting for supported chips (Ivan Vecera) [RHEL-172938]
- dpll: zl3073x: detect DPLL channel count from chip ID at runtime (Ivan Vecera) [RHEL-172938]
- ALSA: 6fire: fix use-after-free on disconnect (CKI Backport Bot) [RHEL-172969] {CVE-2026-31581}
- net: mana: fix use-after-free in add_adev() error path (CKI Backport Bot) [RHEL-172768] {CVE-2026-43056}
- scsi: target: iscsi: Fix use-after-free in iscsit_dec_conn_usage_count() (CKI Backport Bot) [RHEL-165564] {CVE-2026-23216}
- net: bonding: fix use-after-free in bond_xmit_broadcast() (CKI Backport Bot) [RHEL-168068] {CVE-2026-31419}
- x86/kvm: Avoid freeing stack-allocated node in kvm_async_pf_queue_task (Ryosuke Yasuoka) [RHEL-158916]
* Wed Jun 11 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 5.14.0-687.13.1
- Recreate RHEL 5.14.0-687.13.1 from CentOS Stream 9 and upstream stable backports (1253-1269)
- RHEL changelog for 687.13.1 follows: