{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()\n\nSince '__dev_queue_xmit()' should be called with interrupts enabled,\nthe following backtrace:\n\nieee80211_do_stop()\n ...\n spin_lock_irqsave(&local->queue_stop_reason_lock, flags)\n ...\n ieee80211_free_txskb()\n  ieee80211_report_used_skb()\n   ieee80211_report_ack_skb()\n    cfg80211_mgmt_tx_status_ext()\n     nl80211_frame_tx_status()\n      genlmsg_multicast_netns()\n       genlmsg_multicast_netns_filtered()\n        nlmsg_multicast_filtered()\n\t netlink_broadcast_filtered()\n\t  do_one_broadcast()\n\t   netlink_broadcast_deliver()\n\t    __netlink_sendskb()\n\t     netlink_deliver_tap()\n\t      __netlink_deliver_tap_skb()\n\t       dev_queue_xmit()\n\t        __dev_queue_xmit() ; with IRQS disabled\n ...\n spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags)\n\nissues the warning (as reported by syzbot reproducer):\n\nWARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120\n\nFix this by implementing a two-phase skb reclamation in\n'ieee80211_do_stop()', where actual work is performed\noutside of a section with interrupts disabled."
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/mac80211/iface.c"
               ],
               "versions": [
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "f232916fab67",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "acb53a716e49",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "db5ca4b42ccf",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "058c9026ad79",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "eab272972cff",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "ad4b7068b101",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5061b0c2b906",
                     "lessThan": "9d301de12da6",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/mac80211/iface.c"
               ],
               "versions": [
                  {
                     "version": "2.6.32",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "2.6.32",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.10.227",
                     "lessThanOrEqual": "5.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.15.168",
                     "lessThanOrEqual": "5.15.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.1.113",
                     "lessThanOrEqual": "6.1.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.6.54",
                     "lessThanOrEqual": "6.6.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.10.13",
                     "lessThanOrEqual": "6.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.11.2",
                     "lessThanOrEqual": "6.11.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.12-rc1",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/f232916fab67ca1c3425926df4a866e59ff26908"
            },
            {
               "url": "https://git.kernel.org/stable/c/acb53a716e492a02479345157c43f21edc8bc64b"
            },
            {
               "url": "https://git.kernel.org/stable/c/db5ca4b42ccfa42d2af7b335ff12578e57775c02"
            },
            {
               "url": "https://git.kernel.org/stable/c/058c9026ad79dc98572442fd4c7e9a36aba6f596"
            },
            {
               "url": "https://git.kernel.org/stable/c/eab272972cffff9cd973b8e4055a8e81c64f7e6a"
            },
            {
               "url": "https://git.kernel.org/stable/c/ad4b7068b101fbbb4a9ca4b99b25eb051a9482ec"
            },
            {
               "url": "https://git.kernel.org/stable/c/9d301de12da6e1bb069a9835c38359b8e8135121"
            }
         ],
         "title": "wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()",
         "x_generator": {
            "engine": "bippy-c9c4e1df01b2"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2024-47713",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
