In the Linux kernel, the following vulnerability has been resolved:
bpf: Add schedule points in batch ops
syzbot reported various soft lockups caused by bpf batch operations.
INFO: task kworker/1:1:27 blocked for more than 140 seconds. INFO: task hung in rcu_barrier
Nothing prevents batch ops to process huge amount of data, we need to add schedule points in them.
Note that maybewaitbpfprograms(map) calls from genericmapdeletebatch() can be factorized by moving the call after the loop.
This will be done later in -next tree once we get this fix merged, unless there is strong opinion doing this optimization sooner.
[
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-0a646b06",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ef94bfb08fb9e73defafbd5ddef6b5a0e2ee12b",
"digest": {
"function_hash": "205037438290658946012649623537029228315",
"length": 1956.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_lookup_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-0adfcbdc",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75134f16e7dd0007aa474b281935c5f42e79f2c8",
"digest": {
"function_hash": "205037438290658946012649623537029228315",
"length": 1956.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_lookup_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-19349f3e",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e8099967d0e3ff9d1ae043e80b27fbe46c08417",
"digest": {
"function_hash": "205037438290658946012649623537029228315",
"length": 1956.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_lookup_batch"
}
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48939-1b849ad8",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ef94bfb08fb9e73defafbd5ddef6b5a0e2ee12b",
"digest": {
"line_hashes": [
"105180040558696310586853543467702433687",
"319640099726400905956026332674248861880",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"64971746807504298430610741389147333178",
"292151428879155998951861677497856505388",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"121040725061099075271378064191750907701",
"262500301883126549531960468871469338787",
"8877648914202970368552848262239639300",
"78291485283137674463897924711006411135"
],
"threshold": 0.9
},
"target": {
"file": "kernel/bpf/syscall.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-2af39041",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75134f16e7dd0007aa474b281935c5f42e79f2c8",
"digest": {
"function_hash": "64943191837145327115907761421204443027",
"length": 976.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_delete_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-2c9f1407",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e8099967d0e3ff9d1ae043e80b27fbe46c08417",
"digest": {
"function_hash": "64943191837145327115907761421204443027",
"length": 976.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_delete_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-53dc0604",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e8099967d0e3ff9d1ae043e80b27fbe46c08417",
"digest": {
"function_hash": "94127007243851214652888800819534790756",
"length": 1196.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_update_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-6bca42fd",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ef94bfb08fb9e73defafbd5ddef6b5a0e2ee12b",
"digest": {
"function_hash": "94127007243851214652888800819534790756",
"length": 1196.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_update_batch"
}
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48939-6e5f0075",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8628f489b749a4f9767991631921dbe3fbcdc784",
"digest": {
"line_hashes": [
"105180040558696310586853543467702433687",
"319640099726400905956026332674248861880",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"64971746807504298430610741389147333178",
"292151428879155998951861677497856505388",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"121040725061099075271378064191750907701",
"262500301883126549531960468871469338787",
"8877648914202970368552848262239639300",
"78291485283137674463897924711006411135"
],
"threshold": 0.9
},
"target": {
"file": "kernel/bpf/syscall.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-6f8e0098",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ef94bfb08fb9e73defafbd5ddef6b5a0e2ee12b",
"digest": {
"function_hash": "64943191837145327115907761421204443027",
"length": 976.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_delete_batch"
}
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48939-73e11818",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75134f16e7dd0007aa474b281935c5f42e79f2c8",
"digest": {
"line_hashes": [
"105180040558696310586853543467702433687",
"319640099726400905956026332674248861880",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"64971746807504298430610741389147333178",
"292151428879155998951861677497856505388",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"121040725061099075271378064191750907701",
"262500301883126549531960468871469338787",
"8877648914202970368552848262239639300",
"78291485283137674463897924711006411135"
],
"threshold": 0.9
},
"target": {
"file": "kernel/bpf/syscall.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-7a016097",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8628f489b749a4f9767991631921dbe3fbcdc784",
"digest": {
"function_hash": "64943191837145327115907761421204443027",
"length": 976.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_delete_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-c2165b77",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75134f16e7dd0007aa474b281935c5f42e79f2c8",
"digest": {
"function_hash": "94127007243851214652888800819534790756",
"length": 1196.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_update_batch"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-dacf7b60",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8628f489b749a4f9767991631921dbe3fbcdc784",
"digest": {
"function_hash": "94127007243851214652888800819534790756",
"length": 1196.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_update_batch"
}
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-48939-e9ad778c",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e8099967d0e3ff9d1ae043e80b27fbe46c08417",
"digest": {
"line_hashes": [
"105180040558696310586853543467702433687",
"319640099726400905956026332674248861880",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"64971746807504298430610741389147333178",
"292151428879155998951861677497856505388",
"216280687850051227961435782517834402036",
"272776003745580064591833692402935941440",
"121040725061099075271378064191750907701",
"262500301883126549531960468871469338787",
"8877648914202970368552848262239639300",
"78291485283137674463897924711006411135"
],
"threshold": 0.9
},
"target": {
"file": "kernel/bpf/syscall.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-48939-eab226a7",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8628f489b749a4f9767991631921dbe3fbcdc784",
"digest": {
"function_hash": "205037438290658946012649623537029228315",
"length": 1956.0
},
"target": {
"file": "kernel/bpf/syscall.c",
"function": "generic_map_lookup_batch"
}
}
]