1. 16 Nov, 2018 1 commit
  2. 09 Nov, 2018 2 commits
    • Andreas Gruenbacher's avatar
      gfs2: Fix metadata read-ahead during truncate (2) · e7445ced
      Andreas Gruenbacher authored
      The previous attempt to fix for metadata read-ahead during truncate was
      incorrect: for files with a height > 2 (1006989312 bytes with a block
      size of 4096 bytes), read-ahead requests were not being issued for some
      of the indirect blocks discovered while walking the metadata tree,
      leading to significant slow-downs when deleting large files.  Fix that.
      
      In addition, only issue read-ahead requests in the first pass through
      the meta-data tree, while deallocating data blocks.
      
      Fixes: c3ce5aa9 ("gfs2: Fix metadata read-ahead during truncate")
      Cc: stable@vger.kernel.org # v4.16+
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      e7445ced
    • Andreas Gruenbacher's avatar
      gfs2: Put bitmap buffers in put_super · 10283ea5
      Andreas Gruenbacher authored
      gfs2_put_super calls gfs2_clear_rgrpd to destroy the gfs2_rgrpd objects
      attached to the resource group glocks.  That function should release the
      buffers attached to the gfs2_bitmap objects (bi_bh), but the call to
      gfs2_rgrp_brelse for doing that is missing.
      
      When gfs2_releasepage later runs across these buffers which are still
      referenced, it refuses to free them.  This causes the pages the buffers
      are attached to to remain referenced as well.  With enough mount/unmount
      cycles, the system will eventually run out of memory.
      
      Fix this by adding the missing call to gfs2_rgrp_brelse in
      gfs2_clear_rgrpd.
      
      (Also fix a gfs2_rgrp_relse -> gfs2_rgrp_brelse typo in a comment.)
      
      Fixes: 39b0f1e9 ("GFS2: Don't brelse rgrp buffer_heads every allocation")
      Cc: stable@vger.kernel.org # v4.2+
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      10283ea5
  3. 19 Oct, 2018 1 commit
  4. 15 Oct, 2018 1 commit
    • Bob Peterson's avatar
      gfs2: write revokes should traverse sd_ail1_list in reverse · c9e58fb2
      Bob Peterson authored
      All the other functions that deal with the sd_ail_list run the list
      from the tail back to the head, iow, in reverse. We should do the
      same while writing revokes, otherwise we might miss removing entries
      properly from the list when we hit the limit of how many revokes we
      can write at one time (based on block size, which determines how
      many block pointers will fit in the revoke block).
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      c9e58fb2
  5. 12 Oct, 2018 9 commits
  6. 09 Oct, 2018 2 commits
    • Steve Whitehouse's avatar
      gfs2: getlabel support · 6ddc5c3d
      Steve Whitehouse authored
      Add support for the GETFSLABEL ioctl in gfs2.
      I tested this patch and it works as expected.
      Signed-off-by: default avatarSteve Whitehouse <swhiteho@redhat.com>
      Tested-by: default avatarAbhi Das <adas@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      6ddc5c3d
    • Tim Smith's avatar
      GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads · 1eb8d738
      Tim Smith authored
      Flushing the workqueue can cause operations to happen which might
      call gfs2_log_reserve(), or get stuck waiting for locks taken by such
      operations.  gfs2_log_reserve() can io_schedule(). If this happens, it
      will never wake because the only thing which can wake it is gfs2_logd()
      which was already stopped.
      
      This causes umount of a gfs2 filesystem to wedge permanently if, for
      example, the umount immediately follows a large delete operation.
      
      When this occured, the following stack trace was obtained from the
      umount command
      
      [<ffffffff81087968>] flush_workqueue+0x1c8/0x520
      [<ffffffffa0666e29>] gfs2_make_fs_ro+0x69/0x160 [gfs2]
      [<ffffffffa0667279>] gfs2_put_super+0xa9/0x1c0 [gfs2]
      [<ffffffff811b7edf>] generic_shutdown_super+0x6f/0x100
      [<ffffffff811b7ff7>] kill_block_super+0x27/0x70
      [<ffffffffa0656a71>] gfs2_kill_sb+0x71/0x80 [gfs2]
      [<ffffffff811b792b>] deactivate_locked_super+0x3b/0x70
      [<ffffffff811b79b9>] deactivate_super+0x59/0x60
      [<ffffffff811d2998>] cleanup_mnt+0x58/0x80
      [<ffffffff811d2a12>] __cleanup_mnt+0x12/0x20
      [<ffffffff8108c87d>] task_work_run+0x7d/0xa0
      [<ffffffff8106d7d9>] exit_to_usermode_loop+0x73/0x98
      [<ffffffff81003961>] syscall_return_slowpath+0x41/0x50
      [<ffffffff815a594c>] int_ret_from_sys_call+0x25/0x8f
      [<ffffffffffffffff>] 0xffffffffffffffff
      Signed-off-by: default avatarTim Smith <tim.smith@citrix.com>
      Signed-off-by: default avatarMark Syms <mark.syms@citrix.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      1eb8d738
  7. 08 Oct, 2018 1 commit
  8. 05 Oct, 2018 2 commits
    • Bob Peterson's avatar
      gfs2: Use fs_* functions instead of pr_* function where we can · e54c78a2
      Bob Peterson authored
      Before this patch, various errors and messages were reported using
      the pr_* functions: pr_err, pr_warn, pr_info, etc., but that does
      not tell you which gfs2 mount had the problem, which is often vital
      to debugging. This patch changes the calls from pr_* to fs_* in
      most of the messages so that the file system id is printed along
      with the message.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      e54c78a2
    • Bob Peterson's avatar
      gfs2: slow the deluge of io error messages · b524abcc
      Bob Peterson authored
      When an io error is hit, it calls gfs2_io_error_bh_i for every
      journal buffer it can't write. Since we changed gfs2_io_error_bh_i
      recently to withdraw later in the cycle, it sends a flood of
      errors to the console. This patch checks for the file system already
      being withdrawn, and if so, doesn't send more messages. It doesn't
      stop the flood of messages, but it slows it down and keeps it more
      reasonable.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      b524abcc
  9. 28 Aug, 2018 2 commits
    • Bob Peterson's avatar
      gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated · 4f36cb36
      Bob Peterson authored
      The GFS2_RDF_UPTODATE flag in the rgrp is used to determine when
      a rgrp buffer is valid. It's cleared when the glock is invalidated,
      signifying that the buffer data is now invalid. But before this
      patch, function update_rgrp_lvb was setting the flag when it
      determined it had a valid lvb. But that's an invalid assumption:
      just because you have a valid lvb doesn't mean you have valid
      buffers. After all, another node may have made the lvb valid,
      and this node just fetched it from the glock via dlm.
      
      Consider this scenario:
      1. The file system is mounted with RGRPLVB option.
      2. In gfs2_inplace_reserve it locks the rgrp glock EX, but thanks
         to GL_SKIP, it skips the gfs2_rgrp_bh_get.
      3. Since loops == 0 and the allocation target (ap->target) is
         bigger than the largest known chunk of blocks in the rgrp
         (rs->rs_rbm.rgd->rd_extfail_pt) it skips that rgrp and bypasses
         the call to gfs2_rgrp_bh_get there as well.
      4. update_rgrp_lvb sees the lvb MAGIC number is valid, so bypasses
         gfs2_rgrp_bh_get, but it still sets sets GFS2_RDF_UPTODATE due
         to this invalid assumption.
      5. The next time update_rgrp_lvb is called, it sees the bit is set
         and just returns 0, assuming both the lvb and rgrp are both
         uptodate. But since this is a smaller allocation, or space has
         been freed by another node, thus adjusting the lvb values,
         it decides to use the rgrp for allocations, with invalid rd_free
         due to the fact it was never updated.
      
      This patch changes update_rgrp_lvb so it doesn't set the UPTODATE
      flag anymore. That way, it has no choice but to fetch the latest
      values.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      4f36cb36
    • Bob Peterson's avatar
      gfs2: improve debug information when lvb mismatches are found · 72244b6b
      Bob Peterson authored
      Before this patch, gfs2_rgrp_bh_get would check for lvb mismatches,
      but it wouldn't tell you what was actually wrong. This patch adds
      more information to help us debug it. It also makes rgrp consistency
      checks dump any bad rgrps, and the rgrp dump code dump any lvbs
      as well as the rgrp itself.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      72244b6b
  10. 27 Aug, 2018 2 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 050cdc6c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) ICE, E1000, IGB, IXGBE, and I40E bug fixes from the Intel folks.
      
       2) Better fix for AB-BA deadlock in packet scheduler code, from Cong
          Wang.
      
       3) bpf sockmap fixes (zero sized key handling, etc.) from Daniel
          Borkmann.
      
       4) Send zero IPID in TCP resets and SYN-RECV state ACKs, to prevent
          attackers using it as a side-channel. From Eric Dumazet.
      
       5) Memory leak in mediatek bluetooth driver, from Gustavo A. R. Silva.
      
       6) Hook up rt->dst.input of ipv6 anycast routes properly, from Hangbin
          Liu.
      
       7) hns and hns3 bug fixes from Huazhong Tan.
      
       8) Fix RIF leak in mlxsw driver, from Ido Schimmel.
      
       9) iova range check fix in vhost, from Jason Wang.
      
      10) Fix hang in do_tcp_sendpages() with tls, from John Fastabend.
      
      11) More r8152 chips need to disable RX aggregation, from Kai-Heng Feng.
      
      12) Memory exposure in TCA_U32_SEL handling, from Kees Cook.
      
      13) TCP BBR congestion control fixes from Kevin Yang.
      
      14) hv_netvsc, ignore non-PCI devices, from Stephen Hemminger.
      
      15) qed driver fixes from Tomer Tayar.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (77 commits)
        net: sched: Fix memory exposure from short TCA_U32_SEL
        qed: fix spelling mistake "comparsion" -> "comparison"
        vhost: correctly check the iova range when waking virtqueue
        qlge: Fix netdev features configuration.
        net: macb: do not disable MDIO bus at open/close time
        Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency"
        net: macb: Fix regression breaking non-MDIO fixed-link PHYs
        mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge
        i40e: fix condition of WARN_ONCE for stat strings
        i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled
        ixgbe: fix driver behaviour after issuing VFLR
        ixgbe: Prevent unsupported configurations with XDP
        ixgbe: Replace GFP_ATOMIC with GFP_KERNEL
        igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback()
        igb: Replace GFP_ATOMIC with GFP_KERNEL in igb_sw_init()
        igb: Use an advanced ctx descriptor for launchtime
        e1000: ensure to free old tx/rx rings in set_ringparam()
        e1000: check on netif_running() before calling e1000_up()
        ixgb: use dma_zalloc_coherent instead of allocator/memset
        ice: Trivial formatting fixes
        ...
      050cdc6c
    • Jens Axboe's avatar
      Fix up libata MAINTAINERS entry · 908946c4
      Jens Axboe authored
      The email was botched in one entry, and I also forgot to update the
      location of the git tree. It'll be under the linux-block umbrella, just
      with different branches.
      Reported-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Fixes: 7634ccd2 ("libata: maintainership update")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      908946c4
  11. 26 Aug, 2018 17 commits
    • Kees Cook's avatar
      net: sched: Fix memory exposure from short TCA_U32_SEL · 98c8f125
      Kees Cook authored
      Via u32_change(), TCA_U32_SEL has an unspecified type in the netlink
      policy, so max length isn't enforced, only minimum. This means nkeys
      (from userspace) was being trusted without checking the actual size of
      nla_len(), which could lead to a memory over-read, and ultimately an
      exposure via a call to u32_dump(). Reachability is CAP_NET_ADMIN within
      a namespace.
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: Cong Wang <xiyou.wangcong@gmail.com>
      Cc: Jiri Pirko <jiri@resnulli.us>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      98c8f125
    • Linus Torvalds's avatar
      Linux 4.19-rc1 · 5b394b2d
      Linus Torvalds authored
      5b394b2d
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b933d6eb
      Linus Torvalds authored
      Pull timer update from Thomas Gleixner:
       "New defines for the compat time* types so they can be shared between
        32bit and 64bit builds. Not used yet, but merging them now allows the
        actual conversions to be merged through different maintainer trees
        without dependencies
      
        We still have compat interfaces for 32bit on 64bit even with the new
        2038 safe timespec/val variants because pointer size is different. And
        for the old style timespec/val interfaces we need yet another 'compat'
        interface for both 32bit native and 32bit on 64bit"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        y2038: Provide aliases for compat helpers
      b933d6eb
    • Linus Torvalds's avatar
      Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax · aba16dc5
      Linus Torvalds authored
      Pull IDA updates from Matthew Wilcox:
       "A better IDA API:
      
            id = ida_alloc(ida, GFP_xxx);
            ida_free(ida, id);
      
        rather than the cumbersome ida_simple_get(), ida_simple_remove().
      
        The new IDA API is similar to ida_simple_get() but better named.  The
        internal restructuring of the IDA code removes the bitmap
        preallocation nonsense.
      
        I hope the net -200 lines of code is convincing"
      
      * 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax: (29 commits)
        ida: Change ida_get_new_above to return the id
        ida: Remove old API
        test_ida: check_ida_destroy and check_ida_alloc
        test_ida: Convert check_ida_conv to new API
        test_ida: Move ida_check_max
        test_ida: Move ida_check_leaf
        idr-test: Convert ida_check_nomem to new API
        ida: Start new test_ida module
        target/iscsi: Allocate session IDs from an IDA
        iscsi target: fix session creation failure handling
        drm/vmwgfx: Convert to new IDA API
        dmaengine: Convert to new IDA API
        ppc: Convert vas ID allocation to new IDA API
        media: Convert entity ID allocation to new IDA API
        ppc: Convert mmu context allocation to new IDA API
        Convert net_namespace to new IDA API
        cb710: Convert to new IDA API
        rsxx: Convert to new IDA API
        osd: Convert to new IDA API
        sd: Convert to new IDA API
        ...
      aba16dc5
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c4726e77
      Linus Torvalds authored
      Pull gcc plugin fix from Kees Cook:
       "Lift gcc test into Kconfig. This is for better behavior when the
        kernel is built with Clang, reported by Stefan Agner"
      
      * tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Disable when building under Clang
      c4726e77
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d207ea8e
      Linus Torvalds authored
      Pull perf updates from Thomas Gleixner:
       "Kernel:
         - Improve kallsyms coverage
         - Add x86 entry trampolines to kcore
         - Fix ARM SPE handling
         - Correct PPC event post processing
      
        Tools:
         - Make the build system more robust
         - Small fixes and enhancements all over the place
         - Update kernel ABI header copies
         - Preparatory work for converting libtraceevnt to a shared library
         - License cleanups"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits)
        tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy'
        tools arch x86: Update tools's copy of cpufeatures.h
        perf python: Fix pyrf_evlist__read_on_cpu() interface
        perf mmap: Store real cpu number in 'struct perf_mmap'
        perf tools: Remove ext from struct kmod_path
        perf tools: Add gzip_is_compressed function
        perf tools: Add lzma_is_compressed function
        perf tools: Add is_compressed callback to compressions array
        perf tools: Move the temp file processing into decompress_kmodule
        perf tools: Use compression id in decompress_kmodule()
        perf tools: Store compression id into struct dso
        perf tools: Add compression id into 'struct kmod_path'
        perf tools: Make is_supported_compression() static
        perf tools: Make decompress_to_file() function static
        perf tools: Get rid of dso__needs_decompress() call in __open_dso()
        perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble()
        perf tools: Get rid of dso__needs_decompress() call in read_object_code()
        tools lib traceevent: Change to SPDX License format
        perf llvm: Allow passing options to llc in addition to clang
        perf parser: Improve error message for PMU address filters
        ...
      d207ea8e
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a8a2b7c
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - Correct the L1TF fallout on 32bit and the off by one in the 'too much
         RAM for protection' calculation.
      
       - Add a helpful kernel message for the 'too much RAM' case
      
       - Unbreak the VDSO in case that the compiler desides to use indirect
         jumps/calls and emits retpolines which cannot be resolved because the
         kernel uses its own thunks, which does not work for the VDSO. Make it
         use the builtin thunks.
      
       - Re-export start_thread() which was unexported when the 32/64bit
         implementation was unified. start_thread() is required by modular
         binfmt handlers.
      
       - Trivial cleanups
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/speculation/l1tf: Suggest what to do on systems with too much RAM
        x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM
        x86/kvm/vmx: Remove duplicate l1d flush definitions
        x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
        x86/process: Re-export start_thread()
        x86/mce: Add notifier_block forward declaration
        x86/vdso: Fix vDSO build if a retpoline is emitted
      2a8a2b7c
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de375035
      Linus Torvalds authored
      Pull irq update from Thomas Gleixner:
       "A small set of updats/fixes for the irq subsystem:
      
         - Allow GICv3 interrupts to be configured as wake-up sources to
           enable wakeup from suspend
      
         - Make the error handling of the STM32 irqchip init function work
      
         - A set of small cleanups and improvements"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3: Allow interrupt to be configured as wake-up sources
        irqchip/tango: Set irq handler and data in one go
        dt-bindings: irqchip: renesas-irqc: Document r8a774a1 support
        irqchip/s3c24xx: Remove unneeded comparison of unsigned long to 0
        irqchip/stm32: Fix init error handling
        irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP
      de375035
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a9ce3233
      Linus Torvalds authored
      Pull licking update from Thomas Gleixner:
       "Mark the switch cases which fall through to the next case with the
        proper comment so the fallthrough compiler checks can be enabled"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        futex: Mark expected switch fall-throughs
      a9ce3233
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.19_dax-memory-failure' of... · 2923b27e
      Linus Torvalds authored
      Merge tag 'libnvdimm-for-4.19_dax-memory-failure' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm
      
      Pull libnvdimm memory-failure update from Dave Jiang:
       "As it stands, memory_failure() gets thoroughly confused by dev_pagemap
        backed mappings. The recovery code has specific enabling for several
        possible page states and needs new enabling to handle poison in dax
        mappings.
      
        In order to support reliable reverse mapping of user space addresses:
      
         1/ Add new locking in the memory_failure() rmap path to prevent races
            that would typically be handled by the page lock.
      
         2/ Since dev_pagemap pages are hidden from the page allocator and the
            "compound page" accounting machinery, add a mechanism to determine
            the size of the mapping that encompasses a given poisoned pfn.
      
         3/ Given pmem errors can be repaired, change the speculatively
            accessed poison protection, mce_unmap_kpfn(), to be reversible and
            otherwise allow ongoing access from the kernel.
      
        A side effect of this enabling is that MADV_HWPOISON becomes usable
        for dax mappings, however the primary motivation is to allow the
        system to survive userspace consumption of hardware-poison via dax.
        Specifically the current behavior is:
      
           mce: Uncorrected hardware memory error in user-access at af34214200
           {1}[Hardware Error]: It has been corrected by h/w and requires no further action
           mce: [Hardware Error]: Machine check events logged
           {1}[Hardware Error]: event severity: corrected
           Memory failure: 0xaf34214: reserved kernel page still referenced by 1 users
           [..]
           Memory failure: 0xaf34214: recovery action for reserved kernel page: Failed
           mce: Memory error not recovered
           <reboot>
      
        ...and with these changes:
      
           Injecting memory failure for pfn 0x20cb00 at process virtual address 0x7f763dd00000
           Memory failure: 0x20cb00: Killing dax-pmd:5421 due to hardware memory corruption
           Memory failure: 0x20cb00: recovery action for dax page: Recovered
      
        Given all the cross dependencies I propose taking this through
        nvdimm.git with acks from Naoya, x86/core, x86/RAS, and of course dax
        folks"
      
      * tag 'libnvdimm-for-4.19_dax-memory-failure' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm, pmem: Restore page attributes when clearing errors
        x86/memory_failure: Introduce {set, clear}_mce_nospec()
        x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses
        mm, memory_failure: Teach memory_failure() about dev_pagemap pages
        filesystem-dax: Introduce dax_lock_mapping_entry()
        mm, memory_failure: Collect mapping size in collect_procs()
        mm, madvise_inject_error: Let memory_failure() optionally take a page reference
        mm, dev_pagemap: Do not clear ->mapping on final put
        mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages
        filesystem-dax: Set page->index
        device-dax: Set page->index
        device-dax: Enable page_mapping()
        device-dax: Convert to vmf_insert_mixed and vm_fault_t
      2923b27e
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.19_misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm · 828bf6e9
      Linus Torvalds authored
      Pull libnvdimm updates from Dave Jiang:
       "Collection of misc libnvdimm patches for 4.19 submission:
      
         - Adding support to read locked nvdimm capacity.
      
         - Change test code to make DSM failure code injection an override.
      
         - Add support for calculate maximum contiguous area for namespace.
      
         - Add support for queueing a short ARS when there is on going ARS for
           nvdimm.
      
         - Allow NULL to be passed in to ->direct_access() for kaddr and pfn
           params.
      
         - Improve smart injection support for nvdimm emulation testing.
      
         - Fix test code that supports for emulating controller temperature.
      
         - Fix hang on error before devm_memremap_pages()
      
         - Fix a bug that causes user memory corruption when data returned to
           user for ars_status.
      
         - Maintainer updates for Ross Zwisler emails and adding Jan Kara to
           fsdax"
      
      * tag 'libnvdimm-for-4.19_misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm: fix ars_status output length calculation
        device-dax: avoid hang on error before devm_memremap_pages()
        tools/testing/nvdimm: improve emulation of smart injection
        filesystem-dax: Do not request kaddr and pfn when not required
        md/dm-writecache: Don't request pointer dummy_addr when not required
        dax/super: Do not request a pointer kaddr when not required
        tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access()
        s390, dcssblk: kaddr and pfn can be NULL to ->direct_access()
        libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access()
        acpi/nfit: queue issuing of ars when an uc error notification comes in
        libnvdimm: Export max available extent
        libnvdimm: Use max contiguous area for namespace size
        MAINTAINERS: Add Jan Kara for filesystem DAX
        MAINTAINERS: update Ross Zwisler's email address
        tools/testing/nvdimm: Fix support for emulating controller temperature
        tools/testing/nvdimm: Make DSM failure code injection an override
        acpi, nfit: Prefer _DSM over _LSR for namespace label reads
        libnvdimm: Introduce locked DIMM capacity support
      828bf6e9
    • Colin Ian King's avatar
      qed: fix spelling mistake "comparsion" -> "comparison" · e75d039a
      Colin Ian King authored
      Trivial fix to spelling mistake in DP_ERR error message
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e75d039a
    • Jason Wang's avatar
      vhost: correctly check the iova range when waking virtqueue · 2d66f997
      Jason Wang authored
      We don't wakeup the virtqueue if the first byte of pending iova range
      is the last byte of the range we just got updated. This will lead a
      virtqueue to wait for IOTLB updating forever. Fixing by correct the
      check and wake up the virtqueue in this case.
      
      Fixes: 6b1e6cc7 ("vhost: new device IOTLB API")
      Reported-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Tested-by: default avatarPeter Xu <peterx@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2d66f997
    • Manish Chopra's avatar
      qlge: Fix netdev features configuration. · 6750c870
      Manish Chopra authored
      qlge_fix_features() is not supposed to modify hardware or
      driver state, rather it is supposed to only fix requested
      fetures bits. Currently qlge_fix_features() also goes for
      interface down and up unnecessarily if there is not even
      any change in features set.
      
      This patch changes/fixes following -
      
      1) Move reload of interface or device re-config from
         qlge_fix_features() to qlge_set_features().
      2) Reload of interface in qlge_set_features() only if
         relevant feature bit (NETIF_F_HW_VLAN_CTAG_RX) is changed.
      3) Get rid of qlge_fix_features() since driver is not really
         required to fix any features bit.
      Signed-off-by: default avatarManish <manish.chopra@cavium.com>
      Reviewed-by: default avatarBenjamin Poirier <bpoirier@suse.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6750c870
    • Anssi Hannula's avatar
      net: macb: do not disable MDIO bus at open/close time · 0da70f80
      Anssi Hannula authored
      macb_reset_hw() is called from macb_close() and indirectly from
      macb_open(). macb_reset_hw() zeroes the NCR register, including the MPE
      (Management Port Enable) bit.
      
      This will prevent accessing any other PHYs for other Ethernet MACs on
      the MDIO bus, which remains registered at macb_reset_hw() time, until
      macb_init_hw() is called from macb_open() which sets the MPE bit again.
      
      I.e. currently the MDIO bus has a short disruption at open time and is
      disabled at close time until the interface is opened again.
      
      Fix that by only touching the RE and TE bits when enabling and disabling
      RX/TX.
      
      v2: Make macb_init_hw() NCR write a single statement.
      
      Fixes: 6c36a707 ("macb: Use generic PHY layer")
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@bitwise.fi>
      Reviewed-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
      Tested-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0da70f80
    • Geert Uytterhoeven's avatar
      Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency" · f7b9e8e1
      Geert Uytterhoeven authored
      This reverts commit bde49753.
      
      All legacy clock implementations now implement clk_set_rate() (Some
      implementations may be dummies, though).
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarArnd Bergmann <arnd@arnd.de>
      Acked-by: default avatarJose Abreu <joabreu@synopsys.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7b9e8e1
    • Ahmad Fatoum's avatar
      net: macb: Fix regression breaking non-MDIO fixed-link PHYs · ab5f1105
      Ahmad Fatoum authored
      commit 739de9a1 ("net: macb: Reorganize macb_mii bringup") broke
      initializing macb on the EVB-KSZ9477 eval board.
      There, of_mdiobus_register was called even for the fixed-link representing
      the RGMII-link to the switch with the result that the driver attempts to
      enumerate PHYs on a non-existent MDIO bus:
      
      	libphy: MACB_mii_bus: probed
      	mdio_bus f0028000.ethernet-ffffffff: fixed-link has invalid PHY address
      	mdio_bus f0028000.ethernet-ffffffff: scan phy fixed-link at address 0
              [snip]
      	mdio_bus f0028000.ethernet-ffffffff: scan phy fixed-link at address 31
      
      The "MDIO" bus registration succeeds regardless, having claimed the reset GPIO,
      and calling of_phy_register_fixed_link later on fails because it tries
      to claim the same GPIO:
      
      	macb f0028000.ethernet: broken fixed-link specification
      
      Fix this by registering the fixed-link before calling mdiobus_register.
      
      Fixes: 739de9a1 ("net: macb: Reorganize macb_mii bringup")
      Signed-off-by: default avatarAhmad Fatoum <a.fatoum@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ab5f1105