<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-06T02:16:23.908610+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2022-48644</id>
    <title>CVE-2022-48644 — net/sched: taprio: avoid disabling offload when it was never enabled</title>
    <updated>2026-10-06T02:16:23.925659+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>net/sched: taprio: avoid disabling offload when it was never enabled</p>
<p>In an incredibly strange API design decision, qdisc-&gt;destroy() gets
called even if qdisc-&gt;init() never succeeded, not exclusively since
commit 87b60cfacf9f ("net_sched: fix error recovery at qdisc creation"),
but apparently also earlier (in the case of qdisc_create_dflt()).</p>
<p>The taprio qdisc does not fully acknowledge this when it attempts full
offload, because it starts off with q-&gt;flags = TAPRIO_FLAGS_INVALID in
taprio_init(), then it replaces q-&gt;flags with TCA_TAPRIO_ATTR_FLAGS
parsed from netlink (in taprio_change(), tail called from taprio_init()).</p>
<p>But in taprio_destroy(), we call taprio_disable_offload(), and this
determines what to do based on FULL_OFFLOAD_IS_ENABLED(q-&gt;flags).</p>
<p>But looking at the implementation of FULL_OFFLOAD_IS_ENABLED()
(a bitwise check of bit 1 in q-&gt;flags), it is invalid to call this macro
on q-&gt;flags when it contains TAPRIO_FLAGS_INVALID, because that is set
to U32_MAX, and therefore FULL_OFFLOAD_IS_ENABLED() will return true on
an invalid set of flags.</p>
<p>As a result, it is possible to crash the kernel if user space forces an
error between setting q-&gt;flags = TAPRIO_FLAGS_INVALID, and the calling
of taprio_enable_offload(). This is because drivers do not expect the
offload to be disabled when it was never enabled.</p>
<p>The error that we force here is to attach taprio as a non-root qdisc,
but instead as child of a…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2022-48644"/>
  </entry>
</feed>
