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.
[
{
"id": "CVE-2024-50116-02d06e14",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-1545e6cc",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-2c48cc58",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27524f65621f490184f2ace44cd8e5f3685af4a3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-2cbedc1e",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-3691e2df",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-3878ee8f",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-52964771",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-55934b39",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-677029dd",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-6d765d02",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-766bb403",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-7c8c9f54",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-8f73f876",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@412a30b1b28d6073ba29c46a2b0f324c5936293f",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-9be83cdf",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 521.0,
"function_hash": "169921581759712213137143836942832191999"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-ad2eea86",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f2ab98371c2f2488bf3bf3f9b2a73510545e9c1",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-b8307f14",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"276399438967480252746085125948226623221",
"127806111982204832837944413935353770238",
"325934028031744078864937877206817802505",
"61835981334428354034660441182203024478",
"158376003890570314542152168617538622873"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-d03de6a9",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_forget_buffer"
},
"digest": {
"length": 520.0,
"function_hash": "145894154657147248298854746381495920681"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-d846d8fd",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@743c78d455e784097011ea958b27396001181567",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-d8e1a4a1",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_dirty_page"
},
"digest": {
"length": 919.0,
"function_hash": "167960897133879048639455417626747258171"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@822203f6355f4b322d21e7115419f6b98284be25",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-e348be9b",
"target": {
"file": "fs/nilfs2/page.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"127806111982204832837944413935353770238",
"3938825972773656596916730321316594227",
"135385195649329489705510569987673714718",
"319596758769956449981755746689769729776",
"127806111982204832837944413935353770238",
"87443480277298940295036636562291275367",
"23878594933612573918156302065731688187",
"265406761152950242062855444120025026928"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@033bc52f35868c2493a2d95c56ece7fc155d7cb3",
"signature_version": "v1"
},
{
"id": "CVE-2024-50116-f225a4ea",
"target": {
"file": "fs/nilfs2/page.c",
"function": "nilfs_clear_folio_dirty"
},
"digest": {
"length": 910.0,
"function_hash": "69965839562953649271338412410843207426"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c6f58ff2d4c552927fe9a187774e668ebba6c7aa",
"signature_version": "v1"
}
]