1. 02 Nov, 2018 33 commits
    • Steve French's avatar
      cifs: fix signed/unsigned mismatch on aio_read patch · b98e26df
      Steve French authored
      The patch "CIFS: Add support for direct I/O read" had
      a signed/unsigned mismatch (ssize_t vs. size_t) in the
      return from one function.  Similar trivial change
      in aio_write
      Signed-off-by: default avatarLong Li <longli@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reported-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      b98e26df
    • Colin Ian King's avatar
      cifs: don't dereference smb_file_target before null check · 8c6c9bed
      Colin Ian King authored
      There is a null check on dst_file->private data which suggests
      it can be potentially null. However, before this check, pointer
      smb_file_target is derived from dst_file->private and dereferenced
      in the call to tlink_tcon, hence there is a potential null pointer
      deference.
      
      Fix this by assigning smb_file_target and target_tcon after the
      null pointer sanity checks.
      
      Detected by CoverityScan, CID#1475302 ("Dereference before null check")
      
      Fixes: 04b38d60 ("vfs: pull btrfs clone API to vfs layer")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      8c6c9bed
    • Long Li's avatar
      CIFS: Add direct I/O functions to file_operations · be4eb688
      Long Li authored
      With direct read/write functions implemented, add them to file_operations.
      
      Dircet I/O is used under two conditions:
      1. When mounting with "cache=none", CIFS uses direct I/O for all user file
      data transfer.
      2. When opening a file with O_DIRECT, CIFS uses direct I/O for all data
      transfer on this file.
      Signed-off-by: default avatarLong Li <longli@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      be4eb688
    • Long Li's avatar
      CIFS: Add support for direct I/O write · 8c5f9c1a
      Long Li authored
      With direct I/O write, user supplied buffers are pinned to the memory and data
      are transferred directly from user buffers to the transport layer.
      
      Change in v3: add support for kernel AIO
      
      Change in v4:
      Refactor common write code to __cifs_writev for direct and non-direct I/O.
      Retry on direct I/O failure.
      Signed-off-by: default avatarLong Li <longli@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      8c5f9c1a
    • Long Li's avatar
      CIFS: Add support for direct I/O read · 6e6e2b86
      Long Li authored
      With direct I/O read, we transfer the data directly from transport layer to
      the user data buffer.
      
      Change in v3: add support for kernel AIO
      
      Change in v4:
      Refactor common read code to __cifs_readv for direct and non-direct I/O.
      Retry on direct I/O failure.
      Signed-off-by: default avatarLong Li <longli@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      6e6e2b86
    • Steve French's avatar
      smb3: missing defines and structs for reparse point handling · 0df444a0
      Steve French authored
      We were missing some structs from MS-FSCC relating to
      reparse point handling.  Add them to protocol defines
      in smb2pdu.h
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarAurelien Aptel <aaptel@suse.com>
      0df444a0
    • Steve French's avatar
      smb3: allow more detailed protocol info on open files for debugging · dfe33f9a
      Steve French authored
      In order to debug complex problems it is often helpful to
      have detailed information on the client and server view
      of the open file information.  Add the ability for root to
      view the list of smb3 open files and dump the persistent
      handle and other info so that it can be more easily
      correlated with server logs.
      
      Sample output from "cat /proc/fs/cifs/open_files"
      
       # Version:1
       # Format:
       # <tree id> <persistent fid> <flags> <count> <pid> <uid> <filename> <mid>
       0x5 0x800000378 0x8000 1 7704 0 some-file 0x14
       0xcb903c0c 0x84412e67 0x8000 1 7754 1001 rofile 0x1a6d
       0xcb903c0c 0x9526b767 0x8000 1 7720 1000 file 0x1a5b
       0xcb903c0c 0x9ce41a21 0x8000 1 7715 0 smallfile 0xd67
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      dfe33f9a
    • Steve French's avatar
      smb3: on kerberos mount if server doesn't specify auth type use krb5 · 926674de
      Steve French authored
      Some servers (e.g. Azure) do not include a spnego blob in the SMB3
      negotiate protocol response, so on kerberos mounts ("sec=krb5")
      we can fail, as we expected the server to list its supported
      auth types (OIDs in the spnego blob in the negprot response).
      Change this so that on krb5 mounts we default to trying krb5 if the
      server doesn't list its supported protocol mechanisms.
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      CC: Stable <stable@vger.kernel.org>
      926674de
    • Steve French's avatar
      smb3: add trace point for tree connection · f8af49dd
      Steve French authored
      In debugging certain scenarios, especially reconnect cases,
      it can be helpful to have a dynamic trace point for the
      result of tree connect.  See sample output below
      from a reconnect event. The new event is 'smb3_tcon'
      
                  TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
                     | |       |   ||||       |         |
                 cifsd-6071  [001] ....  2659.897923: smb3_reconnect: server=localhost current_mid=0xa
           kworker/1:1-71    [001] ....  2666.026342: smb3_cmd_done: 	sid=0x0 tid=0x0 cmd=0 mid=0
           kworker/1:1-71    [001] ....  2666.026576: smb3_cmd_err: 	sid=0xc49e1787 tid=0x0 cmd=1 mid=1 status=0xc0000016 rc=-5
           kworker/1:1-71    [001] ....  2666.031677: smb3_cmd_done: 	sid=0xc49e1787 tid=0x0 cmd=1 mid=2
           kworker/1:1-71    [001] ....  2666.031921: smb3_cmd_done: 	sid=0xc49e1787 tid=0x6e78f05f cmd=3 mid=3
           kworker/1:1-71    [001] ....  2666.031923: smb3_tcon: xid=0 sid=0xc49e1787 tid=0x0 unc_name=\\localhost\test rc=0
           kworker/1:1-71    [001] ....  2666.032097: smb3_cmd_done: 	sid=0xc49e1787 tid=0x6e78f05f cmd=11 mid=4
           kworker/1:1-71    [001] ....  2666.032265: smb3_cmd_done: 	sid=0xc49e1787 tid=0x7912332f cmd=3 mid=5
           kworker/1:1-71    [001] ....  2666.032266: smb3_tcon: xid=0 sid=0xc49e1787 tid=0x0 unc_name=\\localhost\IPC$ rc=0
           kworker/1:1-71    [001] ....  2666.032386: smb3_cmd_done: 	sid=0xc49e1787 tid=0x7912332f cmd=11 mid=6
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      f8af49dd
    • Colin Ian King's avatar
      cifs: fix spelling mistake, EACCESS -> EACCES · 413d6100
      Colin Ian King authored
      Trivial fix to a spelling mistake of the error access name EACCESS,
      rename to EACCES
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      413d6100
    • Ronnie Sahlberg's avatar
      cifs: fix return value for cifs_listxattr · 0c5d6cb6
      Ronnie Sahlberg authored
      If the application buffer was too small to fit all the names
      we would still count the number of bytes and return this for
      listxattr. This would then trigger a BUG in usercopy.c
      
      Fix the computation of the size so that we return -ERANGE
      correctly when the buffer is too small.
      
      This fixes the kernel BUG for xfstest generic/377
      Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      Reviewed-by: default avatarAurelien Aptel <aaptel@suse.com>
      0c5d6cb6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20181102' of git://git.kernel.dk/linux-block · 5f215853
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "The biggest part of this pull request is the revert of the blkcg
        cleanup series. It had one fix earlier for a stacked device issue, but
        another one was reported. Rather than play whack-a-mole with this,
        revert the entire series and try again for the next kernel release.
      
        Apart from that, only small fixes/changes.
      
        Summary:
      
         - Indentation fixup for mtip32xx (Colin Ian King)
      
         - The blkcg cleanup series revert (Dennis Zhou)
      
         - Two NVMe fixes. One fixing a regression in the nvme request
           initialization in this merge window, causing nvme-fc to not work.
           The other is a suspend/resume p2p resource issue (James, Keith)
      
         - Fix sg discard merge, allowing us to merge in cases where we didn't
           before (Jianchao Wang)
      
         - Call rq_qos_exit() after the queue is frozen, preventing a hang
           (Ming)
      
         - Fix brd queue setup, fixing an oops if we fail setting up all
           devices (Ming)"
      
      * tag 'for-linus-20181102' of git://git.kernel.dk/linux-block:
        nvme-pci: fix conflicting p2p resource adds
        nvme-fc: fix request private initialization
        blkcg: revert blkcg cleanups series
        block: brd: associate with queue until adding disk
        block: call rq_qos_exit() after queue is frozen
        mtip32xx: clean an indentation issue, remove extraneous tabs
        block: fix the DISCARD request merge
      5f215853
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.20-rc1' of... · fcc37f76
      Linus Torvalds authored
      Merge tag 'pwm/for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "This series contains a number of improvements to existing drivers,
        such as LPSS. Some drivers, such as renesas-tpu and rcar get support
        for more SoC generations. To round things off this fixes an issue with
        the sysfs interface"
      
      * tag 'pwm/for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: lpss: Only set update bit if we are actually changing the settings
        pwm: lpss: Force runtime-resume on suspend on Cherry Trail
        pwm: Enable TI ECAP driver for ARCH_K3
        dt-bindings: pwm: tiecap: Add TI AM654 SoC specific compatible
        dt-bindings: pwm: rcar: Add r8a774a1 support
        pwm: Send a uevent on the pwmchip device upon channel sysfs (un)export
        Revert "pwm: Set class for exported channels in sysfs"
        dt-bindings: pwm: renesas-tpu: Document r8a7744 support
        dt-bindings: pwm: rcar: Add r8a7744 support
        dt-bindings: pwm: renesas: tpu: Document R8A779{7|8}0 bindings
        dt-bindings: pwm: renesas: pwm-rcar: Document R8A779{7|8}0 bindings
        dt-bindings: pwm: renesas: tpu: Fix "compatible" prop description
        pwm: Use SPDX identifier for Renesas drivers
        pwm: lpss: Add get_state callback
        pwm: lpss: Release runtime-pm reference from the driver's remove callback
        pwm: lpss: Check PWM powerstate after resume on Cherry Trail devices
        pwm: lpss: Move struct pwm_lpss_chip definition to the header file
        pwm: lpss: Add ACPI HID for second PWM controller on Cherry Trail devices
        ACPI / PM: Export acpi_device_get_power() for use by modular build drivers
        pwm: tegra: Remove gratuituous blank line
      fcc37f76
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.20_2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 0b21f21a
      Linus Torvalds authored
      Pull more EDAC updates from Borislav Petkov:
       "The second part of the EDAC pile which contains the ADXL user and a
        build fix which addresses a not-so-sensical .config but fixes
        randconfig builds people do:
      
         - skx_edac: Address translation for NVDIMMs (Tony Luck and Qiuxu Zhuo)
      
         - ACPI_ADXL build fix"
      
      [ I don't think "sensical" is a word, particularly when used in the
        context of actually meaning "nonsensical", but I like it   - Linus ]
      
      * tag 'edac_for_4.20_2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, skx: Fix randconfig builds
        EDAC, skx_edac: Add address translation for non-volatile DIMMs
      0b21f21a
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 54480aa7
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A few device-specific fixes: a fix for SPDIF on old Creative PCI
        board, and two additional fixes for the recent changes in FireWire
        audio stack"
      
      * tag 'sound-fix-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size
        ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
        ALSA: dice: fix to wait for releases of all ALSA character devices
      54480aa7
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2018-11-02' of git://anongit.freedesktop.org/drm/drm · bc6080ae
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty much a normal fixes pull pre-rc1, mostly amdgpu fixes, one i915
        link training regression fix, and a couple of minor panel/bridge fixes
        and a panel quirk"
      
      * tag 'drm-next-2018-11-02' of git://anongit.freedesktop.org/drm/drm: (37 commits)
        drm/amdgpu: revert "enable gfxoff in non-sriov and stutter mode by default"
        drm/amd/pp: Print warning if od_sclk/mclk out of range
        drm/amd/pp: Fix pp_sclk/mclk_od not work on Vega10
        drm/amd/pp: Fix pp_sclk/mclk_od not work on smu7
        drm/amd/powerplay: no MGPU fan boost enablement on DPM disabled
        drm/amdgpu: Fix skipping hangged job reset during gpu recover.
        drm/amd/powerplay: revise Vega20 pptable version check
        drm/amd/display: set backlight level limit to 1
        drm/panel: simple: Innolux TV123WAM is actually P120ZDG-BF1
        dt-bindings: drm/panel: simple: Innolux TV123WAM is actually P120ZDG-BF1
        drm/bridge: ti-sn65dsi86: Remove the mystery delay
        drm/panel: simple: Add "no-hpd" delay for Innolux TV123WAM
        drm/panel: simple: Support panels with HPD where HPD isn't connected
        dt-bindings: drm/panel: simple: Add no-hpd property
        drm/edid: Add 6 bpc quirk for BOE panel.
        drm/amdgpu: fix reporting of failed msg sent to SMU (v2)
        drm/amdgpu: Fix compute ring 1.0.0 failure after reset
        drm/amdgpu: fix VM leaf walking
        drm/amdgpu: fix amdgpu_vm_fini
        drm/amd/powerplay: commonize the API for retrieving current clocks
        ...
      bc6080ae
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2018-11-01' of... · d81f50bd
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2018-11-01' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "Features/Improvements:
         - replace spin_is_locked() with lockdep
         - add base support for secmark labeling and matching
      
        Cleanups:
         - clean an indentation issue, remove extraneous space
         - remove no-op permission check in policy_unpack
         - fix checkpatch missing spaces error in Parse secmark policy
         - fix network performance issue in aa_label_sk_perm
      
        Bug fixes:
         - add #ifdef checks for secmark filtering
         - fix an error code in __aa_create_ns()
         - don't try to replace stale label in ptrace checks
         - fix failure to audit context info in build_change_hat
         - check buffer bounds when mapping permissions mask
         - fully initialize aa_perms struct when answering userspace query
         - fix uninitialized value in aa_split_fqname"
      
      * tag 'apparmor-pr-2018-11-01' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: clean an indentation issue, remove extraneous space
        apparmor: fix checkpatch error in Parse secmark policy
        apparmor: add #ifdef checks for secmark filtering
        apparmor: Fix uninitialized value in aa_split_fqname
        apparmor: don't try to replace stale label in ptraceme check
        apparmor: Replace spin_is_locked() with lockdep
        apparmor: Allow filtering based on secmark policy
        apparmor: Parse secmark policy
        apparmor: Add a wildcard secid
        apparmor: don't try to replace stale label in ptrace access check
        apparmor: Fix network performance issue in aa_label_sk_perm
      d81f50bd
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.20-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · c2aa1a44
      Linus Torvalds authored
      Pull vfs dedup fixes from Dave Chinner:
       "This reworks the vfs data cloning infrastructure.
      
        We discovered many issues with these interfaces late in the 4.19 cycle
        - the worst of them (data corruption, setuid stripping) were fixed for
        XFS in 4.19-rc8, but a larger rework of the infrastructure fixing all
        the problems was needed. That rework is the contents of this pull
        request.
      
        Rework the vfs_clone_file_range and vfs_dedupe_file_range
        infrastructure to use a common .remap_file_range method and supply
        generic bounds and sanity checking functions that are shared with the
        data write path. The current VFS infrastructure has problems with
        rlimit, LFS file sizes, file time stamps, maximum filesystem file
        sizes, stripping setuid bits, etc and so they are addressed in these
        commits.
      
        We also introduce the ability for the ->remap_file_range methods to
        return short clones so that clones for vfs_copy_file_range() don't get
        rejected if the entire range can't be cloned. It also allows
        filesystems to sliently skip deduplication of partial EOF blocks if
        they are not capable of doing so without requiring errors to be thrown
        to userspace.
      
        Existing filesystems are converted to user the new remap_file_range
        method, and both XFS and ocfs2 are modified to make use of the new
        generic checking infrastructure"
      
      * tag 'xfs-4.20-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (28 commits)
        xfs: remove [cm]time update from reflink calls
        xfs: remove xfs_reflink_remap_range
        xfs: remove redundant remap partial EOF block checks
        xfs: support returning partial reflink results
        xfs: clean up xfs_reflink_remap_blocks call site
        xfs: fix pagecache truncation prior to reflink
        ocfs2: remove ocfs2_reflink_remap_range
        ocfs2: support partial clone range and dedupe range
        ocfs2: fix pagecache truncation prior to reflink
        ocfs2: truncate page cache for clone destination file before remapping
        vfs: clean up generic_remap_file_range_prep return value
        vfs: hide file range comparison function
        vfs: enable remap callers that can handle short operations
        vfs: plumb remap flags through the vfs dedupe functions
        vfs: plumb remap flags through the vfs clone functions
        vfs: make remap_file_range functions take and return bytes completed
        vfs: remap helper should update destination inode metadata
        vfs: pass remap flags to generic_remap_checks
        vfs: pass remap flags to generic_remap_file_range_prep
        vfs: combine the clone and dedupe into a single remap_file_range
        ...
      c2aa1a44
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · b69f9e17
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Some things that I missed due to travel, or that came in late.
      
        Two fixes also going to stable:
      
         - A revert of a buggy change to the 8xx TLB miss handlers.
      
         - Our flushing of SPE (Signal Processing Engine) registers on fork
           was broken.
      
        Other changes:
      
         - A change to the KVM decrementer emulation to use proper APIs.
      
         - Some cleanups to the way we do code patching in the 8xx code.
      
         - Expose the maximum possible memory for the system in
           /proc/powerpc/lparcfg.
      
         - Merge some updates from Scott: "a couple device tree updates, and a
           fix for a missing prototype warning"
      
        A few other minor fixes and a handful of fixes for our selftests.
      
        Thanks to: Aravinda Prasad, Breno Leitao, Camelia Groza, Christophe
        Leroy, Felipe Rechia, Joel Stanley, Naveen N. Rao, Paul Mackerras,
        Scott Wood, Tyrel Datwyler"
      
      * tag 'powerpc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (21 commits)
        selftests/powerpc: Fix compilation issue due to asm label
        selftests/powerpc/cache_shape: Fix out-of-tree build
        selftests/powerpc/switch_endian: Fix out-of-tree build
        selftests/powerpc/pmu: Link ebb tests with -no-pie
        selftests/powerpc/signal: Fix out-of-tree build
        selftests/powerpc/ptrace: Fix out-of-tree build
        powerpc/xmon: Relax frame size for clang
        selftests: powerpc: Fix warning for security subdir
        selftests/powerpc: Relax L1d miss targets for rfi_flush test
        powerpc/process: Fix flush_all_to_thread for SPE
        powerpc/pseries: add missing cpumask.h include file
        selftests/powerpc: Fix ptrace tm failure
        KVM: PPC: Use exported tb_to_ns() function in decrementer emulation
        powerpc/pseries: Export maximum memory value
        powerpc/8xx: Use patch_site for perf counters setup
        powerpc/8xx: Use patch_site for memory setup patching
        powerpc/code-patching: Add a helper to get the address of a patch_site
        Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for CONFIG_SWAP"
        powerpc/8xx: add missing header in 8xx_mmu.c
        powerpc/8xx: Add DT node for using the SEC engine of the MPC885
        ...
      b69f9e17
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-4.20-mw3' of... · 63c6e188
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-4.20-mw3' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull RISC-V defconfig update from Palmer Dabbelt:
       "Sorry for the last minute patches, but it was suggested we try to push
        this in before rc1 to make it easier for people to keep their branch
        rebases sane"
      
      * tag 'riscv-for-linus-4.20-mw3' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
        RISC-V: refresh defconfig
      63c6e188
    • Keith Busch's avatar
      nvme-pci: fix conflicting p2p resource adds · 9fe5c59f
      Keith Busch authored
      The nvme pci driver had been adding its CMB resource to the P2P DMA
      subsystem everytime on on a controller reset. This results in the
      following warning:
      
          ------------[ cut here ]------------
          nvme 0000:00:03.0: Conflicting mapping in same section
          WARNING: CPU: 7 PID: 81 at kernel/memremap.c:155 devm_memremap_pages+0xa6/0x380
          ...
          Call Trace:
           pci_p2pdma_add_resource+0x153/0x370
           nvme_reset_work+0x28c/0x17b1 [nvme]
           ? add_timer+0x107/0x1e0
           ? dequeue_entity+0x81/0x660
           ? dequeue_entity+0x3b0/0x660
           ? pick_next_task_fair+0xaf/0x610
           ? __switch_to+0xbc/0x410
           process_one_work+0x1cf/0x350
           worker_thread+0x215/0x3d0
           ? process_one_work+0x350/0x350
           kthread+0x107/0x120
           ? kthread_park+0x80/0x80
           ret_from_fork+0x1f/0x30
          ---[ end trace f7ea76ac6ee72727 ]---
          nvme nvme0: failed to register the CMB
      
      This patch fixes this by registering the CMB with P2P only once.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Reviewed-by: default avatarLogan Gunthorpe <logang@deltatee.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9fe5c59f
    • James Smart's avatar
      nvme-fc: fix request private initialization · d19b8bc8
      James Smart authored
      The patch made to avoid Coverity reporting of out of bounds access
      on aen_op moved the assignment of a pointer, leaving it null when it
      was subsequently used to calculate a private pointer. Thus the private
      pointer was bad.
      
      Move/correct the private pointer initialization to be in sync with the
      patch.
      
      Fixes: 0d2bdf9f ("nvme-fc: rework the request initialization code")
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d19b8bc8
    • Colin Ian King's avatar
      apparmor: clean an indentation issue, remove extraneous space · 566f52ec
      Colin Ian King authored
      Trivial fix to clean up an indentation issue, remove space
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
      566f52ec
    • John Johansen's avatar
      apparmor: fix checkpatch error in Parse secmark policy · 76af016e
      John Johansen authored
      Fix missed spacing error reported by checkpatch for
      9caafbe2 ("Parse secmark policy")
      Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
      76af016e
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2018-10-25' of... · f9885ef8
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2018-10-25' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      - Fix to avoid link retraining workaround on eDP (the other is a comment change)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181025131836.GA2296@jlahtine-desk.ger.corp.intel.com
      f9885ef8
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8adcc599
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "No common topic, really - a handful of assorted stuff; the least
        trivial bits are Mark's dedupe patches"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs/exofs: only use true/false for asignment of bool type variable
        fs/exofs: fix potential memory leak in mount option parsing
        Delete invalid assignment statements in do_sendfile
        iomap: remove duplicated include from iomap.c
        vfs: dedupe should return EPERM if permission is not granted
        vfs: allow dedupe of user owned read-only files
        ntfs: don't open-code ERR_CAST
        ext4: don't open-code ERR_CAST
      8adcc599
    • Linus Torvalds's avatar
      Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9931a07d
      Linus Torvalds authored
      Pull AFS updates from Al Viro:
       "AFS series, with some iov_iter bits included"
      
      * 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (26 commits)
        missing bits of "iov_iter: Separate type from direction and use accessor functions"
        afs: Probe multiple fileservers simultaneously
        afs: Fix callback handling
        afs: Eliminate the address pointer from the address list cursor
        afs: Allow dumping of server cursor on operation failure
        afs: Implement YFS support in the fs client
        afs: Expand data structure fields to support YFS
        afs: Get the target vnode in afs_rmdir() and get a callback on it
        afs: Calc callback expiry in op reply delivery
        afs: Fix FS.FetchStatus delivery from updating wrong vnode
        afs: Implement the YFS cache manager service
        afs: Remove callback details from afs_callback_break struct
        afs: Commit the status on a new file/dir/symlink
        afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS
        afs: Don't invoke the server to read data beyond EOF
        afs: Add a couple of tracepoints to log I/O errors
        afs: Handle EIO from delivery function
        afs: Fix TTL on VL server and address lists
        afs: Implement VL server rotation
        afs: Improve FS server rotation error handling
        ...
      9931a07d
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.20' of git://people.freedesktop.org/~agd5f/linux into drm-next · 43e0f873
      Dave Airlie authored
      - Fix flickering at low backlight levels on some systems
      - Fix some overclocking regressions
      - Vega20 updates for
      - GPU recovery fixes
      - Disable gfxoff on RV as some sbios/fw combinations are not stable yet
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181101151939.2828-1-alexander.deucher@amd.com
      43e0f873
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2018-10-31' of... · 52b50ae1
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2018-10-31' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      - Properly label Innolux TV123WAM as P120ZDG-BF1 (Doug)
      - Add optional delay for panels without hpd hooked up (which solves the
        mystery delay for TI SN65DSI86 bridge) (Doug)
      - Another 6bpc quirk for BOE panel 0x0771 (Shawn)
      
      Cc: Doug Anderson <dianders@chromium.org>
      Cc: Lee, Shawn C <shawn.c.lee@intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Sean Paul <sean@poorly.run>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181031201944.GA262020@art_vandelay
      52b50ae1
    • Dennis Zhou's avatar
      blkcg: revert blkcg cleanups series · b5f2954d
      Dennis Zhou authored
      This reverts a series committed earlier due to null pointer exception
      bug report in [1]. It seems there are edge case interactions that I did
      not consider and will need some time to understand what causes the
      adverse interactions.
      
      The original series can be found in [2] with a follow up series in [3].
      
      [1] https://www.spinics.net/lists/cgroups/msg20719.html
      [2] https://lore.kernel.org/lkml/20180911184137.35897-1-dennisszhou@gmail.com/
      [3] https://lore.kernel.org/lkml/20181020185612.51587-1-dennis@kernel.org/
      
      This reverts the following commits:
      d459d853, b2c3fa54, 101246ec, b3b9f24f, e2b09899,
      f0fcb3ec, c839e7a0, bdc24917, 74b7c02a, 5bf9a1f3,
      a7b39b4e, 07b05bcc, 49f4c2dc, 27e6fa99Signed-off-by: default avatarDennis Zhou <dennis@kernel.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b5f2954d
    • Ming Lei's avatar
      block: brd: associate with queue until adding disk · 153fcd5f
      Ming Lei authored
      brd_free() may be called in failure path on one brd instance which
      disk isn't added yet, so release handler of gendisk may free the
      associated request_queue early and causes the following use-after-free[1].
      
      This patch fixes this issue by associating gendisk with request_queue
      just before adding disk.
      
      [1] KASAN: use-after-free Read in del_timer_syncNon-volatile memory driver v1.3
      Linux agpgart interface v0.103
      [drm] Initialized vgem 1.0.0 20120112 for virtual device on minor 0
      usbcore: registered new interface driver udl
      ==================================================================
      BUG: KASAN: use-after-free in __lock_acquire+0x36d9/0x4c20
      kernel/locking/lockdep.c:3218
      Read of size 8 at addr ffff8801d1b6b540 by task swapper/0/1
      
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.0+ #88
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
      Google 01/01/2011
      Call Trace:
        __dump_stack lib/dump_stack.c:77 [inline]
        dump_stack+0x244/0x39d lib/dump_stack.c:113
        print_address_description.cold.7+0x9/0x1ff mm/kasan/report.c:256
        kasan_report_error mm/kasan/report.c:354 [inline]
        kasan_report.cold.8+0x242/0x309 mm/kasan/report.c:412
        __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
        __lock_acquire+0x36d9/0x4c20 kernel/locking/lockdep.c:3218
        lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
        del_timer_sync+0xb7/0x270 kernel/time/timer.c:1283
        blk_cleanup_queue+0x413/0x710 block/blk-core.c:809
        brd_free+0x5d/0x71 drivers/block/brd.c:422
        brd_init+0x2eb/0x393 drivers/block/brd.c:518
        do_one_initcall+0x145/0x957 init/main.c:890
        do_initcall_level init/main.c:958 [inline]
        do_initcalls init/main.c:966 [inline]
        do_basic_setup init/main.c:984 [inline]
        kernel_init_freeable+0x5c6/0x6b9 init/main.c:1148
        kernel_init+0x11/0x1ae init/main.c:1068
        ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:350
      
      Reported-by: syzbot+3701447012fe951dabb2@syzkaller.appspotmail.com
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      153fcd5f
    • Linus Torvalds's avatar
      Merge tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux · e468f5c0
      Linus Torvalds authored
      Pull compiler attribute updates from Miguel Ojeda:
       "This is an effort to disentangle the include/linux/compiler*.h headers
        and bring them up to date.
      
        The main idea behind the series is to use feature checking macros
        (i.e. __has_attribute) instead of compiler version checks (e.g.
        GCC_VERSION), which are compiler-agnostic (so they can be shared,
        reducing the size of compiler-specific headers) and version-agnostic.
      
        Other related improvements have been performed in the headers as well,
        which on top of the use of __has_attribute it has amounted to a
        significant simplification of these headers (e.g. GCC_VERSION is now
        only guarding a few non-attribute macros).
      
        This series should also help the efforts to support compiling the
        kernel with clang and icc. A fair amount of documentation and comments
        have also been added, clarified or removed; and the headers are now
        more readable, which should help kernel developers in general.
      
        The series was triggered due to the move to gcc >= 4.6. In turn, this
        series has also triggered Sparse to gain the ability to recognize
        __has_attribute on its own.
      
        Finally, the __nonstring variable attribute series has been also
        applied on top; plus two related patches from Nick Desaulniers for
        unreachable() that came a bit afterwards"
      
      * tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux:
        compiler-gcc: remove comment about gcc 4.5 from unreachable()
        compiler.h: update definition of unreachable()
        Compiler Attributes: ext4: remove local __nonstring definition
        Compiler Attributes: auxdisplay: panel: use __nonstring
        Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8)
        Compiler Attributes: add support for __nonstring (gcc >= 8)
        Compiler Attributes: add MAINTAINERS entry
        Compiler Attributes: add Doc/process/programming-language.rst
        Compiler Attributes: remove uses of __attribute__ from compiler.h
        Compiler Attributes: KENTRY used twice the "used" attribute
        Compiler Attributes: use feature checks instead of version checks
        Compiler Attributes: add missing SPDX ID in compiler_types.h
        Compiler Attributes: remove unneeded sparse (__CHECKER__) tests
        Compiler Attributes: homogenize __must_be_array
        Compiler Attributes: remove unneeded tests
        Compiler Attributes: always use the extra-underscores syntax
        Compiler Attributes: remove unused attributes
      e468f5c0
    • Anup Patel's avatar
      RISC-V: refresh defconfig · ba1f0d95
      Anup Patel authored
      This patch updates defconfig using savedefconfig on Linux-4.19.  It is
      intended to have no functional change.
      Signed-off-by: default avatarAnup Patel <anup@brainfault.org>
      Reviewed-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      ba1f0d95
  2. 01 Nov, 2018 7 commits
    • Linus Torvalds's avatar
      Merge branch 'next-keys2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · baa888d2
      Linus Torvalds authored
      Pull keys updates from James Morris:
       "Provide five new operations in the key_type struct that can be used to
        provide access to asymmetric key operations. These will be implemented
        for the asymmetric key type in a later patch and may refer to a key
        retained in RAM by the kernel or a key retained in crypto hardware.
      
           int (*asym_query)(const struct kernel_pkey_params *params,
                             struct kernel_pkey_query *info);
           int (*asym_eds_op)(struct kernel_pkey_params *params,
                              const void *in, void *out);
           int (*asym_verify_signature)(struct kernel_pkey_params *params,
                                        const void *in, const void *in2);
      
        Since encrypt, decrypt and sign are identical in their interfaces,
        they're rolled together in the asym_eds_op() operation and there's an
        operation ID in the params argument to distinguish them.
      
        Verify is different in that we supply the data and the signature
        instead and get an error value (or 0) as the only result on the
        expectation that this may well be how a hardware crypto device may
        work"
      
      * 'next-keys2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (22 commits)
        KEYS: asym_tpm: Add support for the sign operation [ver #2]
        KEYS: asym_tpm: Implement tpm_sign [ver #2]
        KEYS: asym_tpm: Implement signature verification [ver #2]
        KEYS: asym_tpm: Implement the decrypt operation [ver #2]
        KEYS: asym_tpm: Implement tpm_unbind [ver #2]
        KEYS: asym_tpm: Add loadkey2 and flushspecific [ver #2]
        KEYS: Move trusted.h to include/keys [ver #2]
        KEYS: trusted: Expose common functionality [ver #2]
        KEYS: asym_tpm: Implement encryption operation [ver #2]
        KEYS: asym_tpm: Implement pkey_query [ver #2]
        KEYS: Add parser for TPM-based keys [ver #2]
        KEYS: asym_tpm: extract key size & public key [ver #2]
        KEYS: asym_tpm: add skeleton for asym_tpm [ver #2]
        crypto: rsa-pkcs1pad: Allow hash to be optional [ver #2]
        KEYS: Implement PKCS#8 RSA Private Key parser [ver #2]
        KEYS: Implement encrypt, decrypt and sign for software asymmetric key [ver #2]
        KEYS: Allow the public_key struct to hold a private key [ver #2]
        KEYS: Provide software public key query function [ver #2]
        KEYS: Make the X.509 and PKCS7 parsers supply the sig encoding type [ver #2]
        KEYS: Provide missing asymmetric key subops for new key type ops [ver #2]
        ...
      baa888d2
    • Al Viro's avatar
      missing bits of "iov_iter: Separate type from direction and use accessor functions" · 0e9b4a82
      Al Viro authored
      sunrpc patches from nfs tree conflict with calling conventions change done
      in iov_iter work.  Trivial fixup...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0e9b4a82
    • Al Viro's avatar
      Merge tag 'nfs-for-4.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 78a63f12
      Al Viro authored
      backmerge to do fixup of iov_iter_kvec() conflict
      78a63f12
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 7260935d
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
       "A mix of fixes and cleanups"
      
      * tag 'ovl-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: automatically enable redirect_dir on metacopy=on
        ovl: check whiteout in ovl_create_over_whiteout()
        ovl: using posix_acl_xattr_size() to get size instead of posix_acl_to_xattr()
        ovl: abstract ovl_inode lock with a helper
        ovl: remove the 'locked' argument of ovl_nlink_{start,end}
        ovl: relax requirement for non null uuid of lower fs
        ovl: fold copy-up helpers into callers
        ovl: untangle copy up call chain
        ovl: relax permission checking on underlying layers
        ovl: fix recursive oi->lock in ovl_link()
        vfs: fix FIGETBSZ ioctl on an overlayfs file
        ovl: clean up error handling in ovl_get_tmpfile()
        ovl: fix error handling in ovl_verify_set_fh()
      7260935d
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 34c7685a
      Linus Torvalds authored
      Pull Devicetree fixes from Rob Herring:
      
       - fix cpu node iterator for powerpc systems
      
       - clarify ARM CPU binding 'capacities-dmips-mhz' property calculations
      
      * tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: Fix cpu node iterator to not ignore disabled cpu nodes
        dt-bindings: arm: Explain capacities-dmips-mhz calculations in example
      34c7685a
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · b5b1de35
      Linus Torvalds authored
      Pull virtio/vhost updates from Michael Tsirkin:
       "Fixes and tweaks:
      
         - virtio balloon page hinting support
      
         - vhost scsi control queue
      
         - misc fixes"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        MAINTAINERS: remove reference to bogus vsock file
        vhost/scsi: Use common handling code in request queue handler
        vhost/scsi: Extract common handling code from control queue handler
        vhost/scsi: Respond to control queue operations
        vhost/scsi: truncate T10 PI iov_iter to prot_bytes
        virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON
        mm/page_poison: expose page_poisoning_enabled to kernel modules
        virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
        kvm_config: add CONFIG_VIRTIO_MENU
      b5b1de35
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20181101' of git://github.com/jcmvbkbc/linux-xtensa · 90de1fb8
      Linus Torvalds authored
      Pull Xtensa fixes and cleanups from Max Filippov:
      
       - use ZONE_NORMAL instead of ZONE_DMA
      
       - fix Image.elf build error caused by assignment of incorrect address
         to the .note.Linux section
      
       - clean up debug and property sections in the vmlinux.lds.S
      
      * tag 'xtensa-20181101' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: clean up xtensa-specific property sections
        xtensa: use DWARF_DEBUG in the vmlinux.lds.S
        xtensa: add NOTES section to the linker script
        xtensa: remove ZONE_DMA
      90de1fb8