In the Linux kernel, the following vulnerability has been resolved:
RDMA/qedr: Fix potential memory leak in _qedralloc_mr()
_qedrallocmr() allocates a memory chunk for "mr->info.pbltable" with initmrinfo(). When rdmaalloctid() and rdmaregistertid() fail, "mr" is released while "mr->info.pbl_table" is not released, which will lead to a memory leak.
We should release the "mr->info.pbltable" with qedrfree_pbl() when error occurs to fix the memory leak.
[
{
"deprecated": false,
"id": "CVE-2022-50138-10a85239",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b3236a64ddd125a455ef5b5316c1b9051b732974",
"digest": {
"threshold": 0.9,
"line_hashes": [
"77679597065297347163114138481631786521",
"186879795309903684468954240823578162940",
"333030318809555931080860987935985165363",
"151450516015352443954627394356437290018",
"278450136626111473006894581089211640354",
"592130925583722638142604340148015704",
"300936110212423549956160444981757676537",
"143222432221088145286676048314528299394",
"74909508982810321388419138664885233765",
"183366035280041292517857683797861390423",
"28821530710383959263608790769627249910",
"115475049547673413129911485191335203788",
"107540460566744705952126894781148002610"
]
},
"target": {
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-5e38bf36",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4c9f7db9f0148423557539af0fdf513338efe08",
"digest": {
"threshold": 0.9,
"line_hashes": [
"77679597065297347163114138481631786521",
"186879795309903684468954240823578162940",
"333030318809555931080860987935985165363",
"151450516015352443954627394356437290018",
"278450136626111473006894581089211640354",
"592130925583722638142604340148015704",
"300936110212423549956160444981757676537",
"143222432221088145286676048314528299394",
"74909508982810321388419138664885233765",
"183366035280041292517857683797861390423",
"28821530710383959263608790769627249910",
"115475049547673413129911485191335203788",
"107540460566744705952126894781148002610"
]
},
"target": {
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-6a2c4ffd",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@07ba048df306dc93fc4d2ef670b9e24644a2069f",
"digest": {
"function_hash": "219212748386833138145283546654730840585",
"length": 1854.0
},
"target": {
"function": "__qedr_alloc_mr",
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-715116f9",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4c9f7db9f0148423557539af0fdf513338efe08",
"digest": {
"function_hash": "219212748386833138145283546654730840585",
"length": 1854.0
},
"target": {
"function": "__qedr_alloc_mr",
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-981bd4a1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@07ba048df306dc93fc4d2ef670b9e24644a2069f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"77679597065297347163114138481631786521",
"186879795309903684468954240823578162940",
"333030318809555931080860987935985165363",
"151450516015352443954627394356437290018",
"278450136626111473006894581089211640354",
"592130925583722638142604340148015704",
"300936110212423549956160444981757676537",
"143222432221088145286676048314528299394",
"74909508982810321388419138664885233765",
"183366035280041292517857683797861390423",
"28821530710383959263608790769627249910",
"115475049547673413129911485191335203788",
"107540460566744705952126894781148002610"
]
},
"target": {
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-b11055ba",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b3236a64ddd125a455ef5b5316c1b9051b732974",
"digest": {
"function_hash": "219212748386833138145283546654730840585",
"length": 1854.0
},
"target": {
"function": "__qedr_alloc_mr",
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-b98dbc4c",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e647a8d5fc0a2c8e0f36f585a6388286a25bb15",
"digest": {
"threshold": 0.9,
"line_hashes": [
"77679597065297347163114138481631786521",
"186879795309903684468954240823578162940",
"333030318809555931080860987935985165363",
"151450516015352443954627394356437290018",
"278450136626111473006894581089211640354",
"592130925583722638142604340148015704",
"300936110212423549956160444981757676537",
"143222432221088145286676048314528299394",
"74909508982810321388419138664885233765",
"183366035280041292517857683797861390423",
"28821530710383959263608790769627249910",
"115475049547673413129911485191335203788",
"107540460566744705952126894781148002610"
]
},
"target": {
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-d087e5fc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@79ce50dddaf28b5c57911ecc80a2be17a0b17f83",
"digest": {
"threshold": 0.9,
"line_hashes": [
"77679597065297347163114138481631786521",
"186879795309903684468954240823578162940",
"333030318809555931080860987935985165363",
"151450516015352443954627394356437290018",
"278450136626111473006894581089211640354",
"592130925583722638142604340148015704",
"300936110212423549956160444981757676537",
"143222432221088145286676048314528299394",
"74909508982810321388419138664885233765",
"183366035280041292517857683797861390423",
"28821530710383959263608790769627249910",
"115475049547673413129911485191335203788",
"107540460566744705952126894781148002610"
]
},
"target": {
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-e391fead",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e647a8d5fc0a2c8e0f36f585a6388286a25bb15",
"digest": {
"function_hash": "219212748386833138145283546654730840585",
"length": 1854.0
},
"target": {
"function": "__qedr_alloc_mr",
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50138-f9f5d9f0",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@79ce50dddaf28b5c57911ecc80a2be17a0b17f83",
"digest": {
"function_hash": "219212748386833138145283546654730840585",
"length": 1854.0
},
"target": {
"function": "__qedr_alloc_mr",
"file": "drivers/infiniband/hw/qedr/verbs.c"
},
"signature_type": "Function",
"signature_version": "v1"
}
]