In the Linux kernel, the following vulnerability has been resolved:
drm/radeon: Fix PCI device refcount leak in radeonatrmget_bios()
As comment of pcigetclass() says, it returns a pci_device with its refcount increased and decreased the refcount for the input parameter @from if it is not NULL.
If we break the loop in radeonatrmgetbios() with 'pdev' not NULL, we need to call pcidevput() to decrease the refcount. Add the missing pcidev_put() to avoid refcount leak.
[
{
"deprecated": false,
"id": "CVE-2022-50520-276b957d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e738f82e5b1311e8fb3d1409491a6fcce6418fbe",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "92660918856176743426629945993961216195",
"length": 1173.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-341cf8d1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@88c6e0995c04b170563b5c894c50a3b2152e18c2",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "54750839394213945692243224805981930277",
"length": 1169.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-5e9cbbbf",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@470a77989037c3ab2b08bf2d026d2c0ddc35ff5b",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "92660918856176743426629945993961216195",
"length": 1173.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-6b0b6270",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3991d98a8a07b71c02f3a39f77d6d9a7f575a5c4",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-7086ec8f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6f28c7f67af4ef9bca580ab67ae2d4511797af56",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-70deeb36",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6f28c7f67af4ef9bca580ab67ae2d4511797af56",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "92660918856176743426629945993961216195",
"length": 1173.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-7ec8063e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@470a77989037c3ab2b08bf2d026d2c0ddc35ff5b",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-83fa0c93",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b9decada8749b606fd8b4f04a3d6c74f7983d7bc",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-861f91fa",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6cffe54064a5f6c2162a85af3c16c6b453eac4e",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-88f5b09f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@88c6e0995c04b170563b5c894c50a3b2152e18c2",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-a0f6480f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3991d98a8a07b71c02f3a39f77d6d9a7f575a5c4",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "92660918856176743426629945993961216195",
"length": 1173.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-a461bf4e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6cffe54064a5f6c2162a85af3c16c6b453eac4e",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "54750839394213945692243224805981930277",
"length": 1169.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-a73f15c7",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1079df6acf56f99d86b0081a38c84701412cc90e",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "92660918856176743426629945993961216195",
"length": 1173.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-bb55f988",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e738f82e5b1311e8fb3d1409491a6fcce6418fbe",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-bee79570",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@725a521a18734f65de05b8d353b5bd0d3ca4c37a",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-c300e671",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@725a521a18734f65de05b8d353b5bd0d3ca4c37a",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "54750839394213945692243224805981930277",
"length": 1169.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-d8bedfdc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b9decada8749b606fd8b4f04a3d6c74f7983d7bc",
"signature_version": "v1",
"target": {
"function": "radeon_atrm_get_bios",
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "54750839394213945692243224805981930277",
"length": 1169.0
}
},
{
"deprecated": false,
"id": "CVE-2022-50520-f525c58e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1079df6acf56f99d86b0081a38c84701412cc90e",
"signature_version": "v1",
"target": {
"file": "drivers/gpu/drm/radeon/radeon_bios.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"281896231071064574653935914323876186357",
"75356077332568696886934821675329443717",
"266705884379158324360557250262459208289",
"222688599882240326699322994536248675865"
]
}
}
]