In the Linux kernel, the following vulnerability has been resolved:
ocfs2: handle a symlink read error correctly
Patch series "Convert ocfs2 to use folios".
Mark did a conversion of ocfs2 to use folios and sent it to me as a giant patch for review ;-)
So I've redone it as individual patches, and credited Mark for the patches where his code is substantially the same. It's not a bad way to do it; his patch had some bugs and my patches had some bugs. Hopefully all our bugs were different from each other. And hopefully Mark likes all the changes I made to his code!
This patch (of 23):
If we can't read the buffer, be sure to unlock the page before returning.
[
{
"signature_type": "Function",
"digest": {
"length": 553.0,
"function_hash": "251152193371565468247068426683695042817"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@afa8003f8db62e46c4b171cbf4cec2824148b4f7",
"deprecated": false,
"id": "CVE-2024-58001-262fe9a3",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_readpage",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"111316617211829569350186704654283209339"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8aee4184c5b79e486598c15aa80687c77f6f6e6e",
"deprecated": false,
"id": "CVE-2024-58001-3beea06e",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 553.0,
"function_hash": "251152193371565468247068426683695042817"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cd3e22b206189cbb4a94229002141e1529f83746",
"deprecated": false,
"id": "CVE-2024-58001-3f6f159b",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_readpage",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 576.0,
"function_hash": "173209625766325103481615453437487167105"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e143eb4ab83c24e7ad3e3d8e7daa241d9c38377",
"deprecated": false,
"id": "CVE-2024-58001-491437dc",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_read_folio",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"111316617211829569350186704654283209339"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@afa8003f8db62e46c4b171cbf4cec2824148b4f7",
"deprecated": false,
"id": "CVE-2024-58001-4b8c18a0",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 553.0,
"function_hash": "251152193371565468247068426683695042817"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8aee4184c5b79e486598c15aa80687c77f6f6e6e",
"deprecated": false,
"id": "CVE-2024-58001-8f1e2bb0",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_readpage",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 576.0,
"function_hash": "173209625766325103481615453437487167105"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e3b3ec7c3cb5ba5629a766e4f0926db72cf0a1f",
"deprecated": false,
"id": "CVE-2024-58001-9851d8c4",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_read_folio",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"111316617211829569350186704654283209339"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cd3e22b206189cbb4a94229002141e1529f83746",
"deprecated": false,
"id": "CVE-2024-58001-a16fff9d",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"254475761030607566755242876409358625162"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2b4c2094da6d84e69b843dd3317902e977bf64bd",
"deprecated": false,
"id": "CVE-2024-58001-a63b0e3f",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 576.0,
"function_hash": "173209625766325103481615453437487167105"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6833b38984d1e9f20dd80f9ec9050c10d687f30",
"deprecated": false,
"id": "CVE-2024-58001-b41852a7",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_read_folio",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"254475761030607566755242876409358625162"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e143eb4ab83c24e7ad3e3d8e7daa241d9c38377",
"deprecated": false,
"id": "CVE-2024-58001-b6205a2d",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 576.0,
"function_hash": "173209625766325103481615453437487167105"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@52a326f93ceb9348264fddf7bab6e345db69e08c",
"deprecated": false,
"id": "CVE-2024-58001-b6656a28",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_read_folio",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Function",
"digest": {
"length": 576.0,
"function_hash": "173209625766325103481615453437487167105"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2b4c2094da6d84e69b843dd3317902e977bf64bd",
"deprecated": false,
"id": "CVE-2024-58001-c712eda8",
"signature_version": "v1",
"target": {
"function": "ocfs2_fast_symlink_read_folio",
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"254475761030607566755242876409358625162"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6833b38984d1e9f20dd80f9ec9050c10d687f30",
"deprecated": false,
"id": "CVE-2024-58001-c7d3e01d",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"254475761030607566755242876409358625162"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@52a326f93ceb9348264fddf7bab6e345db69e08c",
"deprecated": false,
"id": "CVE-2024-58001-da62bb76",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"77923394393816002633284404526635240558",
"288357979843250729995630374261722887065",
"13103238875019809371826344018989083717",
"149531335274337962335950367873578194280",
"138427267113794233498823602540590506329",
"280613310610436788624921870708092583609",
"144373606944206274461359961451531180698",
"61928916678708123321216125589072229984",
"302481179962636033608083771953729028983",
"255164232941883501352965205900677531853",
"254475761030607566755242876409358625162"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e3b3ec7c3cb5ba5629a766e4f0926db72cf0a1f",
"deprecated": false,
"id": "CVE-2024-58001-ea4efa48",
"signature_version": "v1",
"target": {
"file": "fs/ocfs2/symlink.c"
}
}
]