nilfs2-kmod8-1.23 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-kmod8-1.22 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-kmod8-1.21 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-kmod8-1.20 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-kmod8-1.19 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 * backport a cleanup patch to resolve a conflict: - fs/nilfs2: remove some unused macros to tame gcc nilfs2-kmod8-1.18 Fri Jul 12, 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-kmod8-1.17 Sat Jul 6, 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-kmod8-1.16 Sat Jun 8, 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 * CentOS 8 stream EOL has been reflected in the README file: - README: remove CentOS 8 stream from supported distributions nilfs2-kmod8-1.15 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() * backport a fix for one potential array out-of-bounds access issue around the directory code: - nilfs2: fix OOB in nilfs_set_de_type * backport one environment-dependent build warning fix: - nilfs2: fix out-of-range warning nilfs2-kmod8-1.14 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-kmod8-1.13 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() nilfs2-kmod8-1.12 Sat Dec 9, 2023 JST * backport fixes for a potential use-after-free issue, problems including memory access violations due to lack of block size error handling, and a bug reported by syzbot: - nilfs2: fix potential use after free in nilfs_gccache_submit_read_data() - nilfs2: fix missing error check for sb_set_blocksize call - nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage() nilfs2-kmod8-1.11 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-kmod8-1.10 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-kmod8-1.9 Wed Jun 14, 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 inline function compatibility definitions for maintenance: - Allow to use bdev_nr_bytes() and sb_bdev_nr_blocks() nilfs2-kmod8-1.8 Sun May 7, 2023 JST * backport fixes for kernel hangs 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-kmod8-1.7 Sun Apr 23, 2023 JST * backport another missing block initialization fix: - nilfs2: initialize unused bytes in segment summary blocks nilfs2-kmod8-1.6 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-kmod8-1.5 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-kmod8-1.4 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-kmod8-1.3 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-kmod8-1.2 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() nilfs2-kmod8-1.1 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-kmod8-1.0 Mon Oct 24, 2022 JST * Fix build issues with older RHEL 8 kernels: - Allow to use sysfs_emit() in old kernels (< 8.5) - Allow to add gfp argument to blkdev_issue_flush() for old kernels (< 8.6) - Add dummy error sector argument to blkdev_issue_flush() for old kernels (< 8.4) - Allow to use the fallthrough keyword in older kernels (< 8.4) - Revert "nilfs2: use default_groups in kobj_type" (< 8.3) - Avoid using unexported __inode_attach_wb() in older kernels (< 8.3) - nilfs2-kmod8: output an error when compiling against unsupported versions (= 8.0) * Makefile updates: - nilfs2-kmod8: pass RHEL release number to preprocessor - 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 nilfs2-kmod8-0.2 Sun Oct 16, 2022 JST * 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-kmod8-0.1 Wed Oct 12, 2022 JST * backport RHEL 8 changes: - block: use an on-stack bio in blkdev_issue_flush - block: remove the error_sector argument to blkdev_issue_flush - fs/nilfs2/file.c: use new return type vm_fault_t - nilfs2: Convert to XArray - nilfs2: Use xa_erase_irq - XArray: Change xa_insert to return -EBUSY - treewide: Use fallthrough pseudo-keyword - Allow to backport vfs_ioc_setflags_prepare() - Allow to backport the new readahead aop * backport bug fixes: - nilfs2: use 64-bit superblock timstamps - nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() - nilfs2: only call unlock_new_inode() if I_NEW - nilfs2: fix memory leak in nilfs_sysfs_delete_device_group - 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 documentation fixes: - nilfs2: fix some kernel-doc warnings for nilfs2 - fs/nilfs2: fix misspellings using codespell tool - nilfs2: fix typos in comments * backport other changes: - nilfs2: convert to SPDX license tags - nilfs2: replace snprintf in show functions with sysfs_emit - nilfs2: remove filenames from file comments - nilfs2: use default_groups in kobj_type - nilfs2: convert __nilfs_msg to integrate the level and format - nilfs2: use a more common logging style * add ChangeLog file * add README file * add kern_feature.h header file * add .gitignore file * Import source files from stable kernel-4.18.y.