In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix uninitialized value in ocfs2fileread_iter()
Syzbot has reported the following KMSAN splat:
BUG: KMSAN: uninit-value in ocfs2filereaditer+0x9a4/0xf80 ocfs2filereaditer+0x9a4/0xf80 _ioread+0x8d4/0x20f0 ioread+0x3e/0xf0 ioissuesqe+0x42b/0x22c0 iowqsubmitwork+0xaf9/0xdc0 ioworkerhandlework+0xd13/0x2110 iowqworker+0x447/0x1410 retfromfork+0x6f/0x90 retfromforkasm+0x1a/0x30
Uninit was created at: allocpagesnoprof+0x9a7/0xe00 allocpagesmpolnoprof+0x299/0x990 allocpagesnoprof+0x1bf/0x1e0 allocateslab+0x33a/0x1250 slaballoc+0x12ef/0x35e0 kmemcacheallocbulknoprof+0x486/0x1330 _ioallocreqrefill+0x84/0x560 iosubmitsqes+0x172f/0x2f30 _sesysiouringenter+0x406/0x41c0 _x64sysiouringenter+0x11f/0x1a0 x64syscall+0x2b54/0x3ba0 dosyscall64+0xcd/0x1e0 entrySYSCALL64afterhwframe+0x77/0x7f
Since an instance of 'struct kiocb' may be passed from the block layer with 'private' field uninitialized, introduce 'ocfs2iocbinitrwlocked()' and use it from where 'ocfs2dioendio()' might take care, i.e. in 'ocfs2filereaditer()' and 'ocfs2filewrite_iter()'.
[
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-1b6f3c33",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e0de82ed18ba0e71f817adbd81317fd1032ca5a",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-1e670a07",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c966150d5abff58c3c2bdb9a6e63fd773782905",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-23ab9f79",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83f8713a0ef1d55d6a287bcfadcaab8245ac5098",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-28aa2d89",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83f8713a0ef1d55d6a287bcfadcaab8245ac5098",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-2f8b70eb",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@366c933c2ab34dd6551acc03b4872726b7605143",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-337a6c89",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62f",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-347774cb",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62f",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-491ad157",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@366c933c2ab34dd6551acc03b4872726b7605143",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-4d5b0f52",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62f",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-4dcaace8",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83f8713a0ef1d55d6a287bcfadcaab8245ac5098",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-521b6e5a",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@366c933c2ab34dd6551acc03b4872726b7605143",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-6dc8e8e0",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e0de82ed18ba0e71f817adbd81317fd1032ca5a",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-779f3200",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e0de82ed18ba0e71f817adbd81317fd1032ca5a",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-83d40565",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4078ef38d3163e6be47403a619558b19c4bfccd",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-90d82789",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c966150d5abff58c3c2bdb9a6e63fd773782905",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-98180b0f",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62f",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-ab2dddd1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4078ef38d3163e6be47403a619558b19c4bfccd",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-af35792c",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c966150d5abff58c3c2bdb9a6e63fd773782905",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-c9b5ec76",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@366c933c2ab34dd6551acc03b4872726b7605143",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/aops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"107489723119660970335775774197687562408",
"273321220441737662678535353073250545854",
"310098605535169286072739435100417753297"
]
},
"id": "CVE-2024-53155-cf765f6d",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4078ef38d3163e6be47403a619558b19c4bfccd",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_write_iter"
},
"digest": {
"function_hash": "135974004992216567394747627297330906035",
"length": 2417.0
},
"id": "CVE-2024-53155-f1992cef",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c966150d5abff58c3c2bdb9a6e63fd773782905",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-f6042668",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e0de82ed18ba0e71f817adbd81317fd1032ca5a",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c",
"function": "ocfs2_file_read_iter"
},
"digest": {
"function_hash": "32396524055791388814414252283424724416",
"length": 1170.0
},
"id": "CVE-2024-53155-f7e175d5",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83f8713a0ef1d55d6a287bcfadcaab8245ac5098",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "fs/ocfs2/file.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287916876354516236450232482339327381746",
"88203561014090245761971939905610064653",
"329210928917156300196260389839371170308",
"132262399861728751146083783174325004417",
"310876137578300734232368965389334224659",
"239209911853106333021408818727748824639"
]
},
"id": "CVE-2024-53155-fcfc2afe",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f4078ef38d3163e6be47403a619558b19c4bfccd",
"signature_version": "v1"
}
]