nilfs2-kmod9-1.33  Tue Feb 4, 2025 JST

	* backport fixes for the buffer head state inconsistency issues
	  reported by syzbot that occur when the filesystem is corrupted and
	  falls back to read-only, and the associated buffer head
	  use-after-free issue:
	  - nilfs2: do not force clear folio if buffer is referenced
	  - nilfs2: protect access to buffers with no active references

	* backport fixes for BUG_ON check failures reported by syzbot around
	  rename operations, and a behavioral issue where the mtime of a child
	  directory changes when it is renamed instead of moved:
	  - nilfs2: move page release outside of nilfs_delete_entry and
	    nilfs_set_link
	  - nilfs2: eliminate staggered calls to kunmap in nilfs_rename
	  - nilfs2: handle errors that nilfs_prepare_chunk() may return
	  - nilfs2: do not update mtime of renamed directory that is not moved

	* backport a fix for integer overflows in the fiemap ioctl that don't
	  happen with normal FS formats, but can happen in special
	  circumstances where the segment size is tuned to be extra large:
	  - nilfs2: fix possible int overflows in nilfs_fiemap()

nilfs2-kmod9-1.32  Mon Dec 23, 2024 JST

	* backport a fix for buffer head leaks that progress in GC:
	  - nilfs2: fix buffer head leaks in calls to truncate_inode_pages()

	* backport fixes for potential issues such as out-of-page memory access
	  and link counter underflow that can occur on corrupted file systems:
	  - nilfs2: prevent use of deleted inode
	  - nilfs2: fix potential out-of-bounds memory access in
	    nilfs_find_entry()

nilfs2-kmod9-1.31  Tue Nov 19, 2024 JST

	* fix build issues on the latest RHEL9 kernel (RHEL_RELEASE == 529):
	  - Allow switching user_namespace and mnt_idmap structures

nilfs2-kmod9-1.30  Thu Nov 14, 2024 JST

	* backport fixes for null pointer dereference bugs that occur when
	  using nilfs2 and two block-related tracepoints:
	  - nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
	  - nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint

nilfs2-kmod9-1.29  Mon Nov 4, 2024 JST

	* backport fixes for two kernel bug that could occur when file system
	  corruption was detected and the mount mode was degraded to read-only:
	  - nilfs2: fix kernel bug due to missing clearing of buffer delay flag
	  - nilfs2: fix kernel bug due to missing clearing of checked flag

	* backport a fix for a potential deadlock issue:
	  - nilfs2: fix potential deadlock with newly created symlinks

nilfs2-kmod9-1.28  Sat Oct 19, 2024 JST

	* backport an upstream fix for a problem where a directory search could
	  loop for a long time on a broken filesystem, which could result in a
	  large amount of error logs being output in bursts:
	  - nilfs2: propagate directory read errors from nilfs_find_entry()

nilfs2-kmod9-1.27  Tue Oct 1, 2024 JST

	* fix build issues on newer RHEL 9 kernels (RHEL_RELEASE >= 513):
	  - Allow switching between pagevec_lookup_tag and
	    filemap_get_folios_tag

nilfs2-kmod9-1.26  Mon Sep 23, 2024 JST

	* backport upstream fixes that prevent internal code -ENOENT from
	  propagating to system calls:
	  - nilfs2: treat missing sufile header block as metadata corruption
	  - nilfs2: treat missing cpfile header block as metadata corruption
	  - nilfs2: do not propagate ENOENT error from sufile during recovery
	  - nilfs2: do not propagate ENOENT error from sufile during GC
	  - nilfs2: do not propagate ENOENT error from
	    nilfs_sufile_mark_dirty()

	* backport upstream fixes for three potential issues with empty b-tree
	  nodes that can occur with corrupted file system images, including one
	  recently discovered by syzbot:
	  - nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()
	  - nilfs2: determine empty node blocks as corrupted
	  - nilfs2: fix potential oob read in nilfs_btree_check_delete()

	* backport a change to suppress nuisance kernel warnings that are
	  output after detecting file system corruption and degrading to a
	  read-only mount:
	  - nilfs2: do not output warnings when clearing dirty buffers

	* backport a cleanup patch to remove code that is no longer needed by
	  an existing fix:
	  - nilfs2: do not repair reserved inode bitmap in nilfs_new_inode()

nilfs2-kmod9-1.25  Thu Sep 5, 2024 JST

	* backport upstream bug fixes for issues such as memory access
	  violations or invalid pointer dereferencing due to missing exclusive
	  controls in the sysfs interface, a use-after-free bug in an error
	  path of recovery during mount, and hangs and metadata block loss
	  due to insufficient cleanup after log writer errors:
	  - nilfs2: fix state management in error path of log writing function
	  - nilfs2: fix missing cleanup on rollforward recovery error
	  - nilfs2: protect references to superblock parameters exposed in
	    sysfs
	* backport bug fixes for a kernel bug in b-tree node block creation
	  that can occur when the disk address translation table is corrupted,
	  and potential synchronization operation malfunctions due to an
	  environment-dependent flaw in a sequence counter comparision macro:
	  - nilfs2: handle inconsistent state in nilfs_btnode_create_block()
	  - nilfs2: avoid undefined behavior in nilfs_cnt32_ge macro

nilfs2-kmod9-1.24  Thu Jul 11, 2024 JST

	* backport a fix for a kernel bug that could occur when moving/renaming
	  broken directories, and a commit that it depends on:
	  - nilfs2: fix kernel bug on rename operation of broken directory
	  - nilfs2: return the mapped address from nilfs_get_page()

nilfs2-kmod9-1.23  Fri Jul 5, 2024 JST

	* backport a fix for use-after-free of metadata file inodes that could
	  cause kernel bugs when directory entries were corrupted:
	  - nilfs2: add missing check for inode numbers on directory entries
	* backport fixes for a couple of flaws that could cause problems if
	  the starting number of non-reserved inodes was intentionally (or
	  corruptly) changed from its default value:
	  - nilfs2: fix inode number range checks
	  - nilfs2: fix incorrect inode allocation from reserved inodes

nilfs2-kmod9-1.22  Sun Jun 9, 2024 JST

	* backport fixes for a kernel bug that could occur when overwriting
	  a block device on which nilfs2 is mounted, and for potential FS
	  corruption when removing or renaming a directory failed with I/O
	  errors:
	  - nilfs2: fix potential kernel bug due to lack of writeback flag
	    waiting
	  - nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O
	    errors
	* backport one environment-dependent build warning fix:
	  - nilfs2: fix out-of-range warning

nilfs2-kmod9-1.21  Mon May 27, 2024 JST

	* backport fixes for a few issues with the log writer, including
	  potential use-after-free and hang issues on unmount, and potential
	  sync operation freezes:
	  - nilfs2: fix use-after-free of timer for log writer thread
	  - nilfs2: fix unexpected freezing of nilfs_segctor_sync()
	  - nilfs2: fix potential hang in nilfs_detach_log_writer()
	* backport fixes for potential issues with finishing block writes in
	  rollforward recovery on mount:
	  - nilfs2: make block erasure safe in nilfs_finish_roll_forward()
	  - nilfs2: convert BUG_ON() in nilfs_finish_roll_forward() to
	    WARN_ON()

nilfs2-kmod9-1.20  Tue May 14, 2024 JST

	* fix a build issue on newer RHEL 9 kernels (RHEL_RELEASE >= 446):
	  - Make vmf_fs_error() and block_page_mkwrite_return() switchable
	* backport a fix for one potential array out-of-bounds access issue
	  around the directory code:
	  - nilfs2: fix OOB in nilfs_set_de_type

nilfs2-kmod9-1.19  Wed Apr 17, 2024 JST

	* fix an issue where the nilfs2 module built against newer RHEL 9
	  kernels (RHEL_RELEASE >= 375) would cause a panic:
	  - Allow to switch application of setup_bdev_super()

nilfs2-kmod9-1.18  Sat Mar 16, 2024 JST

	* backport fixes for potential issues that could cause a buffer I/O
	  routine to trigger a kernel bug due to writes to file systems whose
	  DAT metadata is corrupted or unexpected write races:
	  - nilfs2: fix failure to detect DAT corruption in btree and direct
	    mappings
	  - nilfs2: prevent kernel bug at submit_bh_wbc()

nilfs2-kmod9-1.17  Sun Feb 11, 2024 JST

	* backport fixes for a data corruption issue, mmap-related hangs and
	  recovery failures, potential kernel panics, and a log writer freeze
	  handling issue:
	  - nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
	  - nilfs2: fix data corruption in dsync block recovery for small
	    block sizes
	  - nilfs2: fix potential bug in end_buffer_async_write
	  - nilfs2: add missing set_freezable() for freezable kthread
	* backport a patch that replaces potentially problematic state
	  inconsistency checks with warning message output:
	  - nilfs2: switch WARN_ONs to warning output in nilfs_sufile_do_free()
	* backport a kernel-doc fix:
	  - nilfs2: cpfile: fix some kernel-doc warnings

nilfs2-kmod9-1.16  Sun Dec 10, 2023 JST

	* backport fixes for problems including memory access violations due to
	  lack of block size error handling and for a bug reported by syzbot:
	  - nilfs2: fix missing error check for sb_set_blocksize call
	  - nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()

nilfs2-kmod9-1.15  Tue Nov 7, 2023 JST

	* fix a build issue on newer RHEL 9 kernels (RHEL_RELEASE >= 381):
	  - Allow switching between find_get_pages_contig and
	    filemap_get_folios_contig
	* fix a typo in this ChangeLog

nilfs2-kmod9-1.14  Wed Oct 4, 2023 JST

	* fix build issues on newer RHEL 9 kernels (RHEL_RELEASE >= 370):
	  - Allow switching between new and old blkdev_{get_by_*,put}()
	  - Allow to remove sb->s_mode for newer kernels
	  - Support blk_mode_t type and sb_open_mode() helper introduction
	* backport one fix for a potential use-after-free issue in a
	  GC-related routine:
	  - nilfs2: fix potential use after free in
	    nilfs_gccache_submit_read_data()
	* allow use of a safer timer shutdown routine:
	  - Allow to use timer_shutdown_sync()
	  - treewide: Convert del_timer*() to timer_shutdown*()
	* one minor build compatibility improvement:
	  - Add missing definitions for when RHEL_RELEASE_N cannot be obtained

nilfs2-kmod9-1.13  Mon Sep 4, 2023 JST

	* backport fixes for user-after-free read, general protection fault,
	  and kernel warning issues under abnormal conditions reported by
	  syzbot:
	  - nilfs2: fix use-after-free of nilfs_root in dirtying inodes via
	    iput
	  - nilfs2: fix general protection fault in
	    nilfs_lookup_dirty_data_buffers()
	  - nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer
	    reuse

nilfs2-kmod9-1.12  Sat Jun 24, 2023 JST

	* backport fixes for general protection faults on corrupted disk images
	  and buffer corruption issues caused by concurrent device reads:
	  - nilfs2: prevent general protection fault in
	    nilfs_clear_dirty_page()
	  - nilfs2: fix buffer corruption due to concurrent device reads

nilfs2-kmod9-1.11  Thu Jun 15, 2023 JST

	* backport recent fixes for various issues reported by syzbot:
	  - nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
	  - nilfs2: reject devices with insufficient block count
	  - nilfs2: fix possible out-of-bounds segment allocation in resize
	    ioctl
	  - nilfs2: fix incomplete buffer cleanup in
	    nilfs_btnode_abort_change_key()
	* add an inline function compatibility definition for maintenance:
	  - Allow to use sb_bdev_nr_blocks()

nilfs2-kmod9-1.10  Sun May 7, 2023 JST

	* backport fixes for kernel hangs with corrupted disk images and
	  writes even after read-only degeneration:
	  - nilfs2: do not write dirty data after degenerating to read-only
	  - nilfs2: fix infinite loop in nilfs_mdt_get_block()

nilfs2-kmod9-1.9  Sun Apr 23, 2023 JST

	* backport another missing block initialization fix:
	  - nilfs2: initialize unused bytes in segment summary blocks

nilfs2-kmod9-1.8  Sun Apr 16, 2023 JST

	* backport fixes for a potential use-after-free read issue and
	  missing segment summary data initialization:
	  - nilfs2: initialize "struct nilfs_binfo_dat"->bi_pad field
	  - nilfs2: fix potential UAF of struct nilfs_sc_info in
	    nilfs_segctor_thread()
	* backport the fix for potential null pointer dereferences,
	  use-after-free, and lockdep warnings caused by improper sysfs
	  interface lifetime:
	  - nilfs2: fix sysfs interface lifetime

nilfs2-kmod9-1.7  Wed Apr 5, 2023 JST

	* fix build issues on newer RHEL 9 kernels (RHEL_RELEASE >= 293):
	  - Allow switching between pagevec_lookup and filemap_get_folios
	  - Allow to remove flags argument from block_write_begin and aops
	    write_begin
	  - Allow switching between read_folio and readpage

nilfs2-kmod9-1.6  Mon Mar 27, 2023 JST

	* backport the fix for a potential kernel information leak when
	  specifying anomalous ioctl parameters:
	  - nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
	* backport improved anomaly checks for corrupted disk images:
	  - nilfs2: prevent WARNING in nilfs_dat_commit_end()
	  - nilfs2: replace WARN_ONs for invalid DAT metadata block requests

nilfs2-kmod9-1.5  Sun Feb 19, 2023 JST

	* backport fixes for general protection faults on corrupted disk
	  images, an out-of-bounds block access issue on empty or very small
	  devices, bad segment counts and a writer thread hang issue after
	  attempting to resize to very small sizes:
	  - nilfs2: fix general protection fault in nilfs_btree_insert()
	  - nilfs2: fix underflow in second superblock position calculations

nilfs2-kmod9-1.4  Sun Dec 25, 2022 JST

	* backport the fixes for potential shift-out-of-bounds issues at mount
	  time against corrupted disk images:
	  - nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
	  - nilfs2: fix shift-out-of-bounds due to too large exponent of block
	    size

nilfs2-kmod9-1.3  Mon Dec 5, 2022 JST

	* backport bug fixes:
	  - nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as
	    dirty
	  - nilfs2: fix NULL pointer dereference in
	    nilfs_palloc_commit_free_entry()
	* a minor build fix:
	  - build: treat .mod files as intermediate files

nilfs2-kmod9-1.2  Sun Nov 20, 2022 JST

	* backport bug fixes:
	  - nilfs2: fix deadlock in nilfs_count_free_blocks()
	  - nilfs2: fix use-after-free bug of ns_writer on remount

nilfs2-kmod9-1.1  Thu Nov 3, 2022 JST

	* fix build issues on newer RHEL 9 kernels (RHEL_RELEASE >= 183):
	  - Allow switching between invalidate_folio and invalidatepage
	  - Allow switching between dirty_folio and set_page_dirty
	  - Allow to combine submit_bh() arguments
	  - Allow to remove bdi_write_congested()
	* a Makefile correction:
	  - fix NOSTDINC variable passing leak due to lack of quotes

nilfs2-kmod9-1.0  Tue Oct 18, 2022 JST

	* support for conditional builds by RHEL 9 kernel version:
	  - nilfs2-kmod9: pass RHEL release number to preprocessor
	  - Allow to remove the bd_bdi in struct block_device
	  - Allow to use bdev_nr_bytes() helper
	  - Allow to pass a block_device and opf to bio_alloc
	  - Allow to split secure erase from discard
	  - Use bdev_max_discard_sectors() and bdev_discard_granularity()
	  - Allow to use alloc_inode_sb() for inode allocation
	* backport bug fixes:
	  - nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition
	    failure
	  - nilfs2: fix use-after-free bug of struct nilfs_root
	  - nilfs2: fix NULL pointer dereference at
	    nilfs_bmap_lookup_at_level()
	  - nilfs2: fix leak of nilfs_root in case of writer thread creation
	    failure
	  - nilfs2: fix null pointer dereference at
	    nilfs_segctor_do_construct()
	  - nilfs2: fix memory leak in nilfs_sysfs_create_device_group
	  - nilfs2: fix NULL pointer in nilfs_##name##_attr_release
	  - nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
	  - nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
	  - nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
	  - nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
	  - nilfs2: use refcount_dec_and_lock() to fix potential UAF
	  - nilfs2: fix lockdep warnings in page operations for btree nodes
	  - nilfs2: fix lockdep warnings during disk space reclamation
	  - nilfs2: get rid of nilfs_mapping_init()
	  - nilfs2: fix incorrect masking of permission flags for symlinks
	  - nilfs2: fix use-after-free bug in nilfs_mdt_destroy()
	* backport other changes:
	  - nilfs2: remove nilfs_alloc_seg_bio
	  - nilfs2: replace snprintf in show functions with sysfs_emit
	  - nilfs2: remove filenames from file comments
	  - nilfs2: use default_groups in kobj_type
	* Makefile updates:
	  - nilfs2-kmod9: include header files in local include/uapi directory
	  - Use KBUILD_EXTMOD instead of SUBDIRS in fs/nilfs2/Makefile
	  - Use KBUILD_CFLAGS and LINUXINCLUDE instead of EXTRA_CFLAGS
	* add kern_feature.h header file
	* add makefiles
	* add COPYING file
	* add README file
	* add .gitignore file
	* Import source files from Linux kernel 5.14.