17 Aug, 2022

1 commit

  • [ Upstream commit fa78f336937240d1bc598db817d638086060e7e9 ]

    Add checks verifying number of inodes stored in the superblock matches
    the number computed from number of inodes per group. Also verify we have
    at least one block worth of inodes per group. This prevents crashes on
    corrupted filesystems.

    Reported-by: syzbot+d273f7d7f58afd93be48@syzkaller.appspotmail.com
    Signed-off-by: Jan Kara
    Signed-off-by: Sasha Levin

    Jan Kara
     

08 Apr, 2022

1 commit

  • [ Upstream commit 50b3a818991074177a56c87124c7a7bdf5fa4f67 ]

    We need to calculate the max file size accurately if the total blocks
    that can address by block tree exceed the upper_limit. But this check is
    not correct now, it only compute the total data blocks but missing
    metadata blocks are needed. So in the case of "data blocks < upper_limit
    && total blocks > upper_limit", we will get wrong result. Fortunately,
    this case could not happen in reality, but it's confused and better to
    correct the computing.

    bits data blocks metadatablocks upper_limit
    10 16843020 66051 2147483647
    11 134480396 263171 1073741823
    12 1074791436 1050627 536870911 (*)
    13 8594130956 4198403 268435455 (*)
    14 68736258060 16785411 134217727 (*)
    15 549822930956 67125251 67108863 (*)
    16 4398314962956 268468227 33554431 (*)

    [*] Need to calculate in depth.

    Fixes: 1c2d14212b15 ("ext2: Fix underflow in ext2_max_size()")
    Link: https://lore.kernel.org/r/20220212050532.179055-1-yi.zhang@huawei.com
    Signed-off-by: Zhang Yi
    Signed-off-by: Jan Kara
    Signed-off-by: Sasha Levin

    Zhang Yi
     

22 Sep, 2021

1 commit

  • The ext2_error() function syncs the filesystem so it sleeps. The caller
    is holding a spinlock so it's not allowed to sleep.

    ext2_statfs() ext2_count_free_blocks()
    -> ext2_get_group_desc()

    Fix this by using WARN() to print an error message and a stack trace
    instead of using ext2_error().

    Link: https://lore.kernel.org/r/20210921203233.GA16529@kili
    Signed-off-by: Dan Carpenter
    Signed-off-by: Jan Kara

    Dan Carpenter
     

10 Sep, 2021

1 commit

  • Pull libnvdimm updates from Dan Williams:

    - Fix a race condition in the teardown path of raw mode pmem
    namespaces.

    - Cleanup the code that filesystems use to detect filesystem-dax
    capabilities of their underlying block device.

    * tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    dax: remove bdev_dax_supported
    xfs: factor out a xfs_buftarg_is_dax helper
    dax: stub out dax_supported for !CONFIG_FS_DAX
    dax: remove __generic_fsdax_supported
    dax: move the dax_read_lock() locking into dax_supported
    dax: mark dax_get_by_host static
    dm: use fs_dax_get_by_bdev instead of dax_get_by_host
    dax: stop using bdevname
    fsdax: improve the FS_DAX Kconfig description and help text
    libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind

    Linus Torvalds
     

03 Sep, 2021

1 commit

  • Pull overlayfs update from Miklos Szeredi:

    - Copy up immutable/append/sync/noatime attributes (Amir Goldstein)

    - Improve performance by enabling RCU lookup.

    - Misc fixes and improvements

    The reason this touches so many files is that the ->get_acl() method now
    gets a "bool rcu" argument. The ->get_acl() API was updated based on
    comments from Al and Linus:

    Link: https://lore.kernel.org/linux-fsdevel/CAJfpeguQxpd6Wgc0Jd3ks77zcsAv_bn0q17L3VNnnmPKu11t8A@mail.gmail.com/

    * tag 'ovl-update-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: enable RCU'd ->get_acl()
    vfs: add rcu argument to ->get_acl() callback
    ovl: fix BUG_ON() in may_delete() when called from ovl_cleanup()
    ovl: use kvalloc in xattr copy-up
    ovl: update ctime when changing fileattr
    ovl: skip checking lower file's i_writecount on truncate
    ovl: relax lookup error on mismatch origin ftype
    ovl: do not set overlay.opaque for new directories
    ovl: add ovl_allow_offline_changes() helper
    ovl: disable decoding null uuid with redirect_dir
    ovl: consistent behavior for immutable/append-only inodes
    ovl: copy up sync/noatime fileattr flags
    ovl: pass ovl_fs to ovl_check_setxattr()
    fs: add generic helper for filling statx attribute flags

    Linus Torvalds
     

31 Aug, 2021

2 commits

  • Pull fs hole punching vs cache filling race fixes from Jan Kara:
    "Fix races leading to possible data corruption or stale data exposure
    in multiple filesystems when hole punching races with operations such
    as readahead.

    This is the series I was sending for the last merge window but with
    your objection fixed - now filemap_fault() has been modified to take
    invalidate_lock only when we need to create new page in the page cache
    and / or bring it uptodate"

    * tag 'hole_punch_for_v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    filesystems/locking: fix Malformed table warning
    cifs: Fix race between hole punch and page fault
    ceph: Fix race between hole punch and page fault
    fuse: Convert to using invalidate_lock
    f2fs: Convert to using invalidate_lock
    zonefs: Convert to using invalidate_lock
    xfs: Convert double locking of MMAPLOCK to use VFS helpers
    xfs: Convert to use invalidate_lock
    xfs: Refactor xfs_isilocked()
    ext2: Convert to using invalidate_lock
    ext4: Convert to use mapping->invalidate_lock
    mm: Add functions to lock invalidate_lock for two mappings
    mm: Protect operations adding pages to page cache with invalidate_lock
    documentation: Sync file_operations members with reality
    mm: Fix comments mentioning i_mutex

    Linus Torvalds
     
  • Pull FIEMAP cleanups from Jan Kara:
    "FIEMAP cleanups from Christoph transitioning all remaining filesystems
    supporting FIEMAP (ext2, hpfs) to iomap API and removing the old
    helper"

    * tag 'fiemap_for_v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    fs: remove generic_block_fiemap
    hpfs: use iomap_fiemap to implement ->fiemap
    ext2: use iomap_fiemap to implement ->fiemap
    ext2: make ext2_iomap_ops available unconditionally

    Linus Torvalds
     

27 Aug, 2021

1 commit

  • All callers already have a dax_device obtained from fs_dax_get_by_bdev
    at hand, so just pass that to dax_supported() insted of doing another
    lookup.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Dan Williams
    Link: https://lore.kernel.org/r/20210826135510.6293-10-hch@lst.de
    Signed-off-by: Dan Williams

    Christoph Hellwig
     

19 Aug, 2021

1 commit


27 Jul, 2021

2 commits

  • Switch from generic_block_fiemap to use the iomap version. The only
    interesting part is that ext2_get_blocks gets confused when being
    asked for overly long ranges, so copy over the limit to the inode
    size from generic_block_fiemap into ext2_fiemap.

    Link: https://lore.kernel.org/r/20210720133341.405438-3-hch@lst.de
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jan Kara

    Christoph Hellwig
     
  • ext2_iomap_ops will be used for the FIEMAP support going forward,
    so make it available unconditionally.

    Link: https://lore.kernel.org/r/20210720133341.405438-2-hch@lst.de
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jan Kara

    Christoph Hellwig
     

16 Jul, 2021

1 commit

  • Commit 782b76d7abdf02b12c46ed6f1e9bf715569027f7 ("fs/ext2: Replace
    kmap() with kmap_local_page()") replaced the kmap/kunmap calls in
    ext2_get_page/ext2_put_page with kmap_local_page/kunmap_local for
    efficiency reasons. As a necessary side change, the commit also
    made ext2_get_page (and ext2_find_entry and ext2_dotdot) return
    the mapping address along with the page itself, as it is required
    for kunmap_local, and converted uses of page_address on such pages
    to use the newly returned address instead. However, uses of
    page_address on such pages were missed in ext2_check_page and
    ext2_delete_entry, which triggers oopses if kmap_local_page happens
    to return an address from high memory. Fix this now by converting
    the remaining uses of page_address to use the right address, as
    returned by kmap_local_page.

    Link: https://lore.kernel.org/r/20210714185448.8707ac239e9f12b3a7f5b9f9@urjc.es
    Reviewed-by: Ira Weiny
    Signed-off-by: Javier Pello
    Fixes: 782b76d7abdf ("fs/ext2: Replace kmap() with kmap_local_page()")
    Signed-off-by: Jan Kara

    Javier Pello
     

13 Jul, 2021

1 commit


30 Jun, 2021

2 commits

  • Use __set_page_dirty_no_writeback() instead. This will set the dirty bit
    on the page, which will be used to avoid calling set_page_dirty() in the
    future. It will have no effect on actually writing the page back, as the
    pages are not on any LRU lists.

    [akpm@linux-foundation.org: export __set_page_dirty_no_writeback() to modules]

    Link: https://lkml.kernel.org/r/20210615162342.1669332-6-willy@infradead.org
    Signed-off-by: Matthew Wilcox (Oracle)
    Cc: Al Viro
    Cc: Christoph Hellwig
    Cc: Dan Williams
    Cc: Greg Kroah-Hartman
    Cc: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox (Oracle)
     
  • Remove the CONFIG_BLOCK default to __set_page_dirty_buffers and just wire
    that method up for the missing instances.

    [hch@lst.de: ecryptfs: add a ->set_page_dirty cludge]
    Link: https://lkml.kernel.org/r/20210624125250.536369-1-hch@lst.de

    Link: https://lkml.kernel.org/r/20210614061512.3966143-4-hch@lst.de
    Signed-off-by: Christoph Hellwig
    Reviewed-by: Greg Kroah-Hartman
    Reviewed-by: Jan Kara
    Cc: Al Viro
    Cc: Matthew Wilcox (Oracle)
    Cc: Tyler Hicks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

03 May, 2021

1 commit

  • Pull misc vfs updates from Al Viro:
    "Assorted stuff all over the place"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    useful constants: struct qstr for ".."
    hostfs_open(): don't open-code file_dentry()
    whack-a-mole: kill strlen_user() (again)
    autofs: should_expire() argument is guaranteed to be positive
    apparmor:match_mn() - constify devpath argument
    buffer: a small optimization in grow_buffers
    get rid of autofs_getpath()
    constify dentry argument of dentry_path()/dentry_path_raw()

    Linus Torvalds
     

30 Apr, 2021

2 commits

  • Pull fsnotify updates from Jan Kara:

    - support for limited fanotify functionality for unpriviledged users

    - faster merging of fanotify events

    - a few smaller fsnotify improvements

    * tag 'fsnotify_for_v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    shmem: allow reporting fanotify events with file handles on tmpfs
    fs: introduce a wrapper uuid_to_fsid()
    fanotify_user: use upper_32_bits() to verify mask
    fanotify: support limited functionality for unprivileged users
    fanotify: configurable limits via sysfs
    fanotify: limit number of event merge attempts
    fsnotify: use hash table for faster events merge
    fanotify: mix event info and pid into merge key hash
    fanotify: reduce event objectid to 29-bit hash
    fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue

    Linus Torvalds
     
  • Pull quota, ext2, reiserfs updates from Jan Kara:

    - support for path (instead of device) based quotactl syscall
    (quotactl_path(2))

    - ext2 conversion to kmap_local()

    - other minor cleanups & fixes

    * tag 'for_v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    fs/reiserfs/journal.c: delete useless variables
    fs/ext2: Replace kmap() with kmap_local_page()
    ext2: Match up ext2_put_page() with ext2_dotdot() and ext2_find_entry()
    fs/ext2/: fix misspellings using codespell tool
    quota: report warning limits for realtime space quotas
    quota: wire up quotactl_path
    quota: Add mountpath based quota support

    Linus Torvalds
     

19 Apr, 2021

1 commit

  • Some filesystem's use a digest of their uuid for f_fsid.
    Create a simple wrapper for this open coded folding.

    Filesystems that have a non null uuid but use the block device
    number for f_fsid may also consider using this helper.

    [JK: Added missing asm/byteorder.h include]
    Link: https://lore.kernel.org/r/20210322173944.449469-2-amir73il@gmail.com
    Acked-by: Damien Le Moal
    Reviewed-by: Christian Brauner
    Signed-off-by: Amir Goldstein
    Signed-off-by: Jan Kara

    Amir Goldstein
     

16 Apr, 2021

1 commit


12 Apr, 2021

1 commit


31 Mar, 2021

2 commits

  • The k[un]map() calls in ext2_[get|put]_page() are localized to a single
    thread. kmap_local_page() is more efficient.

    Replace the kmap/kunmap calls with kmap_local_page()/kunmap_local().
    kunmap_local() requires the mapping address so return that address from
    ext2_get_page() to be used in ext2_put_page(). This works well because
    many of the callers need the address anyway so it is not bad to return
    it along with the page.

    In addition, kmap_local_page()/kunmap_local() require strict nesting
    rules to be followed.

    Document the new nesting requirements of ext2_get_page() and
    ext2_put_page() as well as the relationship between ext2_get_page(),
    ext2_find_entry(), and ext2_dotdot().

    Adjust one ext2_put_page() call site in ext2_rename() to ensure the new
    nesting requirements are met.

    Finally, adjust code style for checkpatch.

    To: Jan Kara
    Link: https://lore.kernel.org/r/20210329065402.3297092-3-ira.weiny@intel.com
    Signed-off-by: Ira Weiny
    Signed-off-by: Jan Kara

    Ira Weiny
     
  • ext2_dotdot() and ext2_find_entry() both require ext2_put_page() to be
    called after successful return. For some of the calls this
    corresponding put was hidden in ext2_set_link and ext2_delete_entry().

    Match up ext2_put_page() with ext2_dotdot() and ext2_find_entry() in the
    functions which call them. This makes the code easier to follow
    regarding the get/put of the page.

    Clean up comments to match new behavior.

    To: Jan Kara
    Link: https://lore.kernel.org/r/20210329065402.3297092-2-ira.weiny@intel.com
    Signed-off-by: Ira Weiny
    Signed-off-by: Jan Kara

    Ira Weiny
     

19 Mar, 2021

1 commit

  • A typo is found out by codespell tool in 1107th lines of super.c:

    $ codespell ./fs/ext2/
    ./super.c:1107: fileystem ==> filesystem

    Fix a typo found by codespell.

    Link: https://lore.kernel.org/r/20210319003131.484738-1-liu.xuzhi@zte.com.cn
    Signed-off-by: Liu xuzhi
    Signed-off-by: Jan Kara

    Liu xuzhi
     

24 Jan, 2021

5 commits

  • Extend some inode methods with an additional user namespace argument. A
    filesystem that is aware of idmapped mounts will receive the user
    namespace the mount has been marked with. This can be used for
    additional permission checking and also to enable filesystems to
    translate between uids and gids if they need to. We have implemented all
    relevant helpers in earlier patches.

    As requested we simply extend the exisiting inode method instead of
    introducing new ones. This is a little more code churn but it's mostly
    mechanical and doesnt't leave us with additional inode methods.

    Link: https://lore.kernel.org/r/20210121131959.646623-25-christian.brauner@ubuntu.com
    Cc: Christoph Hellwig
    Cc: David Howells
    Cc: Al Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Christian Brauner

    Christian Brauner
     
  • The generic_fillattr() helper fills in the basic attributes associated
    with an inode. Enable it to handle idmapped mounts. If the inode is
    accessed through an idmapped mount map it into the mount's user
    namespace before we store the uid and gid. If the initial user namespace
    is passed nothing changes so non-idmapped mounts will see identical
    behavior as before.

    Link: https://lore.kernel.org/r/20210121131959.646623-12-christian.brauner@ubuntu.com
    Cc: Christoph Hellwig
    Cc: David Howells
    Cc: Al Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Reviewed-by: James Morris
    Signed-off-by: Christian Brauner

    Christian Brauner
     
  • The posix acl permission checking helpers determine whether a caller is
    privileged over an inode according to the acls associated with the
    inode. Add helpers that make it possible to handle acls on idmapped
    mounts.

    The vfs and the filesystems targeted by this first iteration make use of
    posix_acl_fix_xattr_from_user() and posix_acl_fix_xattr_to_user() to
    translate basic posix access and default permissions such as the
    ACL_USER and ACL_GROUP type according to the initial user namespace (or
    the superblock's user namespace) to and from the caller's current user
    namespace. Adapt these two helpers to handle idmapped mounts whereby we
    either map from or into the mount's user namespace depending on in which
    direction we're translating.
    Similarly, cap_convert_nscap() is used by the vfs to translate user
    namespace and non-user namespace aware filesystem capabilities from the
    superblock's user namespace to the caller's user namespace. Enable it to
    handle idmapped mounts by accounting for the mount's user namespace.

    In addition the fileystems targeted in the first iteration of this patch
    series make use of the posix_acl_chmod() and, posix_acl_update_mode()
    helpers. Both helpers perform permission checks on the target inode. Let
    them handle idmapped mounts. These two helpers are called when posix
    acls are set by the respective filesystems to handle this case we extend
    the ->set() method to take an additional user namespace argument to pass
    the mount's user namespace down.

    Link: https://lore.kernel.org/r/20210121131959.646623-9-christian.brauner@ubuntu.com
    Cc: Christoph Hellwig
    Cc: David Howells
    Cc: Al Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Christian Brauner

    Christian Brauner
     
  • When file attributes are changed most filesystems rely on the
    setattr_prepare(), setattr_copy(), and notify_change() helpers for
    initialization and permission checking. Let them handle idmapped mounts.
    If the inode is accessed through an idmapped mount map it into the
    mount's user namespace. Afterwards the checks are identical to
    non-idmapped mounts. If the initial user namespace is passed nothing
    changes so non-idmapped mounts will see identical behavior as before.

    Helpers that perform checks on the ia_uid and ia_gid fields in struct
    iattr assume that ia_uid and ia_gid are intended values and have already
    been mapped correctly at the userspace-kernelspace boundary as we
    already do today. If the initial user namespace is passed nothing
    changes so non-idmapped mounts will see identical behavior as before.

    Link: https://lore.kernel.org/r/20210121131959.646623-8-christian.brauner@ubuntu.com
    Cc: Christoph Hellwig
    Cc: David Howells
    Cc: Al Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Christian Brauner

    Christian Brauner
     
  • The inode_owner_or_capable() helper determines whether the caller is the
    owner of the inode or is capable with respect to that inode. Allow it to
    handle idmapped mounts. If the inode is accessed through an idmapped
    mount it according to the mount's user namespace. Afterwards the checks
    are identical to non-idmapped mounts. If the initial user namespace is
    passed nothing changes so non-idmapped mounts will see identical
    behavior as before.

    Similarly, allow the inode_init_owner() helper to handle idmapped
    mounts. It initializes a new inode on idmapped mounts by mapping the
    fsuid and fsgid of the caller from the mount's user namespace. If the
    initial user namespace is passed nothing changes so non-idmapped mounts
    will see identical behavior as before.

    Link: https://lore.kernel.org/r/20210121131959.646623-7-christian.brauner@ubuntu.com
    Cc: Christoph Hellwig
    Cc: David Howells
    Cc: Al Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Christoph Hellwig
    Reviewed-by: James Morris
    Signed-off-by: Christian Brauner

    Christian Brauner
     

23 Nov, 2020

1 commit

  • In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
    by explicitly adding a break statement instead of just letting the code
    fall through to the next case.

    Link: https://github.com/KSPP/linux/issues/115
    Link: https://lore.kernel.org/r/73d8ae2d06d639815672ee9ee4550ea4bfa08489.1605896059.git.gustavoars@kernel.org
    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Jan Kara

    Gustavo A. R. Silva
     

13 Nov, 2020

1 commit

  • There are 3 places in namei.c where the equivalent of ext2_put_page() is
    open coded on a page which was returned from the ext2_get_page() call
    [through the use of ext2_find_entry() and ext2_dotdot()].

    Move ext2_put_page() to ext2.h and use it in namei.c

    Also add a comment regarding the proper way to release the page returned
    from ext2_find_entry() and ext2_dotdot().

    Link: https://lore.kernel.org/r/20201112174244.701325-1-ira.weiny@intel.com
    Signed-off-by: Ira Weiny

    Signed-off-by: Jan Kara

    Ira Weiny
     

03 Nov, 2020

1 commit


25 Oct, 2020

1 commit

  • Pull misc vfs updates from Al Viro:
    "Assorted stuff all over the place (the largest group here is
    Christoph's stat cleanups)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: remove KSTAT_QUERY_FLAGS
    fs: remove vfs_stat_set_lookup_flags
    fs: move vfs_fstatat out of line
    fs: implement vfs_stat and vfs_lstat in terms of vfs_fstatat
    fs: remove vfs_statx_fd
    fs: omfs: use kmemdup() rather than kmalloc+memcpy
    [PATCH] reduce boilerplate in fsid handling
    fs: Remove duplicated flag O_NDELAY occurring twice in VALID_OPEN_FLAGS
    selftests: mount: add nosymfollow tests
    Add a "nosymfollow" mount option.

    Linus Torvalds
     

16 Oct, 2020

1 commit

  • Pull UDF, reiserfs, ext2, quota fixes from Jan Kara:

    - a couple of UDF fixes for issues found by syzbot fuzzing

    - a couple of reiserfs fixes for issues found by syzbot fuzzing

    - some minor ext2 cleanups

    - quota patches to support grace times beyond year 2038 for XFS quota
    APIs

    * tag 'fs_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    reiserfs: Fix oops during mount
    udf: Limit sparing table size
    udf: Remove pointless union in udf_inode_info
    udf: Avoid accessing uninitialized data on failed inode read
    quota: clear padding in v2r1_mem2diskdqb()
    reiserfs: Initialize inode keys properly
    udf: Fix memory leak when mounting
    udf: Remove redundant initialization of variable ret
    reiserfs: only call unlock_new_inode() if I_NEW
    ext2: Fix some kernel-doc warnings in balloc.c
    quota: Expand comment describing d_itimer
    quota: widen timestamps for the fs_disk_quota structure
    reiserfs: Fix memory leak in reiserfs_parse_options()
    udf: Use kvzalloc() in udf_sb_alloc_bitmap()
    ext2: remove duplicate include

    Linus Torvalds
     

19 Sep, 2020

1 commit


14 Sep, 2020

1 commit

  • Fixes the following W=1 kernel build warning(s):

    fs/ext2/balloc.c:203: warning: Excess function parameter 'rb_root' description in '__rsv_window_dump'
    fs/ext2/balloc.c:294: warning: Excess function parameter 'rb_root' description in 'search_reserve_window'
    fs/ext2/balloc.c:878: warning: Excess function parameter 'rsv' description in 'alloc_new_reservation'

    Link: https://lore.kernel.org/r/20200911114036.60616-1-wanghai38@huawei.com
    Reported-by: Hulk Robot
    Signed-off-by: Wang Hai
    Signed-off-by: Jan Kara

    Wang Hai
     

06 Sep, 2020

1 commit

  • When running in a dax mode, if the user maps a page with MAP_PRIVATE and
    PROT_WRITE, the ext2 filesystem would incorrectly update ctime and mtime
    when the user hits a COW fault.

    This breaks building of the Linux kernel. How to reproduce:

    1. extract the Linux kernel tree on dax-mounted ext2 filesystem
    2. run make clean
    3. run make -j12
    4. run make -j12

    at step 4, make would incorrectly rebuild the whole kernel (although it
    was already built in step 3).

    The reason for the breakage is that almost all object files depend on
    objtool. When we run objtool, it takes COW page fault on its .data
    section, and these faults will incorrectly update the timestamp of the
    objtool binary. The updated timestamp causes make to rebuild the whole
    tree.

    Signed-off-by: Mikulas Patocka
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Mikulas Patocka
     

28 Aug, 2020

1 commit

  • Remove linux/fiemap.h which is included more than once

    Link: https://lore.kernel.org/r/20200819025434.65763-1-wanghai38@huawei.com
    Reported-by: Hulk Robot
    Reviewed-by: Ritesh Harjani
    Signed-off-by: Wang Hai
    Signed-off-by: Jan Kara

    Wang Hai
     

24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

27 Jul, 2020

1 commit

  • Change the repeated word "the" in "it the the" to "it is the".
    Fix typo "recentl" to "recently".
    Fix verb "give" to "gives".

    Link: https://lore.kernel.org/r/20200720001327.23603-1-rdunlap@infradead.org
    Signed-off-by: Randy Dunlap
    Cc: Jan Kara
    Cc: linux-ext4@vger.kernel.org
    Signed-off-by: Jan Kara

    Randy Dunlap