09 Jun, 2019

2 commits

  • Pull ceph fixes from Ilya Dryomov:
    "A change to call iput() asynchronously to avoid a possible deadlock
    when iput_final() needs to wait for in-flight I/O (e.g. readahead) and
    a fixup for a cleanup that went into -rc1"

    * tag 'ceph-for-5.2-rc4' of git://github.com/ceph/ceph-client:
    ceph: fix error handling in ceph_get_caps()
    ceph: avoid iput_final() while holding mutex or in dispatch thread
    ceph: single workqueue for inode related works

    Linus Torvalds
     
  • Pull yet more SPDX updates from Greg KH:
    "Another round of SPDX header file fixes for 5.2-rc4

    These are all more "GPL-2.0-or-later" or "GPL-2.0-only" tags being
    added, based on the text in the files. We are slowly chipping away at
    the 700+ different ways people tried to write the license text. All of
    these were reviewed on the spdx mailing list by a number of different
    people.

    We now have over 60% of the kernel files covered with SPDX tags:
    $ ./scripts/spdxcheck.py -v 2>&1 | grep Files
    Files checked: 64533
    Files with SPDX: 40392
    Files with errors: 0

    I think the majority of the "easy" fixups are now done, it's now the
    start of the longer-tail of crazy variants to wade through"

    * tag 'spdx-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (159 commits)
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 450
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 449
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 448
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 445
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 444
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 443
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 442
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 438
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 436
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 435
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 434
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 433
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 432
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 431
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 430
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 429
    ...

    Linus Torvalds
     

07 Jun, 2019

6 commits

  • Pull xfs fixes from Darrick Wong:
    "Here are a couple more bug fixes for 5.2. Changes since last update:

    - Fix some forgotten strings in a log debugging function

    - Fix incorrect unit conversion in online fsck code"

    * tag 'xfs-5.2-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: inode btree scrubber should calculate im_boffset correctly
    xfs: fix broken log reservation debugging

    Linus Torvalds
     
  • Pull gfs2 fix from Andreas Gruenbacher:
    "A revert for a patch that turned out to be broken"

    * tag 'gfs2-v5.2.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
    Revert "gfs2: Replace gl_revokes with a GLF flag"

    Linus Torvalds
     
  • Pull overlayfs fixes from Miklos Szeredi:
    "Here's one fix for a class of bugs triggered by syzcaller, and one
    that makes xfstests fail less"

    * tag 'ovl-fixes-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: doc: add non-standard corner cases
    ovl: detect overlapping layers
    ovl: support the FS_IOC_FS[SG]ETXATTR ioctls

    Linus Torvalds
     
  • Pull fuse fixes from Miklos Szeredi:
    "This fixes a leaked inode lock in an error cleanup path and a data
    consistency issue with copy_file_range().

    It also adds a new flag for the WRITE request that allows userspace
    filesystems to clear suid/sgid bits on the file if necessary"

    * tag 'fuse-fixes-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: extract helper for range writeback
    fuse: fix copy_file_range() in the writeback case
    fuse: add FUSE_WRITE_KILL_PRIV
    fuse: fallocate: fix return with locked inode

    Linus Torvalds
     
  • Pull NFS client fixes from Anna Schumaker:
    "These are mostly stable bugfixes found during testing, many during the
    recent NFS bake-a-thon.

    Stable bugfixes:
    - SUNRPC: Fix regression in umount of a secure mount
    - SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential
    - NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter
    - NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled

    Other bugfixes:
    - xprtrdma: Use struct_size() in kzalloc()"

    * tag 'nfs-for-5.2-2' of git://git.linux-nfs.org/projects/anna/linux-nfs:
    NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled
    NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter
    SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential
    SUNRPC fix regression in umount of a secure mount
    xprtrdma: Use struct_size() in kzalloc()

    Linus Torvalds
     
  • Pull ADFS cleanups/fixes from Russell King:
    "As a result of some of Al Viro's great work, here are a few cleanups
    with fixes for adfs:

    - factor out filename comparison, so we can be sure that
    adfs_compare() (used for namei compare) and adfs_match() (used for
    lookup) have the same behaviour.

    - factor out filename lowering (which is not the same as tolower()
    which will lower top-bit-set characters) to ensure that we have the
    same behaviour when comparing filenames as when we hash them.

    - factor out the object fixups, so we are applying all fixups to
    directory objects in the same way, independent of the disk format.

    - factor out the object name fixup (into the previously factored out
    function) to ensure that filenames are appropriately translated -
    for example, adfs allows '/' in filenames, which being the Unix
    path separator, need to be translated to a different character,
    which is normally '.' (DOS 8.3 filenames represent the . as a / on
    adfs, so this is the expected reverse translation.)

    - remove filename truncation; Al asked about this and apparently the
    decision is to remove it. In any case, adfs's truncation was buggy,
    so this rids us of that bug by removing the truncation feature.

    - we now have only one location which adds the "filetype" suffix to
    the filename, so there's no point that code being out of line.

    - since we translate '/' into '.', an adfs filename of "/" or "//"
    would end up being translated to "." and ".." which have special
    meanings. In this case, change the first character to "^" to avoid
    these special directory names being abused"

    * tag 'for-rc-adfs' of git://git.armlinux.org.uk/~rmk/linux-arm:
    fs/adfs: fix filename fixup handling for "/" and "//" names
    fs/adfs: move append_filetype_suffix() into adfs_object_fixup()
    fs/adfs: remove truncated filename hashing
    fs/adfs: factor out filename fixup
    fs/adfs: factor out object fixups
    fs/adfs: factor out filename case lowering
    fs/adfs: factor out filename comparison

    Linus Torvalds
     

06 Jun, 2019

5 commits

  • Commit 73118ca8baf7 introduced a glock reference counting bug in
    gfs2_trans_remove_revoke. Given that, replacing gl_revokes with a GLF flag is
    no longer useful, so revert that commit.

    Signed-off-by: Bob Peterson
    Signed-off-by: Andreas Gruenbacher

    Bob Peterson
     
  • Pull pstore fixes from Kees Cook:

    - Avoid NULL deref when unloading/reloading ramoops module (Pi-Hsun
    Shih)

    - Run ramoops without crash dump region

    * tag 'pstore-v5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore/ram: Run without kernel crash dump region
    pstore: Set tfm to NULL on free_buf_for_compression

    Linus Torvalds
     
  • The function return 0 even when interrupted or try_get_cap_refs()
    return error.

    Fixes: 1199d7da2d ("ceph: simplify arguments and return semantics of try_get_cap_refs")
    Signed-off-by: "Yan, Zheng"
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yan, Zheng
     
  • iput_final() may wait for reahahead pages. The wait can cause deadlock.
    For example:

    Workqueue: ceph-msgr ceph_con_workfn [libceph]
    Call Trace:
    schedule+0x36/0x80
    io_schedule+0x16/0x40
    __lock_page+0x101/0x140
    truncate_inode_pages_range+0x556/0x9f0
    truncate_inode_pages_final+0x4d/0x60
    evict+0x182/0x1a0
    iput+0x1d2/0x220
    iterate_session_caps+0x82/0x230 [ceph]
    dispatch+0x678/0xa80 [ceph]
    ceph_con_workfn+0x95b/0x1560 [libceph]
    process_one_work+0x14d/0x410
    worker_thread+0x4b/0x460
    kthread+0x105/0x140
    ret_from_fork+0x22/0x40

    Workqueue: ceph-msgr ceph_con_workfn [libceph]
    Call Trace:
    __schedule+0x3d6/0x8b0
    schedule+0x36/0x80
    schedule_preempt_disabled+0xe/0x10
    mutex_lock+0x2f/0x40
    ceph_check_caps+0x505/0xa80 [ceph]
    ceph_put_wrbuffer_cap_refs+0x1e5/0x2c0 [ceph]
    writepages_finish+0x2d3/0x410 [ceph]
    __complete_request+0x26/0x60 [libceph]
    handle_reply+0x6c8/0xa10 [libceph]
    dispatch+0x29a/0xbb0 [libceph]
    ceph_con_workfn+0x95b/0x1560 [libceph]
    process_one_work+0x14d/0x410
    worker_thread+0x4b/0x460
    kthread+0x105/0x140
    ret_from_fork+0x22/0x40

    In above example, truncate_inode_pages_range() waits for readahead pages
    while holding s_mutex. ceph_check_caps() waits for s_mutex and blocks
    OSD dispatch thread. Later OSD replies (for readahead) can't be handled.

    ceph_check_caps() also may lock snap_rwsem for read. So similar deadlock
    can happen if iput_final() is called while holding snap_rwsem.

    In general, it's not good to call iput_final() inside MDS/OSD dispatch
    threads or while holding any mutex.

    The fix is introducing ceph_async_iput(), which calls iput_final() in
    workqueue.

    Signed-off-by: "Yan, Zheng"
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yan, Zheng
     
  • We have three workqueue for inode works. Later patch will introduce
    one more work for inode. It's not good to introcuce more workqueue
    and add more 'struct work_struct' to 'struct ceph_inode_info'.

    Signed-off-by: "Yan, Zheng"
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yan, Zheng
     

05 Jun, 2019

10 commits

  • Based on 1 normalized pattern(s):

    this file is released under the gplv2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 68 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Armijn Hemel
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531190114.292346262@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not write to the free
    software foundation inc 59 temple place suite 330 boston ma 021110
    1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 5 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Armijn Hemel
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531190112.221098808@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this copyrighted material is made available to anyone wishing to use
    modify copy or redistribute it subject to the terms and conditions
    of the gnu general public license version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 44 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531081038.653000175@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not write to the free
    software foundation inc 51 franklin st fifth floor boston ma 02110
    1301 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 246 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190530000436.674189849@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not write to the free
    software foundation inc 59 temple place suite 330 boston ma 02111
    1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 136 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190530000436.384967451@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license 2 as published
    by the free software foundation this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation this program is distributed in the hope
    that it [would] be useful but without any warranty without even the
    implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 9 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.804956444@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions of the gnu general public license
    version 2 as published by the free software foundation this program
    is distributed in the hope it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 263 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.208660670@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation version 2 this program is distributed
    in the hope that it will be useful but without any warranty without
    even the implied warranty of merchantability or fitness for a
    particular purpose see the gnu general public license for more
    details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 97 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.025053186@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this software is licensed under the terms of the gnu general public
    license version 2 as published by the free software foundation and
    may be copied distributed and modified under those terms this
    program is distributed in the hope that it will be useful but
    without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 285 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation version 2 of the license this program
    is distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not write to the free
    software foundation inc 59 temple place suite 330 boston ma 021110
    1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 2 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141334.789682544@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

04 Jun, 2019

1 commit


03 Jun, 2019

1 commit

  • Pull block fixes from Jens Axboe:

    - A set of patches fixing code comments / kerneldoc (Bart)

    - Don't allow loop file change for exclusive open (Jan)

    - Fix revalidate of hidden genhd (Jan)

    - Init queue failure memory free fix (Jes)

    - Improve rq limits failure print (John)

    - Fixup for queue removal/addition (Ming)

    - Missed error progagation for io_uring buffer registration (Pavel)

    * tag 'for-linus-20190601' of git://git.kernel.dk/linux-block:
    block: print offending values when cloned rq limits are exceeded
    blk-mq: Document the blk_mq_hw_queue_to_node() arguments
    blk-mq: Fix spelling in a source code comment
    block: Fix bsg_setup_queue() kernel-doc header
    block: Fix rq_qos_wait() kernel-doc header
    block: Fix blk_mq_*_map_queues() kernel-doc headers
    block: Fix throtl_pending_timer_fn() kernel-doc header
    block: Convert blk_invalidate_devt() header into a non-kernel-doc header
    block/partitions/ldm: Convert a kernel-doc header into a non-kernel-doc header
    blk-mq: Fix memory leak in error handling
    block: don't protect generic_make_request_checks with blk_queue_enter
    block: move blk_exit_queue into __blk_release_queue
    block: Don't revalidate bdev of hidden gendisk
    loop: Don't change loop device under exclusive opener
    io_uring: Fix __io_uring_register() false success

    Linus Torvalds
     

02 Jun, 2019

2 commits

  • Merge misc fixes from Andrew Morton:
    "Various fixes and followups"

    * emailed patches from Andrew Morton :
    mm, compaction: make sure we isolate a valid PFN
    include/linux/generic-radix-tree.h: fix kerneldoc comment
    kernel/signal.c: trace_signal_deliver when signal_group_exit
    drivers/iommu/intel-iommu.c: fix variable 'iommu' set but not used
    spdxcheck.py: fix directory structures
    kasan: initialize tag to 0xff in __kasan_kmalloc
    z3fold: fix sheduling while atomic
    scripts/gdb: fix invocation when CONFIG_COMMON_CLK is not set
    mm/gup: continue VM_FAULT_RETRY processing even for pre-faults
    ocfs2: fix error path kobject memory leak
    memcg: make it work on sparse non-0-node systems
    mm, memcg: consider subtrees in memory.events
    prctl_set_mm: downgrade mmap_sem to read lock
    prctl_set_mm: refactor checks from validate_prctl_map
    kernel/fork.c: make max_threads symbol static
    arch/arm/boot/compressed/decompress.c: fix build error due to lz4 changes
    arch/parisc/configs/c8000_defconfig: remove obsoleted CONFIG_DEBUG_SLAB_LEAK
    mm/vmalloc.c: fix typo in comment
    lib/sort.c: fix kernel-doc notation warnings
    mm: fix Documentation/vm/hmm.rst Sphinx warnings

    Linus Torvalds
     
  • If a call to kobject_init_and_add() fails we should call kobject_put()
    otherwise we leak memory.

    Add call to kobject_put() in the error path of call to
    kobject_init_and_add(). Please note, this has the side effect that the
    release method is called if kobject_init_and_add() fails.

    Link: http://lkml.kernel.org/r/20190513033458.2824-1-tobin@kernel.org
    Signed-off-by: Tobin C. Harding
    Reviewed-by: Greg Kroah-Hartman
    Reviewed-by: Joseph Qi
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Junxiao Bi
    Cc: Changwei Ge
    Cc: Gang He
    Cc: Jun Piao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tobin C. Harding
     

01 Jun, 2019

2 commits

  • Pull nfsd fix from Bruce Fields:
    "This reverts a minor fix which could cause us to treat conflicting NLM
    locks as nonconflicting.

    We have proper fix queued up for 5.3. In the meantime, a quick revert
    seems best for 5.2 and stable"

    * tag 'nfsd-5.2-1' of git://linux-nfs.org/~bfields/linux:
    Revert "lockd: Show pid of lockd for remote locks"

    Linus Torvalds
     
  • Pull cifs fixes from Steve French:
    "Four small smb3 fixes, one for stable"

    * tag 'v5.2-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
    dfs_cache: fix a wrong use of kfree in flush_cache_ent()
    fs/cifs/smb2pdu.c: fix buffer free in SMB2_ioctl_free
    cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case

    Linus Torvalds
     

31 May, 2019

11 commits

  • Pull yet more SPDX updates from Greg KH:
    "Here is another set of reviewed patches that adds SPDX tags to
    different kernel files, based on a set of rules that are being used to
    parse the comments to try to determine that the license of the file is
    "GPL-2.0-or-later" or "GPL-2.0-only". Only the "obvious" versions of
    these matches are included here, a number of "non-obvious" variants of
    text have been found but those have been postponed for later review
    and analysis.

    There is also a patch in here to add the proper SPDX header to a bunch
    of Kbuild files that we have missed in the past due to new files being
    added and forgetting that Kbuild uses two different file names for
    Makefiles. This issue was reported by the Kbuild maintainer.

    These patches have been out for review on the linux-spdx@vger mailing
    list, and while they were created by automatic tools, they were
    hand-verified by a bunch of different people, all whom names are on
    the patches are reviewers"

    * tag 'spdx-5.2-rc3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (82 commits)
    treewide: Add SPDX license identifier - Kbuild
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 225
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 224
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 223
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 221
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 220
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 217
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 216
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 215
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 214
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 213
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 211
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 210
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 207
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 203
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
    ...

    Linus Torvalds
     
  • This reverts most of commit b8eee0e90f97 ("lockd: Show pid of lockd for
    remote locks"), which caused remote locks to not be differentiated between
    remote processes for NLM.

    We retain the fixup for setting the client's fl_pid to a negative value.

    Fixes: b8eee0e90f97 ("lockd: Show pid of lockd for remote locks")
    Cc: stable@vger.kernel.org

    Signed-off-by: Benjamin Coddington
    Reviewed-by: XueWei Zhang
    Signed-off-by: J. Bruce Fields

    Benjamin Coddington
     
  • Avoid translating "/" and "//" directory entry names to the special
    "." and ".." names by instead converting the first character to "^".

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • append_filetype_suffix() is now only used in adfs_object_fixup(), so
    move it there.

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • fs/adfs support for truncated filenames is broken, and there is a desire
    not to support this into the future. Let's remove the fs/adfs support
    for this.

    Viro says:

    "FWIW, the word from Linus had been basically "kill it off" on
    truncation."

    That being:

    "Make it so. Make the rule be that d_hash() can only change the hash
    itself, rather than the subtle special case for len that we had
    because of legacy reasons.."

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • Move the filename fixup to adfs_object_fixup() so we only have one
    implementation of this.

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • Factor out the directory object fixups, which parse the filetype and
    optionally apply the filetype suffix to the filename.

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • Factor out the filename case lowering of directory names when comparing
    or hashing filenames.

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • We have essentially the same code in adfs_compare() as adfs_match(), so
    arrange to use a common implementation.

    Acked-by: Al Viro
    Signed-off-by: Russell King

    Russell King
     
  • The ram pstore backend has always had the crash dumper frontend enabled
    unconditionally. However, it was possible to effectively disable it
    by setting a record_size=0. All the machinery would run (storing dumps
    to the temporary crash buffer), but 0 bytes would ultimately get stored
    due to there being no przs allocated for dumps. Commit 89d328f637b9
    ("pstore/ram: Correctly calculate usable PRZ bytes"), however, assumed
    that there would always be at least one allocated dprz for calculating
    the size of the temporary crash buffer. This was, of course, not the
    case when record_size=0, and would lead to a NULL deref trying to find
    the dprz buffer size:

    BUG: unable to handle kernel NULL pointer dereference at (null)
    ...
    IP: ramoops_probe+0x285/0x37e (fs/pstore/ram.c:808)

    cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size;

    Instead, we need to only enable the frontends based on the success of the
    prz initialization and only take the needed actions when those zones are
    available. (This also fixes a possible error in detecting if the ftrace
    frontend should be enabled.)

    Reported-and-tested-by: Yaro Slav
    Fixes: 89d328f637b9 ("pstore/ram: Correctly calculate usable PRZ bytes")
    Cc: stable@vger.kernel.org
    Signed-off-by: Kees Cook

    Kees Cook
     
  • Set tfm to NULL on free_buf_for_compression() after crypto_free_comp().

    This avoid a use-after-free when allocate_buf_for_compression()
    and free_buf_for_compression() are called twice. Although
    free_buf_for_compression() freed the tfm, allocate_buf_for_compression()
    won't reinitialize the tfm since the tfm pointer is not NULL.

    Fixes: 95047b0519c1 ("pstore: Refactor compression initialization")
    Signed-off-by: Pi-Hsun Shih
    Cc: stable@vger.kernel.org
    Signed-off-by: Kees Cook

    Pi-Hsun Shih