In the Linux kernel, the following vulnerability has been resolved:
gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
When running gpio test on nxp-ls1028 platform with below command gpiomon --num-events=3 --rising-edge gpiochip1 25 There will be a warning trace as below: Call trace: freeirq+0x204/0x360 lineeventfree+0x64/0x70 gpioioctl+0x598/0x6a0 _arm64sysioctl+0xb4/0x100 invokesyscall+0x5c/0x130 ...... el0t64sync+0x1a0/0x1a4 The reason of this issue is that calling requestthreadedirq() function failed, and then lineeventfree() is invoked to release the resource. Since the lineeventstate::irq was already set, so the subsequent invocation of freeirq() would trigger the above warning call trace. To fix this issue, set the lineevent_state::irq after the IRQ register successfully.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1489043d3b9004dd8d5a0357b08b5f0e6691c43",
"id": "CVE-2022-48660-1ba8cf99",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"34023067295698671914605612449183245780",
"9989291278500176808316742303238545054",
"250783725935122953998777047551337125746",
"339516560644661824283136157978595808415",
"254091749186134980595217213771065114123",
"49381436585557897181287586657242263360",
"123074436203617947584202044708585553888",
"14306197623508354032509456801744372010",
"216954947777550090241031933462600780240",
"105314716390123385461457238994702324950",
"317470185413370001691762684768624346651"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@657803b918e097e47d99d1489da83a603c36bcdd",
"id": "CVE-2022-48660-3280a9ec",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "lineevent_create",
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"length": 2675.0,
"function_hash": "232084834804631517599929021672187497955"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97da736cd11ae73bdf2f5e21e24446b8349e0168",
"id": "CVE-2022-48660-57e0801d",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "lineevent_create",
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"length": 2675.0,
"function_hash": "232084834804631517599929021672187497955"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1489043d3b9004dd8d5a0357b08b5f0e6691c43",
"id": "CVE-2022-48660-82a53ca7",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "lineevent_create",
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"length": 2675.0,
"function_hash": "232084834804631517599929021672187497955"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@657803b918e097e47d99d1489da83a603c36bcdd",
"id": "CVE-2022-48660-b3d243c5",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"34023067295698671914605612449183245780",
"9989291278500176808316742303238545054",
"250783725935122953998777047551337125746",
"339516560644661824283136157978595808415",
"254091749186134980595217213771065114123",
"49381436585557897181287586657242263360",
"123074436203617947584202044708585553888",
"14306197623508354032509456801744372010",
"216954947777550090241031933462600780240",
"105314716390123385461457238994702324950",
"317470185413370001691762684768624346651"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97da736cd11ae73bdf2f5e21e24446b8349e0168",
"id": "CVE-2022-48660-c664a98d",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/gpio/gpiolib-cdev.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"34023067295698671914605612449183245780",
"9989291278500176808316742303238545054",
"250783725935122953998777047551337125746",
"339516560644661824283136157978595808415",
"254091749186134980595217213771065114123",
"49381436585557897181287586657242263360",
"123074436203617947584202044708585553888",
"14306197623508354032509456801744372010",
"216954947777550090241031933462600780240",
"105314716390123385461457238994702324950",
"317470185413370001691762684768624346651"
]
},
"signature_type": "Line"
}
]