In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix kernel bug due to missing clearing of buffer delay flag
Syzbot reported that after nilfs2 reads a corrupted file system image and degrades to read-only, the BUGON check for the buffer delay flag in submitbh_wbc() may fail, causing a kernel bug.
This is because the buffer delay flag is not cleared when clearing the buffer state flags to discard a page/folio or a buffer head. So, fix this.
This became necessary when the use of nilfs2's own page clear routine was expanded. This state inconsistency does not occur if the buffer is written normally by log writing.
[ { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-02d06e14" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-1545e6cc" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-2c48cc58" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-2cbedc1e" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-3691e2df" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-3878ee8f" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ed469df0bfbef3e4b44fca954a781919db9f7ab", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "276399438967480252746085125948226623221", "127806111982204832837944413935353770238", "325934028031744078864937877206817802505", "61835981334428354034660441182203024478", "158376003890570314542152168617538622873" ] }, "id": "CVE-2024-50116-3a1542eb" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-52964771" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-55934b39" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ed469df0bfbef3e4b44fca954a781919db9f7ab", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "169921581759712213137143836942832191999", "length": 521.0 }, "id": "CVE-2024-50116-56966d03" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-677029dd" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-6d765d02" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-766bb403" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-7c8c9f54" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-8f73f876" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ed469df0bfbef3e4b44fca954a781919db9f7ab", "signature_version": "v1", "target": { "function": "nilfs_clear_folio_dirty", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "260812594929729002771646667366446388771", "length": 585.0 }, "id": "CVE-2024-50116-99620882" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "169921581759712213137143836942832191999", "length": 521.0 }, "id": "CVE-2024-50116-9be83cdf" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-ad2eea86" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "276399438967480252746085125948226623221", "127806111982204832837944413935353770238", "325934028031744078864937877206817802505", "61835981334428354034660441182203024478", "158376003890570314542152168617538622873" ] }, "id": "CVE-2024-50116-b8307f14" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25", "signature_version": "v1", "target": { "function": "nilfs_forget_buffer", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "145894154657147248298854746381495920681", "length": 520.0 }, "id": "CVE-2024-50116-d03de6a9" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-d846d8fd" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25", "signature_version": "v1", "target": { "function": "nilfs_clear_dirty_page", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "167960897133879048639455417626747258171", "length": 919.0 }, "id": "CVE-2024-50116-d8e1a4a1" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3", "signature_version": "v1", "target": { "file": "fs/nilfs2/page.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "127806111982204832837944413935353770238", "3938825972773656596916730321316594227", "135385195649329489705510569987673714718", "319596758769956449981755746689769729776", "127806111982204832837944413935353770238", "87443480277298940295036636562291275367", "23878594933612573918156302065731688187", "265406761152950242062855444120025026928" ] }, "id": "CVE-2024-50116-e348be9b" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa", "signature_version": "v1", "target": { "function": "nilfs_clear_folio_dirty", "file": "fs/nilfs2/page.c" }, "digest": { "function_hash": "69965839562953649271338412410843207426", "length": 910.0 }, "id": "CVE-2024-50116-f225a4ea" } ]