- 10 12月, 2018 1 次提交
-
-
由 Chengguang Xu 提交于
If new mode is the same as old mode we don't have to reset inode mode in the rest of the code, so compare old and new mode before setting update_mode flag. Signed-off-by: NChengguang Xu <cgxu519@gmx.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
- 04 12月, 2018 6 次提交
-
-
由 ruippan (潘睿) 提交于
Commit e2b911c5 ("ext4: clean up feature test macros with predicate functions") broke the EXT4_IOC_GROUP_ADD ioctl. This was not noticed since only very old versions of resize2fs (before e2fsprogs 1.42) use this ioctl. However, using a new kernel with an enterprise Linux userspace will cause attempts to use online resize to fail with "No reserved GDT blocks". Fixes: e2b911c5 ("ext4: clean up feature test macros with predicate...") Cc: stable@kernel.org # v4.4 Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Signed-off-by: Nruippan (潘睿) <ruippan@tencent.com>
-
由 Eric Sandeen 提交于
As dax inches closer to production use, an administrator should not be surprised by silently disabling the feature they asked for. Signed-off-by: NEric Sandeen <sandeen@sandeen.net> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Chengguang Xu 提交于
ext4_xattr_destroy_cache() can handle NULL pointer correctly, so there is no need to check NULL pointer before calling ext4_xattr_destroy_cache(). Reviewed-by: NJan Kara <jack@suse.cz> Signed-off-by: NChengguang Xu <cgxu519@gmx.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Colin Ian King 提交于
There are several lines that are indented too far, clean these up by removing the tabs. Reviewed-by: NJan Kara <jack@suse.cz> Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Maurizio Lombardi 提交于
In case of error, ext4_try_to_write_inline_data() should unlock and release the page it holds. Fixes: f19d5870 ("ext4: add normal write support for inline data") Cc: stable@kernel.org # 3.8 Signed-off-by: NMaurizio Lombardi <mlombard@redhat.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Pan Bian 提交于
The function frees qf_inode via iput but then pass qf_inode to lockdep_set_quota_inode on the failure path. This may result in a use-after-free bug. The patch frees df_inode only when it is never used. Fixes: daf647d2 ("ext4: add lockdep annotations for i_data_sem") Cc: stable@kernel.org # 4.6 Reviewed-by: NJan Kara <jack@suse.cz> Signed-off-by: NPan Bian <bianpan2016@163.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
- 26 11月, 2018 1 次提交
-
-
由 Theodore Ts'o 提交于
Today, when sb_bread() returns NULL, this can either be because of an I/O error or because the system failed to allocate the buffer. Since it's an old interface, changing would require changing many call sites. So instead we create our own ext4_sb_bread(), which also allows us to set the REQ_META flag. Also fixed a problem in the xattr code where a NULL return in a function could also mean that the xattr was not found, which could lead to the wrong error getting returned to userspace. Fixes: ac27a0ec ("ext4: initial copy of files from ext3") Cc: stable@kernel.org # 2.6.19 Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
- 10 11月, 2018 1 次提交
-
-
由 Vasily Averin 提交于
According to Ted Ts'o ext4_getblk() called in ext4_xattr_inode_write() should not return bh = NULL The only time that bh could be NULL, then, would be in the case of something really going wrong; a programming error elsewhere (perhaps a wild pointer dereference) or I/O error causing on-disk file system corruption (although that would be highly unlikely given that we had *just* allocated the blocks and so the metadata blocks in question probably would still be in the cache). Fixes: e50e5129 ("ext4: xattr-in-inode support") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.13
-
- 08 11月, 2018 5 次提交
-
-
由 Vasily Averin 提交于
Fixes: dc6982ff ("ext4: refactor code to read directory blocks ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.9
-
由 Vasily Averin 提交于
Fixes: de05ca85 ("ext4: move call to ext4_error() into ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.17
-
由 Vasily Averin 提交于
Fixes: 3f2571c1 ("ext4: factor out xattr moving") Fixes: 6dd4ee7c ("ext4: Expand extra_inodes space per ...") Reviewed-by: NJan Kara <jack@suse.cz> Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 2.6.23
-
由 Vasily Averin 提交于
bs.bh was taken in previous ext4_xattr_block_find() call, it should be released before re-using Fixes: 7e01c8e5 ("ext3/4: fix uninitialized bs in ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 2.6.26
-
由 Vasily Averin 提交于
Fixes: dec214d0 ("ext4: xattr inode deduplication") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.13
-
- 07 11月, 2018 8 次提交
-
-
由 Vasily Averin 提交于
Fixes: c8585c6f ("ext4: fix races between changing inode journal ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.7
-
由 Theodore Ts'o 提交于
Fixes: bfe0a5f4 ("ext4: add more mount time checks of the superblock") Reported-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.18
-
由 Vasily Averin 提交于
Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Theodore Ts'o 提交于
Fixes: b4097142 ("ext4: add error checking to calls to ...") Reported-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 2.6.38
-
由 Vasily Averin 提交于
Fixes: d745a8c2 ("ext4: reduce contention on s_orphan_lock") Fixes: 6e3617e5 ("ext4: Handle non empty on-disk orphan link") Cc: Dmitry Monakhov <dmonakhov@gmail.com> Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 2.6.34
-
由 Vasily Averin 提交于
ext4_mark_iloc_dirty() callers expect that it releases iloc->bh even if it returns an error. Fixes: 0db1ff22 ("ext4: add shutdown bit and check for it") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 4.11
-
由 Vasily Averin 提交于
Fixes: 1c6bd717 ("ext4: convert file system to meta_bg if needed ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.7
-
由 Vasily Averin 提交于
Fixes: 117fff10 ("ext4: grow the s_flex_groups array as needed ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.7
-
- 04 11月, 2018 4 次提交
-
-
由 Vasily Averin 提交于
Fixes: ac27a0ec ("ext4: initial copy of files from ext3") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 2.6.19
-
由 Vasily Averin 提交于
Fixes: 01f795f9 ("ext4: add online resizing support for meta_bg ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.7
-
由 Vasily Averin 提交于
Fixes: 33afdcc5 ("ext4: add a function which sets up group blocks ...") Cc: stable@kernel.org # 3.3 Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Vasily Averin 提交于
Currently bh is set to NULL only during first iteration of for cycle, then this pointer is not cleared after end of using. Therefore rollback after errors can lead to extra brelse(bh) call, decrements bh counter and later trigger an unexpected warning in __brelse() Patch moves brelse() calls in body of cycle to exclude requirement of brelse() call in rollback. Fixes: 33afdcc5 ("ext4: add a function which sets up group blocks ...") Signed-off-by: NVasily Averin <vvs@virtuozzo.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.3+
-
- 02 11月, 2018 1 次提交
-
-
由 Dennis Zhou 提交于
This reverts a series committed earlier due to null pointer exception bug report in [1]. It seems there are edge case interactions that I did not consider and will need some time to understand what causes the adverse interactions. The original series can be found in [2] with a follow up series in [3]. [1] https://www.spinics.net/lists/cgroups/msg20719.html [2] https://lore.kernel.org/lkml/20180911184137.35897-1-dennisszhou@gmail.com/ [3] https://lore.kernel.org/lkml/20181020185612.51587-1-dennis@kernel.org/ This reverts the following commits: d459d853, b2c3fa54, 101246ec, b3b9f24f, e2b09899, f0fcb3ec, c839e7a0, bdc24917, 74b7c02a, 5bf9a1f3, a7b39b4e, 07b05bcc, 49f4c2dc, 27e6fa99Signed-off-by: NDennis Zhou <dennis@kernel.org> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 21 10月, 2018 1 次提交
-
-
由 Matthew Wilcox 提交于
Removes sparse warnings. Signed-off-by: NMatthew Wilcox <willy@infradead.org>
-
- 12 10月, 2018 1 次提交
-
-
由 Theodore Ts'o 提交于
It's possible for ext4_show_quota_options() to try reading s_qf_names[i] while it is being modified by ext4_remount() --- most notably, in ext4_remount's error path when the original values of the quota file name gets restored. Reported-by: syzbot+a2872d6feea6918008a9@syzkaller.appspotmail.com Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.2+
-
- 11 10月, 2018 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 07 10月, 2018 1 次提交
-
-
由 Chengguang Xu 提交于
default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. However, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED. This patch changes the code to cache NULL for acl / default_acl in this case to save unnecessary ACL lookup attempt. Signed-off-by: NChengguang Xu <cgxu519@gmx.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Reviewed-by: NJan Kara <jack@suse.cz>
-
- 04 10月, 2018 1 次提交
-
-
由 Wang Shilong 提交于
We return most failure of dquota_initialize() except inode evict, this could make a bit sense, for example we allow file removal even quota files are broken? But it dosen't make sense to allow setting project if quota files etc are broken. Signed-off-by: NWang Shilong <wshilong@ddn.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org
-
- 03 10月, 2018 5 次提交
-
-
由 Wang Shilong 提交于
Currently, project quota could be changed by fssetxattr ioctl, and existed permission check inode_owner_or_capable() is obviously not enough, just think that common users could change project id of file, that could make users to break project quota easily. This patch try to follow same regular of xfs project quota: "Project Quota ID state is only allowed to change from within the init namespace. Enforce that restriction only if we are trying to change the quota ID state. Everything else is allowed in user namespaces." Besides that, check and set project id'state should be an atomic operation, protect whole operation with inode lock, ext4_ioctl_setproject() is only used for ioctl EXT4_IOC_FSSETXATTR, we have held mnt_want_write_file() before ext4_ioctl_setflags(), and ext4_ioctl_setproject() is called after ext4_ioctl_setflags(), we could share codes, so remove it inside ext4_ioctl_setproject(). Signed-off-by: NWang Shilong <wshilong@ddn.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Reviewed-by: NAndreas Dilger <adilger@dilger.ca> Cc: stable@kernel.org
-
由 Souptick Joarder 提交于
Return type of ext4_page_mkwrite and ext4_filemap_fault are changed to use vm_fault_t type. With this patch all the callers of block_page_mkwrite_return() are changed to handle vm_fault_t. So converting the return type of block_page_mkwrite_return() to vm_fault_t. Signed-off-by: NSouptick Joarder <jrdr.linux@gmail.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Reviewed-by: NMatthew Wilcox <willy@infradead.org>
-
由 Lukas Czerner 提交于
Variable retries is not initialized in ext4_da_write_inline_data_begin() which can lead to nondeterministic number of retries in case we hit ENOSPC. Initialize retries to zero as we do everywhere else. Signed-off-by: NLukas Czerner <lczerner@redhat.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Fixes: bc0ca9df ("ext4: retry allocation when inline->extent conversion failed") Cc: stable@kernel.org
-
由 Theodore Ts'o 提交于
The code EXT4_IOC_SWAP_BOOT ioctl hasn't been updated in a while, and it's a bit broken with respect to more modern ext4 kernels, especially metadata checksums. Other problems fixed with this commit: * Don't allow installing a DAX, swap file, or an encrypted file as a boot loader. * Respect the immutable and append-only flags. * Wait until any DIO operations are finished *before* calling truncate_inode_pages(). * Don't swap inode->i_flags, since these flags have nothing to do with the inode blocks --- and it will give the IMA/audit code heartburn when the inode is evicted. Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org Reported-by: syzbot+e81ccd4744c6c4f71354@syzkaller.appspotmail.com
-
由 Gabriel Krisman Bertazi 提交于
Enabling DX_DEBUG triggers the build error below. info is an attribute of the dxroot structure. linux/fs/ext4/namei.c:2264:12: error: ‘info’ undeclared (first use in this function); did you mean ‘insl’? info->indirect_levels)); Fixes: e08ac99f ("ext4: add largedir feature") Signed-off-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk> Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Reviewed-by: NLukas Czerner <lczerner@redhat.com>
-
- 02 10月, 2018 3 次提交
-
-
由 Theodore Ts'o 提交于
If the starting block number of either the source or destination file exceeds the EOF, EXT4_IOC_MOVE_EXT should return EINVAL. Also fixed the helper function mext_check_coverage() so that if the logical block is beyond EOF, make it return immediately, instead of looping until the block number wraps all the away around. This takes long enough that if there are multiple threads trying to do pound on an the same inode doing non-sensical things, it can end up triggering the kernel's soft lockup detector. Reported-by: syzbot+c61979f6f2cba5cb3c06@syzkaller.appspotmail.com Signed-off-by: NTheodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org
-
由 Eric Whitney 提交于
Add new code to count canceled pending cluster reservations on bigalloc file systems and to reduce the cluster reservation count on all file systems using delayed allocation. This replaces old code in ext4_da_page_release_reservations that was incorrect. Signed-off-by: NEric Whitney <enwlinux@gmail.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-
由 Eric Whitney 提交于
Modify ext4_ext_remove_space() and the code it calls to correct the reserved cluster count for pending reservations (delayed allocated clusters shared with allocated blocks) when a block range is removed from the extent tree. Pending reservations may be found for the clusters at the ends of written or unwritten extents when a block range is removed. If a physical cluster at the end of an extent is freed, it's necessary to increment the reserved cluster count to maintain correct accounting if the corresponding logical cluster is shared with at least one delayed and unwritten extent as found in the extents status tree. Add a new function, ext4_rereserve_cluster(), to reapply a reservation on a delayed allocated cluster sharing blocks with a freed allocated cluster. To avoid ENOSPC on reservation, a flag is applied to ext4_free_blocks() to briefly defer updating the freeclusters counter when an allocated cluster is freed. This prevents another thread from allocating the freed block before the reservation can be reapplied. Redefine the partial cluster object as a struct to carry more state information and to clarify the code using it. Adjust the conditional code structure in ext4_ext_remove_space to reduce the indentation level in the main body of the code to improve readability. Signed-off-by: NEric Whitney <enwlinux@gmail.com> Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
-