In the Linux kernel, the following vulnerability has been resolved:
PCI: Fix reference leak in pciregisterhost_bridge()
If deviceregister() fails, call putdevice() to give up the reference to avoid a memory leak, per the comment at device_register().
Found by code review.
[bhelgaas: squash Dan Carpenter's double free fix from https://lore.kernel.org/r/db806a6c-a91b-4e5a-a84b-6b7e01bdac85@stanley.mountain]
[ { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3297497ad2246eb9243849bfbbc57a0dea97d76e", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "226361122486333127281855090146165614206", "336622693206157563103637888553967122972", "100842541309659709948200643952718891372", "1190277414277356020327004049033891166", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-02ccc3ee" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9707d0c932f41006a2701afc926b232b50e356b4", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "81046693797849997780240066771469741619", "length": 3622.0 }, "id": "CVE-2025-37836-09d7cef1" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b783478e0c53ffb4f04f25fb4e21ef7f482b05df", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "226361122486333127281855090146165614206", "336622693206157563103637888553967122972", "100842541309659709948200643952718891372", "1190277414277356020327004049033891166", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-23317244" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4db1b2c9ae3d013733c302ee70cac943b7070c0", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "229367786706663959315743225598754579035", "length": 3388.0 }, "id": "CVE-2025-37836-305beb3b" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3297497ad2246eb9243849bfbbc57a0dea97d76e", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "253235864385964636213896422784194052579", "length": 3483.0 }, "id": "CVE-2025-37836-35d83c66" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4db1b2c9ae3d013733c302ee70cac943b7070c0", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "226361122486333127281855090146165614206", "336622693206157563103637888553967122972", "100842541309659709948200643952718891372", "1190277414277356020327004049033891166", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-4b3d084d" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f9208aec86226524ec1cb68a09ac70e974ea6536", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "259467919255436375513043390766732761204", "300845912207261292291111295987715217138", "106409810946572302519325319569151408986", "323493604798734920983733276437813627687", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-81bfb19a" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbba4c50a2d2a1d3f3bf31cc4b8280cb492bf2c7", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "17182227233882601676415376570058654489", "length": 3618.0 }, "id": "CVE-2025-37836-899266f7" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bd2a352a0d72575f1842d28c14c10089f0cfe1ae", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "226361122486333127281855090146165614206", "336622693206157563103637888553967122972", "100842541309659709948200643952718891372", "1190277414277356020327004049033891166", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-8dcda4e3" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@804443c1f27883926de94c849d91f5b7d7d696e9", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "118899460369963871784406179786215625992", "length": 3652.0 }, "id": "CVE-2025-37836-907fa32b" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bd2a352a0d72575f1842d28c14c10089f0cfe1ae", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "82754902644702845364254626340403111839", "length": 3561.0 }, "id": "CVE-2025-37836-c43c03d2" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f9208aec86226524ec1cb68a09ac70e974ea6536", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "17182227233882601676415376570058654489", "length": 3618.0 }, "id": "CVE-2025-37836-d369d363" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@804443c1f27883926de94c849d91f5b7d7d696e9", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "259467919255436375513043390766732761204", "300845912207261292291111295987715217138", "106409810946572302519325319569151408986", "323493604798734920983733276437813627687", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-f4a2caee" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9707d0c932f41006a2701afc926b232b50e356b4", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "259467919255436375513043390766732761204", "300845912207261292291111295987715217138", "106409810946572302519325319569151408986", "323493604798734920983733276437813627687", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-f6de960b" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbba4c50a2d2a1d3f3bf31cc4b8280cb492bf2c7", "signature_version": "v1", "target": { "file": "drivers/pci/probe.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "117059689852259585451474477467439664436", "42879665585498106338870131677298638818", "185321556876656119662700348374311486969", "236641278487630070301083138354891656318", "66456325608777460717586795185065571349", "98425197973678066155213263224512082620", "234912390366574652403701465162008651167", "312346840901870492354547307285666705704", "241370582784666153209510602945909849832", "212386386376001219322445527189326697249", "259467919255436375513043390766732761204", "300845912207261292291111295987715217138", "106409810946572302519325319569151408986", "323493604798734920983733276437813627687", "123468996721526937478295928543203609982", "170984402011596512121425648936964367241" ] }, "id": "CVE-2025-37836-f95b430d" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b783478e0c53ffb4f04f25fb4e21ef7f482b05df", "signature_version": "v1", "target": { "function": "pci_register_host_bridge", "file": "drivers/pci/probe.c" }, "digest": { "function_hash": "82754902644702845364254626340403111839", "length": 3561.0 }, "id": "CVE-2025-37836-fb66112f" } ]