In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix return value of f2fsconvertinline_inode()
If device is readonly, make f2fsconvertinline_inode() return EROFS instead of zero, otherwise it may trigger panic during writeback of inline inode's dirty page as below:
f2fswritesingledatapage+0xbb6/0x1e90 fs/f2fs/data.c:2888 f2fswritecachepages fs/f2fs/data.c:3187 [inline] _f2fswritedatapages fs/f2fs/data.c:3342 [inline] f2fswritedatapages+0x1efe/0x3a90 fs/f2fs/data.c:3369 dowritepages+0x359/0x870 mm/page-writeback.c:2634 filemapfdatawritewbc+0x125/0x180 mm/filemap.c:397 _filemapfdatawriterange mm/filemap.c:430 [inline] filewriteandwaitrange+0x1aa/0x290 mm/filemap.c:788 f2fsdosyncfile+0x68a/0x1ae0 fs/f2fs/file.c:276 genericwritesync include/linux/fs.h:2806 [inline] f2fsfilewriteiter+0x7bd/0x24e0 fs/f2fs/file.c:4977 callwriteiter include/linux/fs.h:2114 [inline] newsyncwrite fs/readwrite.c:497 [inline] vfswrite+0xa72/0xc90 fs/readwrite.c:590 ksyswrite+0x1a0/0x2c0 fs/readwrite.c:643 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xf5/0x240 arch/x86/entry/common.c:83 entrySYSCALL64after_hwframe+0x77/0x7f
[
{
"signature_type": "Function",
"id": "CVE-2024-42296-2486e7f8",
"target": {
"function": "f2fs_convert_inline_inode",
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e7725814361c8c008d131db195cef8274ff26b8",
"digest": {
"function_hash": "25562178082052488461842595315619979813",
"length": 704.0
}
},
{
"signature_type": "Function",
"id": "CVE-2024-42296-35417e0e",
"target": {
"function": "f2fs_convert_inline_inode",
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@70f5ef5f33c333cfb286116fa3af74ac9bc84f1b",
"digest": {
"function_hash": "25562178082052488461842595315619979813",
"length": 704.0
}
},
{
"signature_type": "Function",
"id": "CVE-2024-42296-3ad712c8",
"target": {
"function": "f2fs_convert_inline_inode",
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47a8ddcdcaccd9b891db4574795e46a33a121ac2",
"digest": {
"function_hash": "25562178082052488461842595315619979813",
"length": 704.0
}
},
{
"signature_type": "Function",
"id": "CVE-2024-42296-4e4df8aa",
"target": {
"function": "f2fs_convert_inline_inode",
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a8eb3de28e7a365690c61161e7a07a4fc7c60bbf",
"digest": {
"function_hash": "25562178082052488461842595315619979813",
"length": 704.0
}
},
{
"signature_type": "Function",
"id": "CVE-2024-42296-8ced58f3",
"target": {
"function": "f2fs_convert_inline_inode",
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@077f0e24b27c4b44841593c7edbd1993be9eecb5",
"digest": {
"function_hash": "25562178082052488461842595315619979813",
"length": 704.0
}
},
{
"signature_type": "Line",
"id": "CVE-2024-42296-bec7956c",
"target": {
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47a8ddcdcaccd9b891db4574795e46a33a121ac2",
"digest": {
"line_hashes": [
"248499748818071008516952958095114857477",
"110843133652684290834614062438168692971",
"159548755854570402898856753250719517837",
"323535740537910206776998626468905794716",
"288816422732342736771776854985915308259"
],
"threshold": 0.9
}
},
{
"signature_type": "Line",
"id": "CVE-2024-42296-d4c1b451",
"target": {
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1e7725814361c8c008d131db195cef8274ff26b8",
"digest": {
"line_hashes": [
"248499748818071008516952958095114857477",
"110843133652684290834614062438168692971",
"159548755854570402898856753250719517837",
"323535740537910206776998626468905794716",
"288816422732342736771776854985915308259"
],
"threshold": 0.9
}
},
{
"signature_type": "Line",
"id": "CVE-2024-42296-de70efb5",
"target": {
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@70f5ef5f33c333cfb286116fa3af74ac9bc84f1b",
"digest": {
"line_hashes": [
"248499748818071008516952958095114857477",
"110843133652684290834614062438168692971",
"159548755854570402898856753250719517837",
"323535740537910206776998626468905794716",
"288816422732342736771776854985915308259"
],
"threshold": 0.9
}
},
{
"signature_type": "Line",
"id": "CVE-2024-42296-e79c130d",
"target": {
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@077f0e24b27c4b44841593c7edbd1993be9eecb5",
"digest": {
"line_hashes": [
"248499748818071008516952958095114857477",
"110843133652684290834614062438168692971",
"159548755854570402898856753250719517837",
"323535740537910206776998626468905794716",
"288816422732342736771776854985915308259"
],
"threshold": 0.9
}
},
{
"signature_type": "Line",
"id": "CVE-2024-42296-f081bdf4",
"target": {
"file": "fs/f2fs/inline.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a8eb3de28e7a365690c61161e7a07a4fc7c60bbf",
"digest": {
"line_hashes": [
"248499748818071008516952958095114857477",
"110843133652684290834614062438168692971",
"159548755854570402898856753250719517837",
"323535740537910206776998626468905794716",
"288816422732342736771776854985915308259"
],
"threshold": 0.9
}
}
]