In the Linux kernel, the following vulnerability has been resolved:
watchqueue: Free the page array when watchqueue is dismantled
Commit 7ea1a0124b6d ("watchqueue: Free the alloc bitmap when the watchqueue is torn down") took care of the bitmap, but not the page array.
BUG: memory leak unreferenced object 0xffff88810d9bc140 (size 32): comm "syz-executor335", pid 3603, jiffies 4294946994 (age 12.840s) hex dump (first 32 bytes): 40 a7 40 04 00 ea ff ff 00 00 00 00 00 00 00 00 @.@............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: kmallocarray include/linux/slab.h:621 [inline] kcalloc include/linux/slab.h:652 [inline] watchqueuesetsize+0x12f/0x2e0 kernel/watchqueue.c:251 pipeioctl+0x82/0x140 fs/pipe.c:632 vfsioctl fs/ioctl.c:51 [inline] _dosysioctl fs/ioctl.c:874 [inline] _sesysioctl fs/ioctl.c:860 [inline] _x64sysioctl+0xfc/0x140 fs/ioctl.c:860 dosyscallx64 arch/x86/entry/common.c:50 [inline]
[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"7385285169549115365754590834437237211",
"64022806558627958014125688733492320974",
"17849375289093934946968564966911453733",
"325842666491615808973655647093253109489"
]
},
"target": {
"file": "kernel/watch_queue.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@375cd2536494cfbcdda84ae8b3e35bf19d0250b9",
"id": "CVE-2022-49148-0cb3e662",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"7385285169549115365754590834437237211",
"64022806558627958014125688733492320974",
"17849375289093934946968564966911453733",
"325842666491615808973655647093253109489"
]
},
"target": {
"file": "kernel/watch_queue.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3963a5d1ff75585bddf0c3a918566a6be09d7520",
"id": "CVE-2022-49148-439dec6d",
"deprecated": false
},
{
"digest": {
"function_hash": "286550649833545512382396947159538248302",
"length": 384.0
},
"target": {
"file": "kernel/watch_queue.c",
"function": "__put_watch_queue"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4913daecd04addb41bc96a9175a885e1c19862a8",
"id": "CVE-2022-49148-7dfa65c7",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"7385285169549115365754590834437237211",
"64022806558627958014125688733492320974",
"17849375289093934946968564966911453733",
"325842666491615808973655647093253109489"
]
},
"target": {
"file": "kernel/watch_queue.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4913daecd04addb41bc96a9175a885e1c19862a8",
"id": "CVE-2022-49148-b1605933",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"7385285169549115365754590834437237211",
"64022806558627958014125688733492320974",
"17849375289093934946968564966911453733",
"325842666491615808973655647093253109489"
]
},
"target": {
"file": "kernel/watch_queue.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b490207017ba237d97b735b2aa66dc241ccd18f5",
"id": "CVE-2022-49148-b5f07e7a",
"deprecated": false
},
{
"digest": {
"function_hash": "286550649833545512382396947159538248302",
"length": 384.0
},
"target": {
"file": "kernel/watch_queue.c",
"function": "__put_watch_queue"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b490207017ba237d97b735b2aa66dc241ccd18f5",
"id": "CVE-2022-49148-c320c8b6",
"deprecated": false
},
{
"digest": {
"function_hash": "286550649833545512382396947159538248302",
"length": 384.0
},
"target": {
"file": "kernel/watch_queue.c",
"function": "__put_watch_queue"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@375cd2536494cfbcdda84ae8b3e35bf19d0250b9",
"id": "CVE-2022-49148-d430d434",
"deprecated": false
},
{
"digest": {
"function_hash": "286550649833545512382396947159538248302",
"length": 384.0
},
"target": {
"file": "kernel/watch_queue.c",
"function": "__put_watch_queue"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7169f60110915c8b53bffd43741fa020a75eb87a",
"id": "CVE-2022-49148-d5498141",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"7385285169549115365754590834437237211",
"64022806558627958014125688733492320974",
"17849375289093934946968564966911453733",
"325842666491615808973655647093253109489"
]
},
"target": {
"file": "kernel/watch_queue.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7169f60110915c8b53bffd43741fa020a75eb87a",
"id": "CVE-2022-49148-e151e2df",
"deprecated": false
},
{
"digest": {
"function_hash": "286550649833545512382396947159538248302",
"length": 384.0
},
"target": {
"file": "kernel/watch_queue.c",
"function": "__put_watch_queue"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3963a5d1ff75585bddf0c3a918566a6be09d7520",
"id": "CVE-2022-49148-ed54197c",
"deprecated": false
}
]