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.