In the Linux kernel, the following vulnerability has been resolved:
RDMA/rxe: Fix error unwind in rxecreateqp()
In the function rxecreateqp(), rxeqpfrominit() is called to initialize qp, internally things like the spin locks are not setup until rxeqpinitreq().
If an error occures before this point then the unwind will call rxecleanup() and eventually to rxeqpdocleanup()/rxecleanuptask() which will oops when trying to access the uninitialized spinlock.
Move the spinlock initializations earlier before any failures.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@db924bd8484c76558a4ac4c4b5aeb52e857f0341",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-02ae7134",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"116051131209313537735490561344836894657",
"59983741413122817677782934068702718895",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ef491b26c720a87fcfbd78b7dc8eb83d9753fe6",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-04bca1d3",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "103116289122696196457265177516666871119",
"length": 843.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c838ca6fbdb173102780d7bdf18f2f7d9e30979",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-1c893641",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "103116289122696196457265177516666871119",
"length": 843.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f05b7cf02123aaf99db78abfe638efefdbe15555",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-246b8a92",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"116051131209313537735490561344836894657",
"59983741413122817677782934068702718895",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c838ca6fbdb173102780d7bdf18f2f7d9e30979",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-291d6528",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"253729692138350975460186502214497999051",
"158016854971008702457103753688623642390",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f05b7cf02123aaf99db78abfe638efefdbe15555",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-3335ac1a",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "189507689119647840270803736170193084781",
"length": 1234.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ceeb04252e621c0b128ecc8fedbca922d11adba",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-379bb1b2",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "147032110929910762420503502207678749931",
"length": 1795.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ef491b26c720a87fcfbd78b7dc8eb83d9753fe6",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-3d0d2118",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "175475114079168549235226784638741864818",
"length": 1185.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ceeb04252e621c0b128ecc8fedbca922d11adba",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-520177a8",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "189507689119647840270803736170193084781",
"length": 1234.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@db924bd8484c76558a4ac4c4b5aeb52e857f0341",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-5e6ec224",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "189507689119647840270803736170193084781",
"length": 1234.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@db924bd8484c76558a4ac4c4b5aeb52e857f0341",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-5fdf8e4d",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "248239936560163934420384279391162353639",
"length": 736.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd5382c5805c4bcb50fd25b7246247d3f7114733",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-648c695d",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "224923792858623128473596648920029640416",
"length": 1836.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a63f24e724f677db1ab21251f4d0011ae0bb5b5",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-65106e19",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "167760276341231138259262827833981576623",
"length": 1598.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a63f24e724f677db1ab21251f4d0011ae0bb5b5",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-711a2c41",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "103116289122696196457265177516666871119",
"length": 843.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ef491b26c720a87fcfbd78b7dc8eb83d9753fe6",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-76a14571",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"253729692138350975460186502214497999051",
"158016854971008702457103753688623642390",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c838ca6fbdb173102780d7bdf18f2f7d9e30979",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-7a117e8c",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "270115830596180070737248145930377362236",
"length": 1625.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd5382c5805c4bcb50fd25b7246247d3f7114733",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-98d90a93",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"116051131209313537735490561344836894657",
"59983741413122817677782934068702718895",
"214793849992761624576827177986532549414",
"327214116510730437403179818557771493708",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b348e204a53103f51070513a7494da7c62ecbdaa",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-9c071b73",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "103116289122696196457265177516666871119",
"length": 843.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ef491b26c720a87fcfbd78b7dc8eb83d9753fe6",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-9f88f3e5",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "53247521657934293596548006583556121632",
"length": 1721.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b348e204a53103f51070513a7494da7c62ecbdaa",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-a13706a6",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"253729692138350975460186502214497999051",
"158016854971008702457103753688623642390",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f05b7cf02123aaf99db78abfe638efefdbe15555",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-a21809ee",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "335523589284881687751332704632912316259",
"length": 606.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ceeb04252e621c0b128ecc8fedbca922d11adba",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-b989d62f",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "103116289122696196457265177516666871119",
"length": 843.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f05b7cf02123aaf99db78abfe638efefdbe15555",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-c30b0fce",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "147032110929910762420503502207678749931",
"length": 1795.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd5382c5805c4bcb50fd25b7246247d3f7114733",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-c43602b0",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "189507689119647840270803736170193084781",
"length": 1234.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd5382c5805c4bcb50fd25b7246247d3f7114733",
"target": {
"function": "rxe_qp_init_misc",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-d66e2ffa",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "335523589284881687751332704632912316259",
"length": 606.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b348e204a53103f51070513a7494da7c62ecbdaa",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-dc6199a3",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "175475114079168549235226784638741864818",
"length": 1185.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a63f24e724f677db1ab21251f4d0011ae0bb5b5",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-dccb84fa",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "175475114079168549235226784638741864818",
"length": 1185.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a63f24e724f677db1ab21251f4d0011ae0bb5b5",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-e5545dcd",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"253729692138350975460186502214497999051",
"158016854971008702457103753688623642390",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c838ca6fbdb173102780d7bdf18f2f7d9e30979",
"target": {
"function": "rxe_qp_init_resp",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-e9701db1",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "221641187342170398998015540110796648794",
"length": 1167.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b348e204a53103f51070513a7494da7c62ecbdaa",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-f8ce4e00",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "124233302171554118350044989452000609277",
"length": 1690.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@db924bd8484c76558a4ac4c4b5aeb52e857f0341",
"target": {
"function": "rxe_qp_init_req",
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-f973825c",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "147032110929910762420503502207678749931",
"length": 1795.0
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ceeb04252e621c0b128ecc8fedbca922d11adba",
"target": {
"file": "drivers/infiniband/sw/rxe/rxe_qp.c"
},
"id": "CVE-2022-50127-fbe1d30a",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"253729692138350975460186502214497999051",
"158016854971008702457103753688623642390",
"214793849992761624576827177986532549414",
"260931295203250900560612948432710690408",
"338485882759333839817585810059842314465",
"61483551691889097178021994669267261071",
"235813715484375366044949147614038505818",
"30014881955543964533977838346003258818",
"216270209269896267089904331503714295298",
"250892240784889968819126666664756217760",
"276594032359892866136928525420620102218",
"71336493242167712092912183119423335259"
],
"threshold": 0.9
}
}
]