-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathChangeLog
329 lines (274 loc) · 13.2 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
nilfs2-kmod7-1.2.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
nilfs2-kmod7-1.2.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-kmod7-1.2.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-kmod7-1.2.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-kmod7-1.2.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-kmod7-1.2.11 Sun Sep 3, 2023 JST
* backport fixes for general protection fault and kernel warning
issues reported by syzbot:
- nilfs2: fix general protection fault in
nilfs_lookup_dirty_data_buffers()
- nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer
reuse
nilfs2-kmod7-1.2.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-kmod7-1.2.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 some new macro and inline function compatibility definitions for
maintenance:
- Allow to use U64_MAX and similar definitions
- Allow to use bdev_nr_bytes() and sb_bdev_nr_blocks()
nilfs2-kmod7-1.2.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-kmod7-1.2.7 Sun Apr 23, 2023 JST
* backport another missing block initialization fix:
- nilfs2: initialize unused bytes in segment summary blocks
nilfs2-kmod7-1.2.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()
nilfs2-kmod7-1.2.5 Mon Mar 27, 2023 JST
* backport fixes 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-kmod7-1.2.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-kmod7-1.2.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-kmod7-1.2.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-kmod7-1.2.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
* backport change for maintenance:
- Allow to use sb_rdonly()
nilfs2-kmod7-1.2.0 Sun Oct 23, 2022 JST
* backport bug fixes:
- nilfs2: fix leak of nilfs_root in case of writer thread creation
failure
- nilfs2: fix use-after-free bug of struct nilfs_root
- nilfs2: fix NULL pointer dereference at
nilfs_bmap_lookup_at_level()
- nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition
failure
* backport SPDX license tags, etc:
- License cleanup: add SPDX license identifier to uapi header files
with a license
- nilfs2: convert to SPDX license tags
- nilfs2: clarify permission to replicate the design
* backport improved logging helpers:
- nilfs2: convert __nilfs_msg to integrate the level and format
- nilfs2: use a more common logging style
- nilfs2: reduce bare use of printk() with nilfs_msg()
- nilfs2: replace nilfs_warning() with nilfs_msg()
- nilfs2: emit error message when I/O error is detected
- nilfs2: add nilfs_msg() message interface
- nilfs2: hide function name argument from nilfs_error()
* backport uapi header files support:
- nilfs2: move ioctl interface and disk layout to uapi separately
- nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi
header
* backport various changes for easier future maintenance:
- nilfs2: move cleanup code of metadata file from inode routines
- nilfs2: avoid bare use of 'unsigned'
- nilfs2: fix block comments
- nilfs2: embed a back pointer to super block instance in nilfs
object
- nilfs2: refactor parser of snapshot mount option
- nilfs2: get rid of nilfs_mdt_mark_block_dirty()
- mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
- git simplify nilfs check for busy subtree
nilfs2-kmod7-1.1.3 Sat Oct 22, 2022 JST
* backport bug fixes
- nilfs2: fix use-after-free bug in nilfs_mdt_destroy()
- nilfs2: fix incorrect masking of permission flags for symlinks
- nilfs2: use refcount_dec_and_lock() to fix potential UAF
- nilfs2: only call unlock_new_inode() if I_NEW
* backport other changes:
- Allow to use refcount type
- fs, nilfs: convert nilfs_root.count from atomic_t to refcount_t
- nilfs2: deletion of an unnecessary check before the function call
"iput"
* Makefile updates:
- nilfs2-kmod7: pass RHEL release number to preprocessor
- nilfs2-kmod7: 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
* README: update git repository url
* README: fix the list of required packages
nilfs2-kmod7-1.1.2 Sat Nov 18, 2017 JST
* fix race condition that causes file system corruption
* fix a coding style issue:
- align block comments of nilfs_sufile_truncate_range() at *
* README: replace the repository name in examples with nilfs2-kmod7
nilfs2-kmod7-1.1.1 Sat Jul 23, 2016 JST
* fix potential underflow in call to crc32_le
* do not emit extra newline on nilfs_warning() and nilfs_error()
* fix coding style issues
- remove FSF mailing address from GPL notices
- remove space before comma
- remove space before semicolon
- add missing line spacing
- fix code indent coding style issue
- remove unnecessary else after return or break
- remove loops of single statement macros
* cleanup:
- clean up old e-mail addresses
nilfs2-kmod7-1.1.0 Sun Nov 8, 2015 JST
* resolve decline of the available disk space due to bloat of DAT
metadata file
- add helper functions to delete blocks from dat file
- free unused dat file blocks during garbage collection
* refactor bitmap based object allocator/deallocator
- use nilfs_warning() in allocator implementation
- do not call nilfs_mdt_bgl_lock() needlessly
- refactor nilfs_palloc_find_available_slot()
- get rid of nilfs_palloc_group_is_in()
* fix sanity check of btree level in nilfs_btree_root_broken()
* support NFSv2 export
* support vanilla kernel 3.6 ~ 3.9
- Add compat function of file_inode()
- Add mimic of MODULE_ALIAS_FS macro
- Add compat function of wait_for_stable_page()
- Add FILEID_INVALID macro
- Fix build failure of nilfs_mapping_init() in kernel 3.7
- Fix build error due to addition of vm_ops->remap_pages()
- Set VM_CAN_NONLINIEAR to vm_flags in kernel 3.6 and earlier
- Only call file_update_time() in nilfs_page_mkwrite() for kernel
3.7+
- README: include vanilla kernel 3.6+ to supported versions
nilfs2-kmod7-1.0.0 Sun Apr 19, 2015 JST
* fix gcc warning at nilfs_checkpoint_is_mounted()
* fix minor race issue with chattr:
- put out gfp mask manipulation from nilfs_set_inode_flags()
- add mimic of inode_set_flags() helper
- use inode_set_flags() in nilfs_set_inode_flags() to
atomically set inode->i_flags.
* support build for recent mainline kernels (v3.10 ~ v4.0):
- fix build error due to relocation of version.h
- fix build error due to change of readdir at Linux 3.11
- fix build error due to change of bio struct at Linux 3.14
- fix build error due to change related to iov iterator at Linux 3.16
- use d_obtain_root() and add its compat function
- fix build error due to removal of vm_ops->remap_pages()
- fix build error due to removal of mapping->backing_dev_info
* improve execution time of lscp command on aged file systems:
- unify type of key arguments in bmap interface
- add bmap function to seek a valid key
- add helper to find existent block on metadata file
- improve execution time of NILFS_IOCTL_GET_CPINFO ioctl
* reduce the number of atomic bit operations with set_mask_bits
helper:
- do not use async write flag for segment summary buffers
- add mimic of set_mask_bits() helper
- use set_mask_bits() for operations on buffer state bitmap
* cleanup:
- use bgl_lock_ptr() helper to simplify nilfs_mdt_bgl_lock()
nilfs2-kmod-centos7-0.1.5 Sun Apr 5, 2015 JST
* fix build error on CentOS 7.1 supporting a change of
truncate_pagecache() function.
nilfs2-kmod-centos7-0.1.4 Fri Mar 13, 2015 JST
* fix deadlock of segment constructor during recovery
* fix potential memory overrun on inode
nilfs2-kmod-centos7-0.1.3 Sat Feb 7, 2015 JST
* fix deadlock of segment constructor over I_SYNC flag
* fix the nilfs_iget() vs. nilfs_new_inode() races
nilfs2-kmod-centos7-0.1.2 Sun Oct 19, 2014 JST
* improve the performance of fdatasync()
* add missing blkdev_issue_flush() to nilfs_sync_fs()
nilfs2-kmod-centos7-0.1.1 Sat Sep 27, 2014 JST
* fix data loss with mmap()
nilfs2-kmod-centos7-0.1.0 Wed Jul 9, 2014 JST
* update project's web site in nilfs2.txt
* verify metadata sizes read from disk
* add FITRIM ioctl support
* add NILFS_IOCTL_SET_SUINFO ioctl support
* apply "nilfs2: add comments for ioctls"
* apply "nilfs2: use atomic64_t type for inode_count and blocks_count
fields in nilfs_root struct"
* apply "nilfs2: implement calculation of tree inodes count"
* apply "helper for reading ->d_count"
* apply "mm + fs: store shadow entries in pace cache"
* add kern_feature.h header file
* add .gitignore file
* Import source files from stable kernel-3.10.y.