1. 11 Oct, 2018 3 commits
  2. 10 Oct, 2018 11 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'for-4.19/dm-fixes-3' of... · b8db9e69
      Greg Kroah-Hartman authored
      Merge tag 'for-4.19/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Mike writes:
        "device mapper fixes for 4.19 final
      
         - Fix a DM cache module init error path bug that doesn't properly
           cleanup a KMEM_CACHE if target registration fails.
      
         - Two stable@ fixes for DM zoned target; 4.20 will have changes that
           eliminate this code entirely but <= 4.19 needs these changes."
      
      * tag 'for-4.19/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled
        dm: fix report zone remapping to account for partition offset
        dm cache: destroy migration_cache if cache target registration failed
      b8db9e69
    • Greg Kroah-Hartman's avatar
      Merge tag 'trace-v4.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 588b5938
      Greg Kroah-Hartman authored
      Steven writes:
        "vsprint fix:
      
         It was reported that trace_printk() was not reporting properly
         values that came after a dereference pointer.
      
         trace_printk() utilizes vbin_printf() and bstr_printf() to keep the
         overhead of tracing down. vbin_printf() does not do any conversions
         and just stors the string format and the raw arguments into the
         buffer. bstr_printf() is used to read the buffer and does the
         conversions to complete the printf() output.
      
         This can be troublesome with dereferenced pointers because the
         reference may be different from the time vbin_printf() is called to
         the time bstr_printf() is called. To fix this, a prior commit changed
         vbin_printf() to convert dereferenced pointers into strings and load
         the converted string into the buffer. But the change to bstr_printf()
         had an off-by-one error and didn't account for the nul character at
         the end of the string and this corrupted the rest of the values in
         the format that came after a dereferenced pointer."
      
      * tag 'trace-v4.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        vsprintf: Fix off-by-one bug in bstr_printf() processing dereferenced pointers
      588b5938
    • Greg Kroah-Hartman's avatar
      Merge tag 'devicetree-fixes-for-4.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · f7e59f38
      Greg Kroah-Hartman authored
      Rob writes:
        "Devicetree fixes for 4.19, part 3:
      
         - Fix DT unittest on Oldworld MAC systems"
      
      * tag 'devicetree-fixes-for-4.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: unittest: Disable interrupt node tests for old world MAC systems
      f7e59f38
    • Mike Snitzer's avatar
      dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled · beb9caac
      Mike Snitzer authored
      It is best to avoid any extra overhead associated with bio completion.
      DM core will indirectly call a DM target's .end_io if it is defined.
      In the case of DM linear, there is no need to do so (for every bio that
      completes) if CONFIG_DM_ZONED is not enabled.
      
      Avoiding an extra indirect call for every bio completion is very
      important for ensuring DM linear doesn't incur more overhead that
      further widens the performance gap between dm-linear and raw block
      devices.
      
      Fixes: 0be12c1c ("dm linear: add support for zoned block devices")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      beb9caac
    • Guenter Roeck's avatar
      of: unittest: Disable interrupt node tests for old world MAC systems · 88948914
      Guenter Roeck authored
      On systems with OF_IMAP_OLDWORLD_MAC set in of_irq_workarounds, the
      devicetree interrupt parsing code is different, causing unit tests of
      devicetree interrupt nodes to fail. Due to a bug in unittest code, which
      tries to dereference an uninitialized pointer, this results in a crash.
      
      OF: /testcase-data/phandle-tests/consumer-a: arguments longer than property
      Unable to handle kernel paging request for data at address 0x00bc616e
      Faulting instruction address: 0xc08e9468
      Oops: Kernel access of bad area, sig: 11 [#1]
      BE PREEMPT PowerMac
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.72-rc1-yocto-standard+ #1
      task: cf8e0000 task.stack: cf8da000
      NIP:  c08e9468 LR: c08ea5bc CTR: c08ea5ac
      REGS: cf8dbb50 TRAP: 0300   Not tainted  (4.14.72-rc1-yocto-standard+)
      MSR:  00001032 <ME,IR,DR,RI>  CR: 82004044  XER: 00000000
      DAR: 00bc616e DSISR: 40000000
      GPR00: c08ea5bc cf8dbc00 cf8e0000 c13ca517 c13ca517 c13ca8a0 00000066 00000002
      GPR08: 00000063 00bc614e c0b05865 000affff 82004048 00000000 c00047f0 00000000
      GPR16: c0a80000 c0a9cc34 c13ca517 c0ad1134 05ffffff 000affff c0b05860 c0abeef8
      GPR24: cecec278 cecec278 c0a8c4d0 c0a885e0 c13ca8a0 05ffffff c13ca8a0 c13ca517
      
      NIP [c08e9468] device_node_gen_full_name+0x30/0x15c
      LR [c08ea5bc] device_node_string+0x190/0x3c8
      Call Trace:
      [cf8dbc00] [c007f670] trace_hardirqs_on_caller+0x118/0x1fc (unreliable)
      [cf8dbc40] [c08ea5bc] device_node_string+0x190/0x3c8
      [cf8dbcb0] [c08eb794] pointer+0x25c/0x4d0
      [cf8dbd00] [c08ebcbc] vsnprintf+0x2b4/0x5ec
      [cf8dbd60] [c08ec00c] vscnprintf+0x18/0x48
      [cf8dbd70] [c008e268] vprintk_store+0x4c/0x22c
      [cf8dbda0] [c008ecac] vprintk_emit+0x94/0x130
      [cf8dbdd0] [c008ff54] printk+0x5c/0x6c
      [cf8dbe10] [c0b8ddd4] of_unittest+0x2220/0x26f8
      [cf8dbea0] [c0004434] do_one_initcall+0x4c/0x184
      [cf8dbf00] [c0b4534c] kernel_init_freeable+0x13c/0x1d8
      [cf8dbf30] [c0004814] kernel_init+0x24/0x118
      [cf8dbf40] [c0013398] ret_from_kernel_thread+0x5c/0x64
      
      The problem was observed when running a qemu test for the g3beige machine
      with devicetree unittests enabled.
      
      Disable interrupt node tests on affected systems to avoid both false
      unittest failures and the crash.
      
      With this patch in place, unittest on the affected system passes with
      the following message.
      
      	dt-test ### end of unittest - 144 passed, 0 failed
      
      Fixes: 53a42093 ("of: Add device tree selftests")
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarFrank Rowand <frank.rowand@sony.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      88948914
    • Greg Kroah-Hartman's avatar
      Merge tag 'tag-chrome-platform-fixes-for-v4.19-rc8' of... · bb2d8f2f
      Greg Kroah-Hartman authored
      Merge tag 'tag-chrome-platform-fixes-for-v4.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
      
      Benson writes:
        "chrome-platform fix for v4.19-rc8
      
         This contains a fix to 57e94c8b ("mfd: cros-ec: Increase maximum
         mkbp event size"), which caused cros_ec based chromebooks to truncate
         an entire column of their built-in keyboard."
      
      * tag 'tag-chrome-platform-fixes-for-v4.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
        mfd: cros-ec: copy the whole event in get_next_event_xfer
      bb2d8f2f
    • Greg Kroah-Hartman's avatar
      Merge branch 'for-4.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · c350a1d4
      Greg Kroah-Hartman authored
      Dennis writes:
        "percpu fixes for-4.19-rc8
      
         The new percpu allocator introduced in 4.14 had a missing free for
         the percpu metadata. This caused a memory leak when percpu memory is
         being churned resulting in the allocation and deallocation of percpu
         memory chunks"
      
      * 'for-4.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        percpu: stop leaking bitmap metadata blocks
      c350a1d4
    • Greg Kroah-Hartman's avatar
      Merge tag 'gfs2-4.19.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 3a0671e7
      Greg Kroah-Hartman authored
      Andreas writes:
        "gfs2 4.19 fix:
      
         This fixes a regression introduced in commit 64bc06bb "gfs2:
         iomap buffered write support""
      
      * tag 'gfs2-4.19.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix iomap buffered write support for journaled files
      3a0671e7
    • Greg Kroah-Hartman's avatar
      Merge tag 's390-4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 3d647e62
      Greg Kroah-Hartman authored
      Martin writes:
        "s390 fixes for 4.19-rc8
      
         Four more patches for 4.19:
          - Fix resume after suspend-to-disk if resume-CPU != suspend-CPU
          - Fix vfio-ccw check for pinned pages
          - Two patches to avoid a usercopy-whitelist warning in vfio-ccw"
      
      * tag 's390-4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/cio: Fix how vfio-ccw checks pinned pages
        s390/cio: Refactor alloc of ccw_io_region
        s390/cio: Convert ccw_io_region to pointer
        s390/hibernate: fix error handling when suspend cpu != resume cpu
      3d647e62
    • Greg Kroah-Hartman's avatar
      Merge tag 'mips_fixes_4.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 701f2eb6
      Greg Kroah-Hartman authored
      Paul writes:
        "A few MIPS fixes for 4.19:
      
         - Avoid suboptimal placement of our VDSO when using the legacy mmap
           layout, which can prevent statically linked programs that were able
           to allocate large amounts of memory using the brk syscall prior to
           the introduction of our VDSO from functioning correctly.
      
         - Fix up CONFIG_CMDLINE handling for platforms which ought to ignore
           DT arguments but have incorrectly used them & lost other arguments
           since v3.16.
      
         - Fix a path in MAINTAINERS to use valid wildcards.
      
         - Fixup a regression from v4.17 in memset() for systems using
           CPU_DADDI_WORKAROUNDS."
      
      * tag 'mips_fixes_4.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: memset: Fix CPU_DADDI_WORKAROUNDS `small_fixup' regression
        MAINTAINERS: MIPS/LOONGSON2 ARCHITECTURE - Use the normal wildcard style
        MIPS: Fix CONFIG_CMDLINE handling
        MIPS: VDSO: Always map near top of user memory
      701f2eb6
    • Emil Karlson's avatar
      mfd: cros-ec: copy the whole event in get_next_event_xfer · d4d2313a
      Emil Karlson authored
      Commit 57e94c8b caused cros-ec keyboard events
      be truncated on many chromebooks so that Left and Right keys on Column 12 were
      always 0. Use ret as memcpy len to fix this.
      
      The old code was using ec_dev->event_size, which is the event payload/data size
      excluding event_type header, for the length of the memcpy operation. Use ret
      as memcpy length to avoid the off by one and copy the whole msg->data.
      
      Fixes: 57e94c8b ("mfd: cros-ec: Increase maximum mkbp event size")
      Acked-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Tested-by: default avatarEmil Renner Berthing <kernel@esmil.dk>
      Signed-off-by: default avatarEmil Karlson <jekarlson@gmail.com>
      Signed-off-by: default avatarBenson Leung <bleung@chromium.org>
      d4d2313a
  3. 09 Oct, 2018 4 commits
    • Damien Le Moal's avatar
      dm: fix report zone remapping to account for partition offset · 9864cd5d
      Damien Le Moal authored
      If dm-linear or dm-flakey are layered on top of a partition of a zoned
      block device, remapping of the start sector and write pointer position
      of the zones reported by a report zones BIO must be modified to account
      for the target table entry mapping (start offset within the device and
      entry mapping with the dm device).  If the target's backing device is a
      partition of a whole disk, the start sector on the physical device of
      the partition must also be accounted for when modifying the zone
      information.  However, dm_remap_zone_report() was not considering this
      last case, resulting in incorrect zone information remapping with
      targets using disk partitions.
      
      Fix this by calculating the target backing device start sector using
      the position of the completed report zones BIO and the unchanged
      position and size of the original report zone BIO. With this value
      calculated, the start sector and write pointer position of the target
      zones can be correctly remapped.
      
      Fixes: 10999307 ("dm: introduce dm_remap_zone_report()")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      9864cd5d
    • Shenghui Wang's avatar
      dm cache: destroy migration_cache if cache target registration failed · c7cd5550
      Shenghui Wang authored
      Commit 7e6358d2 ("dm: fix various targets to dm_register_target
      after module __init resources created") inadvertently introduced this
      bug when it moved dm_register_target() after the call to KMEM_CACHE().
      
      Fixes: 7e6358d2 ("dm: fix various targets to dm_register_target after module __init resources created")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarShenghui Wang <shhuiw@foxmail.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      c7cd5550
    • Andreas Gruenbacher's avatar
      gfs2: Fix iomap buffered write support for journaled files · dc480feb
      Andreas Gruenbacher authored
      Commit 64bc06bb broke buffered writes to journaled files (chattr
      +j): we'll try to journal the buffer heads of the page being written to
      in gfs2_iomap_journaled_page_done.  However, the iomap code no longer
      creates buffer heads, so we'll BUG() in gfs2_page_add_databufs.  Fix
      that by creating buffer heads ourself when needed.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      dc480feb
    • Greg Kroah-Hartman's avatar
      Merge tag 'arc-4.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 64c5e530
      Greg Kroah-Hartman authored
      Vineet writes:
         "ARC updates for 4.19-rc8
          - Fix clone syscall to update Thread pointer register
          - Make/build updates (needed for AGL/OE builds)   [Alexey]
          - Typo fix [Colin Ian King]"
      
      * tag 'arc-4.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: clone syscall to setp r25 as thread pointer
        ARC: build: Don't set CROSS_COMPILE in arch's Makefile
        ARC: fix spelling mistake "entires" -> "entries"
        ARC: build: Get rid of toolchain check
        ARCv2: build: use mcpu=hs38 iso generic mcpu=archs
      64c5e530
  4. 08 Oct, 2018 10 commits
  5. 07 Oct, 2018 8 commits
  6. 06 Oct, 2018 3 commits
    • Greg Kroah-Hartman's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c1d84a1b
      Greg Kroah-Hartman authored
      Dave writes:
        "Networking fixes:
      
        1) Fix truncation of 32-bit right shift in bpf, from Jann Horn.
      
        2) Fix memory leak in wireless wext compat, from Stefan Seyfried.
      
        3) Use after free in cfg80211's reg_process_hint(), from Yu Zhao.
      
        4) Need to cancel pending work when unbinding in smsc75xx otherwise
           we oops, also from Yu Zhao.
      
        5) Don't allow enslaving a team device to itself, from Ido Schimmel.
      
        6) Fix backwards compat with older userspace for rtnetlink FDB dumps.
           From Mauricio Faria.
      
        7) Add validation of tc policy netlink attributes, from David Ahern.
      
        8) Fix RCU locking in rawv6_send_hdrinc(), from Wei Wang."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (26 commits)
        net: mvpp2: Extract the correct ethtype from the skb for tx csum offload
        ipv6: take rcu lock in rawv6_send_hdrinc()
        net: sched: Add policy validation for tc attributes
        rtnetlink: fix rtnl_fdb_dump() for ndmsg header
        yam: fix a missing-check bug
        net: bpfilter: Fix type cast and pointer warnings
        net: cxgb3_main: fix a missing-check bug
        bpf: 32-bit RSH verification must truncate input before the ALU op
        net: phy: phylink: fix SFP interface autodetection
        be2net: don't flip hw_features when VXLANs are added/deleted
        net/packet: fix packet drop as of virtio gso
        net: dsa: b53: Keep CPU port as tagged in all VLANs
        openvswitch: load NAT helper
        bnxt_en: get the reduced max_irqs by the ones used by RDMA
        bnxt_en: free hwrm resources, if driver probe fails.
        bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request
        bnxt_en: Fix VNIC reservations on the PF.
        team: Forbid enslaving team device to itself
        net/usb: cancel pending work when unbinding smsc75xx
        mlxsw: spectrum: Delete RIF when VLAN device is removed
        ...
      c1d84a1b
    • Dave Chinner's avatar
      xfs: fix data corruption w/ unaligned reflink ranges · b3998900
      Dave Chinner authored
      When reflinking sub-file ranges, a data corruption can occur when
      the source file range includes a partial EOF block. This shares the
      unknown data beyond EOF into the second file at a position inside
      EOF, exposing stale data in the second file.
      
      XFS only supports whole block sharing, but we still need to
      support whole file reflink correctly.  Hence if the reflink
      request includes the last block of the souce file, only proceed with
      the reflink operation if it lands at or past the destination file's
      current EOF. If it lands within the destination file EOF, reject the
      entire request with -EINVAL and make the caller go the hard way.
      
      This avoids the data corruption vector, but also avoids disruption
      of returning EINVAL to userspace for the common case of whole file
      cloning.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
      b3998900
    • Dave Chinner's avatar
      xfs: fix data corruption w/ unaligned dedupe ranges · dceeb47b
      Dave Chinner authored
      A deduplication data corruption is Exposed by fstests generic/505 on
      XFS. It is caused by extending the block match range to include the
      partial EOF block, but then allowing unknown data beyond EOF to be
      considered a "match" to data in the destination file because the
      comparison is only made to the end of the source file. This corrupts
      the destination file when the source extent is shared with it.
      
      XFS only supports whole block dedupe, but we still need to appear to
      support whole file dedupe correctly.  Hence if the dedupe request
      includes the last block of the souce file, don't include it in the
      actual XFS dedupe operation. If the rest of the range dedupes
      successfully, then report the partial last block as deduped, too, so
      that userspace sees it as a successful dedupe rather than return
      EINVAL because we can't dedupe unaligned blocks.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
      dceeb47b
  7. 05 Oct, 2018 1 commit
    • Greg Kroah-Hartman's avatar
      Merge branch 'akpm' · 091a1eaa
      Greg Kroah-Hartman authored
      * akpm:
        mm: madvise(MADV_DODUMP): allow hugetlbfs pages
        ocfs2: fix locking for res->tracking and dlm->tracking_list
        mm/vmscan.c: fix int overflow in callers of do_shrink_slab()
        mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly
        mm/vmstat.c: fix outdated vmstat_text
        proc: restrict kernel stack dumps to root
        mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes
        mm/migrate.c: split only transparent huge pages when allocation fails
        ipc/shm.c: use ERR_CAST() for shm_lock() error return
        mm/gup_benchmark: fix unsigned comparison to zero in __gup_benchmark_ioctl
        mm, thp: fix mlocking THP page with migration enabled
        ocfs2: fix crash in ocfs2_duplicate_clusters_by_page()
        hugetlb: take PMD sharing into account when flushing tlb/caches
        mm: migration: fix migration of huge PMD shared pages
      091a1eaa