1. 18 Jul, 2019 29 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.3/dm-changes-2' of... · 3bfe1fc4
      Linus Torvalds authored
      Merge tag 'for-5.3/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull more device mapper updates from Mike Snitzer:
      
       - Fix zone state management race in DM zoned target by eliminating the
         unnecessary DMZ_ACTIVE state.
      
       - A couple fixes for issues the DM snapshot target's optional discard
         support added during first week of the 5.3 merge.
      
       - Increase default size of outstanding IO that is allowed for a each
         dm-kcopyd client and introduce tunable to allow user adjust.
      
       - Update DM core to use printk ratelimiting functions rather than
         duplicate them and in doing so fix an issue where DMDEBUG_LIMIT()
         rate limited KERN_DEBUG messages had excessive "callbacks suppressed"
         messages.
      
      * tag 'for-5.3/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: use printk ratelimiting functions
        dm kcopyd: Increase default sub-job size to 512KB
        dm snapshot: fix oversights in optional discard support
        dm zoned: fix zone state management race
      3bfe1fc4
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 6860c981
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable fixes:
      
         - SUNRPC: Ensure bvecs are re-synced when we re-encode the RPC
           request
      
         - Fix an Oops in ff_layout_track_ds_error due to a PTR_ERR()
           dereference
      
         - Revert buggy NFS readdirplus optimisation
      
         - NFSv4: Handle the special Linux file open access mode
      
         - pnfs: Fix a problem where we gratuitously start doing I/O through
           the MDS
      
        Features:
      
         - Allow NFS client to set up multiple TCP connections to the server
           using a new 'nconnect=X' mount option. Queue length is used to
           balance load.
      
         - Enhance statistics reporting to report on all transports when using
           multiple connections.
      
         - Speed up SUNRPC by removing bh-safe spinlocks
      
         - Add a mechanism to allow NFSv4 to request that containers set a
           unique per-host identifier for when the hostname is not set.
      
         - Ensure NFSv4 updates the lease_time after a clientid update
      
        Bugfixes and cleanup:
      
         - Fix use-after-free in rpcrdma_post_recvs
      
         - Fix a memory leak when nfs_match_client() is interrupted
      
         - Fix buggy file access checking in NFSv4 open for execute
      
         - disable unsupported client side deduplication
      
         - Fix spurious client disconnections
      
         - Fix occasional RDMA transport deadlock
      
         - Various RDMA cleanups
      
         - Various tracepoint fixes
      
         - Fix the TCP callback channel to guarantee the server can actually
           send the number of callback requests that was negotiated at mount
           time"
      
      * tag 'nfs-for-5.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (68 commits)
        pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS
        pnfs: Fix a problem where we gratuitously start doing I/O through the MDS
        SUNRPC: Optimise transport balancing code
        SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request
        pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error
        NFSv4: Don't use the zero stateid with layoutget
        SUNRPC: Fix up backchannel slot table accounting
        SUNRPC: Fix initialisation of struct rpc_xprt_switch
        SUNRPC: Skip zero-refcount transports
        SUNRPC: Replace division by multiplication in calculation of queue length
        NFSv4: Validate the stateid before applying it to state recovery
        nfs4.0: Refetch lease_time after clientid update
        nfs4: Rename nfs41_setup_state_renewal
        nfs4: Make nfs4_proc_get_lease_time available for nfs4.0
        nfs: Fix copy-and-paste error in debug message
        NFS: Replace 16 seq_printf() calls by seq_puts()
        NFS: Use seq_putc() in nfs_show_stats()
        Revert "NFS: readdirplus optimization by cache mechanism" (memleak)
        SUNRPC: Fix transport accounting when caller specifies an rpc_xprt
        NFS: Record task, client ID, and XID in xdr_status trace points
        ...
      6860c981
    • Trond Myklebust's avatar
      pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS · d5b9216f
      Trond Myklebust authored
      Add tracepoints to allow debugging of the event chain leading to
      a pnfs fallback to doing I/O through the MDS.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      d5b9216f
    • Trond Myklebust's avatar
      pnfs: Fix a problem where we gratuitously start doing I/O through the MDS · 58bbeab4
      Trond Myklebust authored
      If the client has to stop in pnfs_update_layout() to wait for another
      layoutget to complete, it currently exits and defaults to I/O through
      the MDS if the layoutget was successful.
      
      Fixes: d03360aa ("pNFS: Ensure we return the error if someone kills...")
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Cc: stable@vger.kernel.org # v4.20+
      58bbeab4
    • Linus Torvalds's avatar
      Merge tag 'riscv/for-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 0570bc8b
      Linus Torvalds authored
      Pull RISC-V updates from Paul Walmsley:
      
       - Hugepage support
      
       - "Image" header support for RISC-V kernel binaries, compatible with
         the current ARM64 "Image" header
      
       - Initial page table setup now split into two stages
      
       - CONFIG_SOC support (starting with SiFive SoCs)
      
       - Avoid reserving memory between RAM start and the kernel in
         setup_bootmem()
      
       - Enable high-res timers and dynamic tick in the RV64 defconfig
      
       - Remove long-deprecated gate area stubs
      
       - MAINTAINERS updates to switch to the newly-created shared RISC-V git
         tree, and to fix a get_maintainers.pl issue for patches involving
         SiFive E-mail addresses
      
      Also, one integration fix to resolve a build problem introduced during
      in the v5.3-rc1 merge window:
      
       - Fix build break after macro-to-function conversion in
         asm-generic/cacheflush.h
      
      * tag 'riscv/for-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: fix build break after macro-to-function conversion in generic cacheflush.h
        RISC-V: Add an Image header that boot loader can parse.
        RISC-V: Setup initial page tables in two stages
        riscv: remove free_initrd_mem
        riscv: ccache: Remove unused variable
        riscv: Introduce huge page support for 32/64bit kernel
        x86, arm64: Move ARCH_WANT_HUGE_PMD_SHARE config in arch/Kconfig
        RISC-V: Fix memory reservation in setup_bootmem()
        riscv: defconfig: enable SOC_SIFIVE
        riscv: select SiFive platform drivers with SOC_SIFIVE
        arch: riscv: add config option for building SiFive's SoC resource
        riscv: Remove gate area stubs
        MAINTAINERS: change the arch/riscv git tree to the new shared tree
        MAINTAINERS: don't automatically patches involving SiFive to the linux-riscv list
        RISC-V: defconfig: Enable NO_HZ_IDLE and HIGH_RES_TIMERS
      0570bc8b
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 0e2a5b5b
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
      
       - Prevent kernel panics by adding proper checking of register values
         injected via the ptrace interface
      
       - Wire up the new clone3 syscall
      
      * 'parisc-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Wire up clone3 syscall
        parisc: Avoid kernel panic triggered by invalid kprobe
        parisc: Ensure userspace privilege for ptraced processes in regset functions
        parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1
      0e2a5b5b
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · da0acd7c
      Linus Torvalds authored
      Pull module updates from Jessica Yu:
       "Summary of modules changes for the 5.3 merge window:
      
         - Code fixes and cleanups
      
         - Fix bug where set_memory_x() wasn't being called when rodata=n
      
         - Fix bug where -EEXIST was being returned for going modules
      
         - Allow arches to override module_exit_section()"
      
      * tag 'modules-for-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        modules: fix compile error if don't have strict module rwx
        ARM: module: recognize unwind exit sections
        module: allow arch overrides for .exit section names
        modules: fix BUG when load module with rodata=n
        kernel/module: Fix mem leak in module_add_modinfo_attrs
        kernel: module: Use struct_size() helper
        kernel/module.c: Only return -EEXIST for modules that have finished loading
      da0acd7c
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 818e95c7
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "The main changes in this release include:
      
         - Add user space specific memory reading for kprobes
      
         - Allow kprobes to be executed earlier in boot
      
        The rest are mostly just various clean ups and small fixes"
      
      * tag 'trace-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
        tracing: Make trace_get_fields() global
        tracing: Let filter_assign_type() detect FILTER_PTR_STRING
        tracing: Pass type into tracing_generic_entry_update()
        ftrace/selftest: Test if set_event/ftrace_pid exists before writing
        ftrace/selftests: Return the skip code when tracing directory not configured in kernel
        tracing/kprobe: Check registered state using kprobe
        tracing/probe: Add trace_event_call accesses APIs
        tracing/probe: Add probe event name and group name accesses APIs
        tracing/probe: Add trace flag access APIs for trace_probe
        tracing/probe: Add trace_event_file access APIs for trace_probe
        tracing/probe: Add trace_event_call register API for trace_probe
        tracing/probe: Add trace_probe init and free functions
        tracing/uprobe: Set print format when parsing command
        tracing/kprobe: Set print format right after parsed command
        kprobes: Fix to init kprobes in subsys_initcall
        tracepoint: Use struct_size() in kmalloc()
        ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS
        ftrace: Enable trampoline when rec count returns back to one
        tracing/kprobe: Do not run kprobe boot tests if kprobe_event is on cmdline
        tracing: Make a separate config for trace event self tests
        ...
      818e95c7
    • Linus Torvalds's avatar
      Merge branch 'for-linus-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb · d4df33b0
      Linus Torvalds authored
      Pull swiotlb updates from Konrad Rzeszutek Wilk:
       "One compiler fix, and a bug-fix in swiotlb_nr_tbl() and
        swiotlb_max_segment() to check also for no_iotlb_memory"
      
      * 'for-linus-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb: fix phys_addr_t overflow warning
        swiotlb: Return consistent SWIOTLB segments/nr_tbl
        swiotlb: Group identical cleanup in swiotlb_cleanup()
      d4df33b0
    • Trond Myklebust's avatar
      SUNRPC: Optimise transport balancing code · f554af28
      Trond Myklebust authored
      Moves the balancing code to avoid doing cursor changes on every search
      iteration.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      f554af28
    • Trond Myklebust's avatar
      SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request · 75369089
      Trond Myklebust authored
      The bvec tracks the list of pages, so if the number of pages changes
      due to a re-encode, we need to reset the bvec as well.
      
      Fixes: 277e4ab7 ("SUNRPC: Simplify TCP receive code by switching...")
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Cc: stable@vger.kernel.org # v4.20+
      75369089
    • Trond Myklebust's avatar
      pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error · 8e04fdfa
      Trond Myklebust authored
      mirror->mirror_ds can be NULL if uninitialised, but can contain
      a PTR_ERR() if call to GETDEVICEINFO failed.
      
      Fixes: 65990d1a ("pNFS/flexfiles: Fix a deadlock on LAYOUTGET")
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      Cc: stable@vger.kernel.org # 4.10+
      8e04fdfa
    • Trond Myklebust's avatar
      NFSv4: Don't use the zero stateid with layoutget · d9aba2b4
      Trond Myklebust authored
      The NFSv4.1 protocol explicitly forbids us from using the zero stateid
      together with layoutget, so when we see that nfs4_select_rw_stateid()
      is unable to return a valid delegation, lock or open stateid, then
      we should initiate recovery and retry.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      d9aba2b4
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.3-merge-13' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 366a4e38
      Linus Torvalds authored
      Pull xfs cleanups from Darrick Wong:
       "We had a few more lateish cleanup patches come in for 5.3 -- a couple
        of syncups with the userspace libxfs code and a conversion of the XFS
        administrator's guide to ReST format.
      
        Summary:
      
         - Bring fs/xfs/libxfs/xfs_trans_inode.c in sync with userspace
           libxfs.
      
         - Convert the xfs administrator guide to rst and move it into the
           official admin guide under Documentation"
      
      * tag 'xfs-5.3-merge-13' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        Documentation: filesystem: Convert xfs.txt to ReST
        xfs: sync up xfs_trans_inode with userspace
        xfs: move xfs_trans_inode.c to libxfs/
      366a4e38
    • Linus Torvalds's avatar
      Merge tag '4.3-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · ae9b728c
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Fixes (three for stable) and improvements including much faster
        encryption (SMB3.1.1 GCM)"
      
      * tag '4.3-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (27 commits)
        smb3: smbdirect no longer experimental
        cifs: fix crash in smb2_compound_op()/smb2_set_next_command()
        cifs: fix crash in cifs_dfs_do_automount
        cifs: fix parsing of symbolic link error response
        cifs: refactor and clean up arguments in the reparse point parsing
        SMB3: query inode number on open via create context
        smb3: Send netname context during negotiate protocol
        smb3: do not send compression info by default
        smb3: add new mount option to retrieve mode from special ACE
        smb3: Allow query of symlinks stored as reparse points
        cifs: Fix a race condition with cifs_echo_request
        cifs: always add credits back for unsolicited PDUs
        fs: cifs: cifsssmb: Change return type of convert_ace_to_cifs_ace
        add some missing definitions
        cifs: fix typo in debug message with struct field ia_valid
        smb3: minor cleanup of compound_send_recv
        CIFS: Fix module dependency
        cifs: simplify code by removing CONFIG_CIFS_ACL ifdef
        cifs: Fix check for matching with existing mount
        cifs: Properly handle auto disabling of serverino option
        ...
      ae9b728c
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.3-rc1' of git://github.com/ceph/ceph-client · d9b9c893
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "Lots of exciting things this time!
      
         - support for rbd object-map and fast-diff features (myself). This
           will speed up reads, discards and things like snap diffs on sparse
           images.
      
         - ceph.snap.btime vxattr to expose snapshot creation time (David
           Disseldorp). This will be used to integrate with "Restore Previous
           Versions" feature added in Windows 7 for folks who reexport ceph
           through SMB.
      
         - security xattrs for ceph (Zheng Yan). Only selinux is supported for
           now due to the limitations of ->dentry_init_security().
      
         - support for MSG_ADDR2, FS_BTIME and FS_CHANGE_ATTR features (Jeff
           Layton). This is actually a single feature bit which was missing
           because of the filesystem pieces. With this in, the kernel client
           will finally be reported as "luminous" by "ceph features" -- it is
           still being reported as "jewel" even though all required Luminous
           features were implemented in 4.13.
      
         - stop NULL-terminating ceph vxattrs (Jeff Layton). The convention
           with xattrs is to not terminate and this was causing
           inconsistencies with ceph-fuse.
      
         - change filesystem time granularity from 1 us to 1 ns, again fixing
           an inconsistency with ceph-fuse (Luis Henriques).
      
        On top of this there are some additional dentry name handling and cap
        flushing fixes from Zheng. Finally, Jeff is formally taking over for
        Zheng as the filesystem maintainer"
      
      * tag 'ceph-for-5.3-rc1' of git://github.com/ceph/ceph-client: (71 commits)
        ceph: fix end offset in truncate_inode_pages_range call
        ceph: use generic_delete_inode() for ->drop_inode
        ceph: use ceph_evict_inode to cleanup inode's resource
        ceph: initialize superblock s_time_gran to 1
        MAINTAINERS: take over for Zheng as CephFS kernel client maintainer
        rbd: setallochint only if object doesn't exist
        rbd: support for object-map and fast-diff
        rbd: call rbd_dev_mapping_set() from rbd_dev_image_probe()
        libceph: export osd_req_op_data() macro
        libceph: change ceph_osdc_call() to take page vector for response
        libceph: bump CEPH_MSG_MAX_DATA_LEN (again)
        rbd: new exclusive lock wait/wake code
        rbd: quiescing lock should wait for image requests
        rbd: lock should be quiesced on reacquire
        rbd: introduce copyup state machine
        rbd: rename rbd_obj_setup_*() to rbd_obj_init_*()
        rbd: move OSD request allocation into object request state machines
        rbd: factor out __rbd_osd_setup_discard_ops()
        rbd: factor out rbd_osd_setup_copyup()
        rbd: introduce obj_req->osd_reqs list
        ...
      d9b9c893
    • Linus Torvalds's avatar
      Merge tag 'dax-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 0fe49f70
      Linus Torvalds authored
      Pull dax updates from Dan Williams:
       "The fruits of a bug hunt in the fsdax implementation with Willy and a
        small feature update for device-dax:
      
         - Fix a hang condition that started triggering after the Xarray
           conversion of fsdax in the v4.20 kernel.
      
         - Add a 'resource' (root-only physical base address) sysfs attribute
           to device-dax instances to correlate memory-blocks onlined via the
           kmem driver with a given device instance"
      
      * tag 'dax-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        dax: Fix missed wakeup with PMD faults
        device-dax: Add a 'resource' attribute
      0fe49f70
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · f8c3500c
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "Primarily just the virtio_pmem driver:
      
         - virtio_pmem
      
           The new virtio_pmem facility introduces a paravirtualized
           persistent memory device that allows a guest VM to use DAX
           mechanisms to access a host-file with host-page-cache. It arranges
           for MAP_SYNC to be disabled and instead triggers a host fsync()
           when a 'write-cache flush' command is sent to the virtual disk
           device.
      
         - Miscellaneous small fixups"
      
      * tag 'libnvdimm-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        virtio_pmem: fix sparse warning
        xfs: disable map_sync for async flush
        ext4: disable map_sync for async flush
        dax: check synchronous mapping is supported
        dm: enable synchronous dax
        libnvdimm: add dax_dev sync flag
        virtio-pmem: Add virtio pmem driver
        libnvdimm: nd_region flush callback support
        libnvdimm, namespace: Drop uuid_t implementation detail
      f8c3500c
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.3-rc1' of git://www.linux-watchdog.org/linux-watchdog · d77e9e4e
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add Allwinner H6 watchdog
      
       - drop warning after registering device patches
      
       - hpwdt improvements
      
       - gpio: add support for nowayout option
      
       - introduce CONFIG_WATCHDOG_OPEN_TIMEOUT
      
       - convert remaining drivers to use SPDX license identifier
      
       - Fixes and improvements on several watchdog device drivers
      
      * tag 'linux-watchdog-5.3-rc1' of git://www.linux-watchdog.org/linux-watchdog: (74 commits)
        watchdog: digicolor_wdt: Remove unused variable in dc_wdt_probe
        watchdog: ie6xx_wdt: Use spinlock_t instead of struct spinlock
        watchdog: atmel: atmel-sama5d4-wdt: Disable watchdog on system suspend
        watchdog: convert remaining drivers to use SPDX license identifier
        dt-bindings: watchdog: Rename bindings documentation file
        watchdog: mei_wdt: no need to check return value of debugfs_create functions
        watchdog: bcm_kona_wdt: no need to check return value of debugfs_create functions
        docs: watchdog: Fix build error.
        docs: watchdog: convert docs to ReST and rename to *.rst
        watchdog: make the device time out at open_deadline when open_timeout is used
        watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT
        watchdog: introduce watchdog.open_timeout commandline parameter
        dt-bindings: watchdog: move i.MX system controller watchdog binding to SCU
        watchdog: imx_sc: Add pretimeout support
        watchdog: renesas_wdt: Add a few cycles delay
        watchdog: gpio: add support for nowayout option
        watchdog: renesas_wdt: Use 'dev' instead of dereferencing it repeatedly
        dt-bindings: watchdog: add Allwinner H6 watchdog
        watchdog: jz4740: Avoid starting watchdog in set_timeout
        watchdog: jz4740: Use register names from <linux/mfd/ingenic-tcu.h>
        ...
      d77e9e4e
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2ae048e1
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes.
      
         - The optimization of PM resume with HD-audio HDMI codecs, which
           eventually work around weird issues
      
         - A correction of Intel Icelake HDMI audio code
      
         - Quirks for Dell machines with Realtek HD-audio codecs
      
         - The fix for too long sequencer write stall that was spotted by
           syzkaller
      
         - A few trivial cleanups reported by coccinelle"
      
      * tag 'sound-fix-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Don't resume forcibly i915 HDMI/DP codec
        ALSA: hda/hdmi - Fix i915 reverse port/pin mapping
        ALSA: hda/hdmi - Remove duplicated define
        ALSA: seq: Break too long mutex context in the write loop
        ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine
        ALSA: rme9652: Unneeded variable: "result".
        ALSA: emu10k1: Remove unneeded variable "change"
        ALSA: au88x0: Remove unneeded variable: "changed"
        ALSA: hda/realtek - Fixed Headphone Mic can't record on Dell platform
        ALSA: ps3: Remove Unneeded variable: "ret"
        ALSA: lx6464es: Remove unneeded variable err
      2ae048e1
    • Linus Torvalds's avatar
      Merge tag 'pm-5.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d0411ec8
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These modify the Intel RAPL driver to allow it to use an MMIO
        interface to the hardware, make the int340X thermal driver provide
        such an interface for it, add Intel Ice Lake CPU IDs to the RAPL
        driver (these changes depend on the previously merged x86 arch
        changes), update cpufreq to use the PM QoS framework for managing the
        min and max frequency limits, and add update the imx-cpufreq-dt
        cpufreq driver to support i.MX8MN.
      
        Specifics:
      
         - Add MMIO interface support to the Intel RAPL power capping driver
           and update the int340X thermal driver to provide a RAPL MMIO
           interface (Zhang Rui, Stephen Rothwell).
      
         - Add Intel Ice Lake CPU IDs to the RAPL driver (Zhang Rui, Rajneesh
           Bhardwaj).
      
         - Make cpufreq use the PM QoS framework (instead of notifiers) for
           managing the min and max frequency constraints (Viresh Kumar).
      
         - Add i.MX8MN support to the imx-cpufreq-dt cpufreq driver (Anson
           Huang)"
      
      * tag 'pm-5.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (27 commits)
        cpufreq: Make cpufreq_generic_init() return void
        intel_rapl: need linux/cpuhotplug.h for enum cpuhp_state
        powercap/rapl: Add Ice Lake NNPI support to RAPL driver
        powercap/intel_rapl: add support for ICX-D
        powercap/intel_rapl: add support for ICX
        powercap/intel_rapl: add support for IceLake desktop
        intel_rapl: Fix module autoloading issue
        int340X/processor_thermal_device: add support for MMIO RAPL
        intel_rapl: support two power limits for every RAPL domain
        intel_rapl: support 64 bit register
        intel_rapl: abstract RAPL common code
        intel_rapl: cleanup hardcoded MSR access
        intel_rapl: cleanup some functions
        intel_rapl: abstract register access operations
        intel_rapl: abstract register address
        intel_rapl: introduce struct rapl_if_private
        intel_rapl: introduce intel_rapl.h
        intel_rapl: remove hardcoded register index
        intel_rapl: use reg instead of msr
        cpufreq: imx-cpufreq-dt: Add i.MX8MN support
        ...
      d0411ec8
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.3-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4b09ddbc
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These get rid of two clang warnings, add a new quirk mechanism to the
        ACPI backlight driver (and apply it to one machine) and update the
        table load object initialization in ACPICA (this is a replacement for
        a previously reverted ACPICA commit).
      
        Specifics:
      
         - Make ACPI table loading work more consistently regardless of the
           exact mechanism used for loading a table (Erik Schmauss).
      
         - Get rid of two clang warnings (Arnd Bergmann).
      
         - Add new quirk mechanism to the ACPI backlight driver and use it to
           add a quirk for PB Easynote MZ35 (Hans de Goede)"
      
      * tag 'acpi-5.3-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35
        ACPI: fix false-positive -Wuninitialized warning
        ACPI: blacklist: fix clang warning for unused DMI table
        ACPICA: Update table load object initialization
      4b09ddbc
    • Linus Torvalds's avatar
      Merge branch 'floppy' · 47d6a760
      Linus Torvalds authored
      Merge floppy ioctl verification fixes from Denis Efremov.
      
      This also marks the floppy driver as orphaned - it turns out that Jiri
      no longer has working hardware.
      
      Actual working physical floppy hardware is getting hard to find, and
      while Willy was able to test this, I think the driver can be considered
      pretty much dead from an actual hardware standpoint.  The hardware that
      is still sold seems to be mainly USB-based, which doesn't use this
      legacy driver at all.
      
      The old floppy disk controller is still emulated in various VM
      environments, so the driver isn't going away, but let's see if anybody
      is interested to step up to maintain it.
      
      The lack of hardware also likely means that the ioctl range verification
      fixes are probably mostly relevant to anybody using floppies in a
      virtual environment.  Which is probably also going away in favor of USB
      storage emulation, but who knows.
      
      Will Decon reviewed the patches but I'm not rebasing them just for that,
      so I'll add a
      Reviewed-by: default avatarWill Deacon <will@kernel.org>
      
      here instead.
      
      * floppy:
        MAINTAINERS: mark floppy.c orphaned
        floppy: fix out-of-bounds read in copy_buffer
        floppy: fix invalid pointer dereference in drive_name
        floppy: fix out-of-bounds read in next_valid_format
        floppy: fix div-by-zero in setup_format_params
      47d6a760
    • Jiri Kosina's avatar
      MAINTAINERS: mark floppy.c orphaned · be2ece49
      Jiri Kosina authored
      I volunteered myself to maintain it quite some time ago back when I
      fixed the concurrency issues which exhibited itself only with
      VM-emulated devices, and at the same time I still had the physical 3.5"
      reader to test all the changes.
      
      The reader doesn't work any more though, so I guess it's time to step
      down from this super-prestigious role :p and mark floppy.c as Orphaned.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be2ece49
    • Paul Walmsley's avatar
      riscv: fix build break after macro-to-function conversion in generic cacheflush.h · 2d69fbf3
      Paul Walmsley authored
      Commit c296d4dc ("asm-generic: fix a compilation warning")
      converted the various flush_*cache_* macros in
      asm-generic/cacheflush.h to static inline functions.  This breaks
      RISC-V builds, since RISC-V's cacheflush.h includes the generic
      cacheflush.h and then undefines the macros to be overridden.
      
      Fix by copying the subset of the no-op functions that are reused from
      the generic cacheflush.h into the RISC-V cacheflush.h, and dropping
      the include of the generic cacheflush.h.
      
      Fixes: c296d4dc ("asm-generic: fix a compilation warning")
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Cc: Qian Cai <cai@lca.pw>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      2d69fbf3
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-misc' and 'acpi-video' · 2c66a5b5
      Rafael J. Wysocki authored
      * acpi-misc:
        ACPI: fix false-positive -Wuninitialized warning
        ACPI: blacklist: fix clang warning for unused DMI table
      
      * acpi-video:
        ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35
      2c66a5b5
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 918e162e
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: Make cpufreq_generic_init() return void
        cpufreq: imx-cpufreq-dt: Add i.MX8MN support
        cpufreq: Add QoS requests for userspace constraints
        cpufreq: intel_pstate: Reuse refresh_frequency_limits()
        cpufreq: Register notifiers with the PM QoS framework
        PM / QoS: Add support for MIN/MAX frequency constraints
        PM / QOS: Pass request type to dev_pm_qos_read_value()
        PM / QOS: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value()
        PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier()
      918e162e
    • Trond Myklebust's avatar
      SUNRPC: Fix up backchannel slot table accounting · 7402a4fe
      Trond Myklebust authored
      Add a per-transport maximum limit in the socket case, and add
      helpers to allow the NFSv4 code to discover that limit.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      7402a4fe
    • Trond Myklebust's avatar
      SUNRPC: Fix initialisation of struct rpc_xprt_switch · 9f98effc
      Trond Myklebust authored
      Ensure that we do initialise the fields xps_nactive, xps_queuelen
      and xps_net.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      9f98effc
  2. 17 Jul, 2019 11 commits
    • Denis Efremov's avatar
      floppy: fix out-of-bounds read in copy_buffer · da99466a
      Denis Efremov authored
      This fixes a global out-of-bounds read access in the copy_buffer
      function of the floppy driver.
      
      The FDDEFPRM ioctl allows one to set the geometry of a disk.  The sect
      and head fields (unsigned int) of the floppy_drive structure are used to
      compute the max_sector (int) in the make_raw_rw_request function.  It is
      possible to overflow the max_sector.  Next, max_sector is passed to the
      copy_buffer function and used in one of the memcpy calls.
      
      An unprivileged user could trigger the bug if the device is accessible,
      but requires a floppy disk to be inserted.
      
      The patch adds the check for the .sect * .head multiplication for not
      overflowing in the set_geometry function.
      
      The bug was found by syzkaller.
      Signed-off-by: default avatarDenis Efremov <efremov@ispras.ru>
      Tested-by: default avatarWilly Tarreau <w@1wt.eu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      da99466a
    • Denis Efremov's avatar
      floppy: fix invalid pointer dereference in drive_name · 9b04609b
      Denis Efremov authored
      This fixes the invalid pointer dereference in the drive_name function of
      the floppy driver.
      
      The native_format field of the struct floppy_drive_params is used as
      floppy_type array index in the drive_name function.  Thus, the field
      should be checked the same way as the autodetect field.
      
      To trigger the bug, one could use a value out of range and set the drive
      parameters with the FDSETDRVPRM ioctl.  Next, FDGETDRVTYP ioctl should
      be used to call the drive_name.  A floppy disk is not required to be
      inserted.
      
      CAP_SYS_ADMIN is required to call FDSETDRVPRM.
      
      The patch adds the check for a value of the native_format field to be in
      the '0 <= x < ARRAY_SIZE(floppy_type)' range of the floppy_type array
      indices.
      
      The bug was found by syzkaller.
      Signed-off-by: default avatarDenis Efremov <efremov@ispras.ru>
      Tested-by: default avatarWilly Tarreau <w@1wt.eu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9b04609b
    • Denis Efremov's avatar
      floppy: fix out-of-bounds read in next_valid_format · 5635f897
      Denis Efremov authored
      This fixes a global out-of-bounds read access in the next_valid_format
      function of the floppy driver.
      
      The values from autodetect field of the struct floppy_drive_params are
      used as indices for the floppy_type array in the next_valid_format
      function 'floppy_type[DP->autodetect[probed_format]].sect'.
      
      To trigger the bug, one could use a value out of range and set the drive
      parameters with the FDSETDRVPRM ioctl.  A floppy disk is not required to
      be inserted.
      
      CAP_SYS_ADMIN is required to call FDSETDRVPRM.
      
      The patch adds the check for values of the autodetect field to be in the
      '0 <= x < ARRAY_SIZE(floppy_type)' range of the floppy_type array indices.
      
      The bug was found by syzkaller.
      Signed-off-by: default avatarDenis Efremov <efremov@ispras.ru>
      Tested-by: default avatarWilly Tarreau <w@1wt.eu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5635f897
    • Denis Efremov's avatar
      floppy: fix div-by-zero in setup_format_params · f3554aeb
      Denis Efremov authored
      This fixes a divide by zero error in the setup_format_params function of
      the floppy driver.
      
      Two consecutive ioctls can trigger the bug: The first one should set the
      drive geometry with such .sect and .rate values for the F_SECT_PER_TRACK
      to become zero.  Next, the floppy format operation should be called.
      
      A floppy disk is not required to be inserted.  An unprivileged user
      could trigger the bug if the device is accessible.
      
      The patch checks F_SECT_PER_TRACK for a non-zero value in the
      set_geometry function.  The proper check should involve a reasonable
      upper limit for the .sect and .rate fields, but it could change the
      UAPI.
      
      The patch also checks F_SECT_PER_TRACK in the setup_format_params, and
      cancels the formatting operation in case of zero.
      
      The bug was found by syzkaller.
      Signed-off-by: default avatarDenis Efremov <efremov@ispras.ru>
      Tested-by: default avatarWilly Tarreau <w@1wt.eu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3554aeb
    • Helge Deller's avatar
      45800fb4
    • Helge Deller's avatar
      parisc: Avoid kernel panic triggered by invalid kprobe · 59a783db
      Helge Deller authored
      When running gdb I was able to trigger this kernel panic:
      
       Kernel Fault: Code=26 (Data memory access rights trap) at addr 0000000000000060
       CPU: 0 PID: 1401 Comm: gdb-crash Not tainted 5.2.0-rc7-64bit+ #1053
      
            YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
       PSW: 00001000000001000000000000001111 Not tainted
       r00-03  000000000804000f 0000000040dee1a0 0000000040c78cf0 00000000b8d50160
       r04-07  0000000040d2b1a0 000000004360a098 00000000bbbe87b8 0000000000000003
       r08-11  00000000fac20a70 00000000fac24160 00000000fac1bbe0 0000000000000000
       r12-15  00000000fabfb79a 00000000fac244a4 0000000000010000 0000000000000001
       r16-19  00000000bbbe87b8 00000000f8f02910 0000000000010034 0000000000000000
       r20-23  00000000fac24630 00000000fac24630 000000006474e552 00000000fac1aa52
       r24-27  0000000000000028 00000000bbbe87b8 00000000bbbe87b8 0000000040d2b1a0
       r28-31  0000000000000000 00000000b8d501c0 00000000b8d501f0 0000000003424000
       sr00-03  0000000000423000 0000000000000000 0000000000000000 0000000000423000
       sr04-07  0000000000000000 0000000000000000 0000000000000000 0000000000000000
      
       IASQ: 0000000000000000 0000000000000000 IAOQ: 0000000040c78cf0 0000000040c78cf4
        IIR: 539f00c0    ISR: 0000000000000000  IOR: 0000000000000060
        CPU:        0   CR30: 00000000b8d50000 CR31: 00000000d22345e2
        ORIG_R28: 0000000040250798
        IAOQ[0]: parisc_kprobe_ss_handler+0x58/0x170
        IAOQ[1]: parisc_kprobe_ss_handler+0x5c/0x170
        RP(r2): parisc_kprobe_ss_handler+0x58/0x170
       Backtrace:
        [<0000000040206ff8>] handle_interruption+0x178/0xbb8
       Kernel panic - not syncing: Kernel Fault
      
      Avoid this panic by checking the return value of kprobe_running() and
      skip kprobe if none is currently active.
      
      Cc: <stable@vger.kernel.org> # v5.2
      Acked-by: default avatarSven Schnelle <svens@stackframe.org>
      Tested-by: default avatarRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      59a783db
    • Helge Deller's avatar
      parisc: Ensure userspace privilege for ptraced processes in regset functions · 34c32fc6
      Helge Deller authored
      On parisc the privilege level of a process is stored in the lowest two bits of
      the instruction pointers (IAOQ0 and IAOQ1). On Linux we use privilege level 0
      for the kernel and privilege level 3 for user-space. So userspace should not be
      allowed to modify IAOQ0 or IAOQ1 of a ptraced process to change it's privilege
      level to e.g. 0 to try to gain kernel privileges.
      
      This patch prevents such modifications in the regset support functions by
      always setting the two lowest bits to one (which relates to privilege level 3
      for user-space) if IAOQ0 or IAOQ1 are modified via ptrace regset calls.
      
      Link: https://bugs.gentoo.org/481768
      Cc: <stable@vger.kernel.org> # v4.7+
      Tested-by: default avatarRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      34c32fc6
    • Helge Deller's avatar
      parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1 · 10835c85
      Helge Deller authored
      On parisc the privilege level of a process is stored in the lowest two bits of
      the instruction pointers (IAOQ0 and IAOQ1). On Linux we use privilege level 0
      for the kernel and privilege level 3 for user-space. So userspace should not be
      allowed to modify IAOQ0 or IAOQ1 of a ptraced process to change it's privilege
      level to e.g. 0 to try to gain kernel privileges.
      
      This patch prevents such modifications by always setting the two lowest bits to
      one (which relates to privilege level 3 for user-space) if IAOQ0 or IAOQ1 are
      modified via ptrace calls in the native and compat ptrace paths.
      
      Link: https://bugs.gentoo.org/481768Reported-by: default avatarJeroen Roovers <jer@gentoo.org>
      Cc: <stable@vger.kernel.org>
      Tested-by: default avatarRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      10835c85
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.3-2' of git://git.infradead.org/linux-platform-drivers-x86 · 22051d9c
      Linus Torvalds authored
      Pull another x86 platform driver update from Andy Shevchenko:
       "Provide better naming for ABI, i.e. tell that we have fan boost mode.
      
        It won't break any ABI, but has to be done now to avoid confusion in
        the future"
      
      * tag 'platform-drivers-x86-v5.3-2' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: asus: Rename "fan mode" to "fan boost mode"
      22051d9c
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · aac09ce2
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
      
       - Convert thermal documents to ReST (Mauro Carvalho Chehab)
      
       - Fix a cyclic depedency in between thermal core and governors (Daniel
         Lezcano)
      
       - Fix processor_thermal_device driver to re-evaluate power limits after
         resume (Srinivas Pandruvada, Zhang Rui)
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        drivers: thermal: processor_thermal_device: Fix build warning
        docs: thermal: convert to ReST
        thermal/drivers/core: Use governor table to initialize
        thermal/drivers/core: Add init section table for self-encapsulation
        drivers: thermal: processor_thermal: Read PPCC on resume
      aac09ce2
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · c3c08f93
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
      
       - Revert a SPIO GPIO fix that didn't fix anything but instead created
         new problems.
      
       - Remove the EM GPIO irqdomain in a safe manner.
      
       - Fix a memory leak in the gpio quirks.
      
       - Make the DaVinci error path silent on probe deferral.
      
      * tag 'gpio-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        Revert "gpio/spi: Fix spi-gpio regression on active high CS"
        gpio: em: remove the gpiochip before removing the irq domain
        gpiolib: of: fix a memory leak in of_gpio_flags_quirks()
        gpio: davinci: silence error prints in case of EPROBE_DEFER
      c3c08f93