)]}'
{
  "commit": "86e3ffeab54801dbba8a79d8486905e423d785b3",
  "tree": "ac0b797b7f89a784f127d5007d021797965c3ec5",
  "parents": [
    "a077a6cdb3454a6f3eea7ea178d8280ff0f04ef2"
  ],
  "author": {
    "name": "Ryusuke Konishi",
    "email": "konishi.ryusuke@gmail.com",
    "time": "Sun Jun 23 14:11:35 2024 +0900"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Thu Jul 11 12:47:19 2024 +0200"
  },
  "message": "nilfs2: fix incorrect inode allocation from reserved inodes\n\ncommit 93aef9eda1cea9e84ab2453fcceb8addad0e46f1 upstream.\n\nIf the bitmap block that manages the inode allocation status is corrupted,\nnilfs_ifile_create_inode() may allocate a new inode from the reserved\ninode area where it should not be allocated.\n\nPrevious fix commit d325dc6eb763 (\"nilfs2: fix use-after-free bug of\nstruct nilfs_root\"), fixed the problem that reserved inodes with inode\nnumbers less than NILFS_USER_INO (\u003d11) were incorrectly reallocated due to\nbitmap corruption, but since the start number of non-reserved inodes is\nread from the super block and may change, in which case inode allocation\nmay occur from the extended reserved inode area.\n\nIf that happens, access to that inode will cause an IO error, causing the\nfile system to degrade to an error state.\n\nFix this potential issue by adding a wraparound option to the common\nmetadata object allocation routine and by modifying\nnilfs_ifile_create_inode() to disable the option so that it only allocates\ninodes with inode numbers greater than or equal to the inode number read\nin \"nilfs-\u003ens_first_ino\", regardless of the bitmap status of reserved\ninodes.\n\nLink: https://lkml.kernel.org/r/20240623051135.4180-4-konishi.ryusuke@gmail.com\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@gmail.com\u003e\nCc: Hillf Danton \u003chdanton@sina.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Matthew Wilcox (Oracle) \u003cwilly@infradead.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7342de296ec3c6a8486da9f6bb0b16eeded7ca5c",
      "old_mode": 33188,
      "old_path": "fs/nilfs2/alloc.c",
      "new_id": "25881bdd212b879bfc43938db4dbef2a9cb031ac",
      "new_mode": 33188,
      "new_path": "fs/nilfs2/alloc.c"
    },
    {
      "type": "modify",
      "old_id": "b667e869ac076ad49af3a603069f3b1013720cf5",
      "old_mode": 33188,
      "old_path": "fs/nilfs2/alloc.h",
      "new_id": "d825a9faca6d9608ce6e73f5282b627dc6dc6701",
      "new_mode": 33188,
      "new_path": "fs/nilfs2/alloc.h"
    },
    {
      "type": "modify",
      "old_id": "1e7f653c1df7e0344a6d9ef3e9b446291fe7f13f",
      "old_mode": 33188,
      "old_path": "fs/nilfs2/dat.c",
      "new_id": "242cc36bf1e9784b3cbca71292423a30daf25cac",
      "new_mode": 33188,
      "new_path": "fs/nilfs2/dat.c"
    },
    {
      "type": "modify",
      "old_id": "a8a4bc8490b4d8e8fa7ee62adfda33e600e2ed13",
      "old_mode": 33188,
      "old_path": "fs/nilfs2/ifile.c",
      "new_id": "ac10a62a41e9834763953bc9b05653de77526f1b",
      "new_mode": 33188,
      "new_path": "fs/nilfs2/ifile.c"
    }
  ]
}
