<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 30 Sep 2026 14:33:58 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-98050 — mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context</title>
      <link>https://db.gcve.eu/vuln/cve-2026-98050</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context&lt;/p&gt;
&lt;p&gt;Currently mlxsw_sp1_ptp_ht_gc_collect() is run from the PTP
garbage-collection workqueue, rather than the NAPI poll context. For any
unmatched PTP entries carrying an SKB, it calls
mlxsw_sp1_ptp_unmatched_finish() -&amp;gt; mlxsw_sp1_ptp_packet_finish(). For
ingress packets, this calls mlxsw_sp_rx_listener_no_mark_func(). The end
of that function is the following:&lt;/p&gt;
&lt;p&gt;skb-&amp;gt;protocol = eth_type_trans(skb, skb-&amp;gt;dev);
    napi_gro_receive(mlxsw_skb_cb(skb)-&amp;gt;rx_md_info.napi, skb);&lt;/p&gt;
&lt;p&gt;The napi pointer is one that was placed in the SKB control block when the
trapped packet was received in the NAPI context. Later, when the GC reaps
the unmatched entry (up to MLXSW_SP1_PTP_HT_GC_TIMEOUT later), the call to
napi_gro_receive() mutates the NAPI instance&amp;#39;s GRO list, which is unsafe
if the poll is running concurrently on another CPU.&lt;/p&gt;
&lt;p&gt;In mlxsw_sp1_ptp_ht_gc_collect(), local_bh_disable() is called to prevent
softirq processing, but this only applies to the local CPU. Additionally,
its comment is stale. It states that mlxsw_sp1_ptp_unmatched_finish()
invokes netif_receive_skb(). This has not been accurate since the
referenced commit; this patch makes that comment accurate again.
mlxsw_pci_napi_devs_init() calls netif_threaded_enable() on the NAPI RX
net_device without any conditions. The NAPI instance&amp;#39;s poll, which may be
running concurrent to the GC, is r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context&lt;/p&gt;
&lt;p&gt;Currently mlxsw_sp1_ptp_ht_gc_collect() is run from the PTP
garbage-collection workqueue, rather than the NAPI poll context. For any
unmatched PTP entries carrying an SKB, it calls
mlxsw_sp1_ptp_unmatched_finish() -&amp;gt; mlxsw_sp1_ptp_packet_finish(). For
ingress packets, this calls mlxsw_sp_rx_listener_no_mark_func(). The end
of that function is the following:&lt;/p&gt;
&lt;p&gt;skb-&amp;gt;protocol = eth_type_trans(skb, skb-&amp;gt;dev);
    napi_gro_receive(mlxsw_skb_cb(skb)-&amp;gt;rx_md_info.napi, skb);&lt;/p&gt;
&lt;p&gt;The napi pointer is one that was placed in the SKB control block when the
trapped packet was received in the NAPI context. Later, when the GC reaps
the unmatched entry (up to MLXSW_SP1_PTP_HT_GC_TIMEOUT later), the call to
napi_gro_receive() mutates the NAPI instance&amp;#39;s GRO list, which is unsafe
if the poll is running concurrently on another CPU.&lt;/p&gt;
&lt;p&gt;In mlxsw_sp1_ptp_ht_gc_collect(), local_bh_disable() is called to prevent
softirq processing, but this only applies to the local CPU. Additionally,
its comment is stale. It states that mlxsw_sp1_ptp_unmatched_finish()
invokes netif_receive_skb(). This has not been accurate since the
referenced commit; this patch makes that comment accurate again.
mlxsw_pci_napi_devs_init() calls netif_threaded_enable() on the NAPI RX
net_device without any conditions. The NAPI instance&amp;#39;s poll, which may be
running concurrent to the GC, is r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-98050</guid>
    </item>
  </channel>
</rss>
