1. 09 Feb, 2018 8 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 8158c2ff
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Al Viro discovered some breakage with the parsing of the
        set_ftrace_filter as well as the removing of function probes.
      
        This fixes the code with Al's suggestions. I also added a few
        selftests to test the broken cases such that they wont happen
        again"
      
      * tag 'trace-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        selftests/ftrace: Add more tests for removing of function probes
        selftests/ftrace: Add some missing glob checks
        selftests/ftrace: Have reset_ftrace_filter handle multiple instances
        selftests/ftrace: Have reset_ftrace_filter handle modules
        tracing: Fix parsing of globs with a wildcard at the beginning
        ftrace: Remove incorrect setting of glob search field
      8158c2ff
    • Linus Torvalds's avatar
      Merge tag '4.16-minor-rc-SMB3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · a2834832
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "There are a couple additional security fixes that are still being
        tested that are not in this set."
      
      * tag '4.16-minor-rc-SMB3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        Add missing structs and defines from recent SMB3.1.1 documentation
        address lock imbalance warnings in smbdirect.c
        cifs: silence compiler warnings showing up with gcc-8.0.0
        Add some missing debug fields in server and tcon structs
      a2834832
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.16-fix' of git://github.com/bzolnier/linux · 58fcba61
      Linus Torvalds authored
      Pull fbdev fix from Bartlomiej Zolnierkiewicz:
       "Fix building of the omapfb driver (Tomi Valkeinen)"
      
      * tag 'fbdev-v4.16-fix' of git://github.com/bzolnier/linux:
        video: omapfb: fix missing #includes
      58fcba61
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f9f1e414
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Only five small fixes for issues when running under Xen"
      
      * tag 'for-linus-4.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: Fix {set,clear}_foreign_p2m_mapping on autotranslating guests
        pvcalls-back: do not return error on inet_accept EAGAIN
        xen-netfront: Fix race between device setup and open
        xen/grant-table: Use put_page instead of free_page
        x86/xen: init %gs very early to avoid page faults with stack protector
      f9f1e414
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · dff839f2
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
       "The main thing in this merge is the defense for the Spectre
        vulnerabilities. But there are other updates as well, the changes in
        more detail:
      
         - An s390 specific implementation of the array_index_mask_nospec
           function to the defense against spectre v1
      
         - Two patches to utilize the new PPA-12/PPA-13 instructions to run
           the kernel and/or user space with reduced branch predicton.
      
         - The s390 variant of the 'retpoline' spectre v2 defense called
           'expoline'. There is no return instruction for s390, instead an
           indirect branch is used for function return
      
           The s390 defense mechanism for indirect branches works by using an
           execute-type instruction with the indirect branch as the target of
           the execute. In effect that turns off the prediction for the
           indirect branch.
      
         - Scrub registers in entry.S that contain user controlled values to
           prevent the speculative use of these values.
      
         - Re-add the second parameter for the s390 specific runtime
           instrumentation system call and move the header file to uapi. The
           second parameter will continue to do nothing but older kernel
           versions only accepted valid real-time signal numbers. The details
           will be documented in the man-page for the system call.
      
         - Corrections and improvements for the s390 specific documentation
      
         - Add a line to /proc/sysinfo to display the CPU model dependent
           license-internal-code identifier
      
         - A header file include fix for eadm.
      
         - An error message fix in the kprobes code.
      
         - The removal of an outdated ARCH_xxx select statement"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/kconfig: Remove ARCH_WANTS_PROT_NUMA_PROT_NONE select
        s390: introduce execute-trampolines for branches
        s390: run user space and KVM guests with modified branch prediction
        s390: add options to change branch prediction behaviour for the kernel
        s390/alternative: use a copy of the facility bit mask
        s390: add optimized array_index_mask_nospec
        s390: scrub registers on kernel entry and KVM exit
        s390/cio: fix kernel-doc usage
        s390/runtime_instrumentation: re-add signum system call parameter
        s390/cpum_cf: correct counter number of LAST_HOST_TRANSLATIONS
        s390/kprobes: Fix %p uses in error messages
        s390/runtime instrumentation: provide uapi header file
        s390/sysinfo: add and display licensed internal code identifier
        s390/docs: reword airq section
        s390/docs: mention subchannel types
        s390/cmf: fix kerneldoc
        s390/eadm: fix CONFIG_BLOCK include dependency
      dff839f2
    • Linus Torvalds's avatar
      Merge tag 'acpi-part2-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 54ce685c
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These are mostly fixes and cleanups, a few new quirks, a couple of
        updates related to the handling of ACPI tables and ACPICA copyrights
        refreshment.
      
        Specifics:
      
         - Update the ACPICA kernel code to upstream revision 20180105
           including:
             * Assorted fixes (Jung-uk Kim)
             * Support for X32 ABI compilation (Anuj Mittal)
             * Update of ACPICA copyrights to 2018 (Bob Moore)
      
         - Prepare for future modifications to avoid executing the _STA
           control method too early (Hans de Goede)
      
         - Make the processor performance control library code ignore _PPC
           notifications if they cannot be handled and fix up the C1 idle
           state definition when it is used as a fallback state (Chen Yu,
           Yazen Ghannam)
      
         - Make it possible to use the SPCR table on x86 and to replace the
           original IORT table with a new one from initrd (Prarit Bhargava,
           Shunyong Yang)
      
         - Add battery-related quirks for Asus UX360UA and UX410UAK and add
           quirks for table parsing on Dell XPS 9570 and Precision M5530 (Kai
           Heng Feng)
      
         - Address static checker warnings in the CPPC code (Gustavo Silva)
      
         - Avoid printing a raw pointer to the kernel log in the smart battery
           driver (Greg Kroah-Hartman)"
      
      * tag 'acpi-part2-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: sbshc: remove raw pointer from printk() message
        ACPI: SPCR: Make SPCR available to x86
        ACPI / CPPC: Use 64-bit arithmetic instead of 32-bit
        ACPI / tables: Add IORT to injectable table list
        ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530
        ACPICA: Update version to 20180105
        ACPICA: All acpica: Update copyrights to 2018
        ACPI / processor: Set default C1 idle state description
        ACPI / battery: Add quirk for Asus UX360UA and UX410UAK
        ACPI: processor_perflib: Do not send _PPC change notification if not ready
        ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs
        ACPI / bus: Do not call _STA on battery devices with unmet dependencies
        PCI: acpiphp_ibm: prepare for acpi_get_object_info() no longer returning status
        ACPI: export acpi_bus_get_status_handle()
        ACPICA: Add a missing pair of parentheses
        ACPICA: Prefer ACPI_TO_POINTER() over ACPI_ADD_PTR()
        ACPICA: Avoid NULL pointer arithmetic
        ACPICA: Linux: add support for X32 ABI compilation
        ACPI / video: Use true for boolean value
      54ce685c
    • Linus Torvalds's avatar
      Merge tag 'pm-part2-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a051c14b
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These are mostly fixes and cleanups and removal of the no longer
        needed at32ap-cpufreq driver.
      
        Specifics:
      
         - Drop the at32ap-cpufreq driver which is useless after the removal
           of the corresponding arch (Corentin LABBE).
      
         - Fix a regression from the 4.14 cycle in the APM idle driver by
           making it initialize the polling state properly (Rafael Wysocki).
      
         - Fix a crash on failing system suspend due to a missing check in the
           cpufreq core (Bo Yan).
      
         - Make the intel_pstate driver initialize the hardware-managed
           P-state control (HWP) feature on CPU0 upon resume from system
           suspend if HWP had been enabled before the system was suspended
           (Chen Yu).
      
         - Fix up the SCPI cpufreq driver after recent changes (Sudeep Holla,
           Wei Yongjun).
      
         - Avoid pointer subtractions during frequency table walks in cpufreq
           (Dominik Brodowski).
      
         - Avoid the check for ProcFeedback in ST/CZ in the cpufreq driver for
           AMD processors and add a MODULE_ALIAS for cpufreq on ARM IMX (Akshu
           Agrawal, Nicolas Chauvet).
      
         - Fix the prototype of swsusp_arch_resume() on x86 (Arnd Bergmann).
      
         - Fix up the parsing of power domains DT data (Ulf Hansson)"
      
      * tag 'pm-part2-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        arm: imx: Add MODULE_ALIAS for cpufreq
        cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx()
        cpufreq: intel_pstate: Enable HWP during system resume on CPU0
        cpufreq: scpi: fix error return code in scpi_cpufreq_init()
        x86: hibernate: fix swsusp_arch_resume() prototype
        PM / domains: Fix up domain-idle-states OF parsing
        cpufreq: scpi: fix static checker warning cdev isn't an ERR_PTR
        cpufreq: remove at32ap-cpufreq
        cpufreq: AMD: Ignore the check for ProcFeedback in ST/CZ
        x86: PM: Make APM idle driver initialize polling state
        cpufreq: Skip cpufreq resume if it's not suspended
      a051c14b
    • Tomi Valkeinen's avatar
      video: omapfb: fix missing #includes · b9058afc
      Tomi Valkeinen authored
      The omapfb driver fails to build after commit 23c35f48
      ("pinctrl: remove include file from <linux/device.h>") because it
      relies on the <linux/pinctrl/consumer.h> and <linux/seq_file.h>
      being pulled in by the <linux/device.h> header implicitly.
      
      Include these headers explicitly to avoid the build failures.
      
      Fixes: 23c35f48 ("pinctrl: remove include file from <linux/device.h>")
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      [b.zolnierkie: fix include order and patch description]
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      b9058afc
  2. 08 Feb, 2018 32 commits
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.16' of git://linux-nfs.org/~bfields/linux · f1517df8
      Linus Torvalds authored
      Pull nfsd update from Bruce Fields:
       "A fairly small update this time around. Some cleanup, RDMA fixes,
        overlayfs fixes, and a fix for an NFSv4 state bug.
      
        The bigger deal for nfsd this time around was Jeff Layton's
        already-merged i_version patches"
      
      * tag 'nfsd-4.16' of git://linux-nfs.org/~bfields/linux:
        svcrdma: Fix Read chunk round-up
        NFSD: hide unused svcxdr_dupstr()
        nfsd: store stat times in fill_pre_wcc() instead of inode times
        nfsd: encode stat->mtime for getattr instead of inode->i_mtime
        nfsd: return RESOURCE not GARBAGE_ARGS on too many ops
        nfsd4: don't set lock stateid's sc_type to CLOSED
        nfsd: Detect unhashed stids in nfsd4_verify_open_stid()
        sunrpc: remove dead code in svc_sock_setbufsize
        svcrdma: Post Receives in the Receive completion handler
        nfsd4: permit layoutget of executable-only files
        lockd: convert nlm_rqst.a_count from atomic_t to refcount_t
        lockd: convert nlm_lockowner.count from atomic_t to refcount_t
        lockd: convert nsm_handle.sm_count from atomic_t to refcount_t
      f1517df8
    • Linus Torvalds's avatar
      Merge branch 'idr-2018-02-06' of git://git.infradead.org/users/willy/linux-dax · 9d21874d
      Linus Torvalds authored
      Pull idr updates from Matthew Wilcox:
      
       - test-suite improvements
      
       - replace the extended API by improving the normal API
      
       - performance improvement for IDRs which are 1-based rather than
         0-based
      
       - add documentation
      
      * 'idr-2018-02-06' of git://git.infradead.org/users/willy/linux-dax:
        idr: Add documentation
        idr: Make 1-based IDRs more efficient
        idr: Warn if old iterators see large IDs
        idr: Rename idr_for_each_entry_ext
        idr: Remove idr_alloc_ext
        cls_u32: Convert to idr_alloc_u32
        cls_u32: Reinstate cyclic allocation
        cls_flower: Convert to idr_alloc_u32
        cls_bpf: Convert to use idr_alloc_u32
        cls_basic: Convert to use idr_alloc_u32
        cls_api: Convert to idr_alloc_u32
        net sched actions: Convert to use idr_alloc_u32
        idr: Add idr_alloc_u32 helper
        idr: Delete idr_find_ext function
        idr: Delete idr_replace_ext function
        idr: Delete idr_remove_ext function
        IDR test suite: Check handling negative end correctly
        idr test suite: Fix ida_test_random()
        radix tree test suite: Remove ARRAY_SIZE
      9d21874d
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 4ed8244e
      Linus Torvalds authored
      Pull gcc plugins updates from Kees Cook:
      
       - update includes for gcc 8 (Valdis Kletnieks)
      
       - update initializers for gcc 8
      
      * tag 'gcc-plugins-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Use dynamic initializers
        gcc-plugins: Add include required by GCC release 8
      4ed8244e
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · a0f79386
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Mostly cleanups, but three bug fixes:
      
         - don't pass garbage return codes back up the call chain (Mike
           Marshall)
      
         - fix stale inode test (Martin Brandenburg)
      
         - fix off-by-one errors (Xiongfeng Wang)
      
        Also add Martin as a reviewer in the Maintainers file"
      
      * tag 'for-linus-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: reverse sense of is-inode-stale test in d_revalidate
        orangefs: simplify orangefs_inode_is_stale
        Orangefs: don't propogate whacky error codes
        orangefs: use correct string length
        orangefs: make orangefs_make_bad_inode static
        orangefs: remove ORANGEFS_KERNEL_DEBUG
        orangefs: remove gossip_ldebug and gossip_lerr
        orangefs: make orangefs_client_debug_init static
        MAINTAINERS: update orangefs list and add myself as reviewer
      a0f79386
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20180208' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 81153336
      Linus Torvalds authored
      Pull afs updates from David Howells:
       "Four fixes:
      
         - add a missing put
      
         - two fixes to reset the address iteration cursor correctly
      
         - fix setting up the fileserver iteration cursor.
      
        Two cleanups:
      
         - remove some dead code
      
         - rearrange a function to be more logically laid out
      
        And one new feature:
      
         - Support AFS dynamic root.
      
           With this one should be able to do, say:
      
              mkdir /afs
              mount -t afs none /afs -o dyn
      
           to create a dynamic root and then, provided you have keyutils
           installed, do:
      
              ls /afs/grand.central.org
      
           and:
      
              ls /afs/umich.edu
      
           to list the root volumes of both those organisations' AFS cells
           without requiring any other setup (the kernel upcall to a program
           in the keyutils package to do DNS access as does NFS)"
      
      * tag 'afs-next-20180208' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Support the AFS dynamic root
        afs: Rearrange afs_select_fileserver() a little
        afs: Remove unused code
        afs: Fix server list handling
        afs: Need to clear responded flag in addr cursor
        afs: Fix missing cursor clearance
        afs: Add missing afs_put_cell()
      81153336
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · ef9417e8
      Linus Torvalds authored
      Pull IOMMU updates from Joerg Roedel:
       "This time there are not a lot of changes coming from the IOMMU side.
      
        That is partly because I returned from my parental leave late in the
        development process and probably partly because everyone was busy with
        Spectre and Meltdown mitigation work and didn't find the time for
        IOMMU work. So here are the few changes that queued up for this merge
        window:
      
         - 5-level page-table support for the Intel IOMMU.
      
         - error reporting improvements for the AMD IOMMU driver
      
         - additional DT bindings for ipmmu-vmsa (Renesas)
      
         - small fixes and cleanups"
      
      * tag 'iommu-updates-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu: Clean up of_iommu_init_fn
        iommu/ipmmu-vmsa: Remove redundant of_iommu_init_fn hook
        iommu/msm: Claim bus ops on probe
        iommu/vt-d: Enable 5-level paging mode in the PASID entry
        iommu/vt-d: Add a check for 5-level paging support
        iommu/vt-d: Add a check for 1GB page support
        iommu/vt-d: Enable upto 57 bits of domain address width
        iommu/vt-d: Use domain instead of cache fetching
        iommu/exynos: Don't unconditionally steal bus ops
        iommu/omap: Fix debugfs_create_*() usage
        iommu/vt-d: clean up pr_irq if request_threaded_irq fails
        iommu: Check the result of iommu_group_get() for NULL
        iommu/ipmmu-vmsa: Add r8a779(70|95) DT bindings
        iommu/ipmmu-vmsa: Add r8a7796 DT binding
        iommu/amd: Set the device table entry PPR bit for IOMMU V2 devices
        iommu/amd - Record more information about unknown events
      ef9417e8
    • Linus Torvalds's avatar
      Merge branch 'pcmcia' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia · 605dc776
      Linus Torvalds authored
      Pull pcmcia updates from Dominik Brodowski:
       "The linux-pcmcia mailing list was shut down, so offer an alternative
        path for patches in MAINTAINERS.
      
        Also, throw in two odd fixes for the pcmcia subsystem"
      
      * 'pcmcia' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia:
        pcmcia: soc_common: Handle return value of clk_prepare_enable
        pcmcia: use proper printk format for resource
        pcmcia: remove mailing list, update MAINTAINERS
      605dc776
    • Linus Torvalds's avatar
      Merge tag 'drm-for-v4.16-part2-fixes' of git://people.freedesktop.org/~airlied/linux · fe26adf4
      Linus Torvalds authored
      Pull more drm updates from Dave Airlie:
       "Ben missed sending his nouveau tree, but he really didn't have much
        stuff in it:
      
         - GP108 acceleration support is enabled by "secure boot" support
      
         - some clockgating work on Kepler, and bunch of fixes
      
         - the bulk of the diff is regenerated firmware files, the change to
           them really isn't that large.
      
        Otherwise this contains regular Intel and AMDGPU fixes"
      
      * tag 'drm-for-v4.16-part2-fixes' of git://people.freedesktop.org/~airlied/linux: (59 commits)
        drm/i915/bios: add DP max link rate to VBT child device struct
        drm/i915/cnp: Properly handle VBT ddc pin out of bounds.
        drm/i915/cnp: Ignore VBT request for know invalid DDC pin.
        drm/i915/cmdparser: Do not check past the cmd length.
        drm/i915/cmdparser: Check reg_table_count before derefencing.
        drm/i915/bxt, glk: Increase PCODE timeouts during CDCLK freq changing
        drm/i915/gvt: Use KVM r/w to access guest opregion
        drm/i915/gvt: Fix aperture read/write emulation when enable x-no-mmap=on
        drm/i915/gvt: only reset execlist state of one engine during VM engine reset
        drm/i915/gvt: refine intel_vgpu_submission_ops as per engine ops
        drm/amdgpu: re-enable CGCG on CZ and disable on ST
        drm/nouveau/clk: fix gcc-7 -Wint-in-bool-context warning
        drm/nouveau/mmu: Fix trailing semicolon
        drm/nouveau: Introduce NvPmEnableGating option
        drm/nouveau: Add support for SLCG for Kepler2
        drm/nouveau: Add support for BLCG on Kepler2
        drm/nouveau: Add support for BLCG on Kepler1
        drm/nouveau: Add support for basic clockgating on Kepler1
        drm/nouveau/kms/nv50: fix handling of gamma since atomic conversion
        drm/nouveau/kms/nv50: use INTERPOLATE_257_UNITY_RANGE LUT on newer chipsets
        ...
      fe26adf4
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.16-rc1' of git://github.com/ceph/ceph-client · 9e95dae7
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "Things have been very quiet on the rbd side, as work continues on the
        big ticket items slated for the next merge window.
      
        On the CephFS side we have a large number of cap handling
        improvements, a fix for our long-standing abuse of ->journal_info in
        ceph_readpages() and yet another dentry pointer management patch"
      
      * tag 'ceph-for-4.16-rc1' of git://github.com/ceph/ceph-client:
        ceph: improving efficiency of syncfs
        libceph: check kstrndup() return value
        ceph: try to allocate enough memory for reserved caps
        ceph: fix race of queuing delayed caps
        ceph: delete unreachable code in ceph_check_caps()
        ceph: limit rate of cap import/export error messages
        ceph: fix incorrect snaprealm when adding caps
        ceph: fix un-balanced fsc->writeback_count update
        ceph: track read contexts in ceph_file_info
        ceph: avoid dereferencing invalid pointer during cached readdir
        ceph: use atomic_t for ceph_inode_info::i_shared_gen
        ceph: cleanup traceless reply handling for rename
        ceph: voluntarily drop Fx cap for readdir request
        ceph: properly drop caps for setattr request
        ceph: voluntarily drop Lx cap for link/rename requests
        ceph: voluntarily drop Ax cap for requests that create new inode
        rbd: whitelist RBD_FEATURE_OPERATIONS feature bit
        rbd: don't NULL out ->obj_request in rbd_img_obj_parent_read_full()
        rbd: use kmem_cache_zalloc() in rbd_img_request_create()
        rbd: obj_request->completion is unused
      9e95dae7
    • Nicolas Pitre's avatar
      cramfs: better MTD dependency expression · a8c6db00
      Nicolas Pitre authored
      Commit b9f5fb18 ("cramfs: fix MTD dependency") did what it says.
      
      Since commit 9059a349 ("kconfig: fix relational operators for bool
      and tristate symbols") it is possible to do it slightly better though.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8c6db00
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c0136321
      Linus Torvalds authored
      Pull more arm64 updates from Catalin Marinas:
       "As I mentioned in the last pull request, there's a second batch of
        security updates for arm64 with mitigations for Spectre/v1 and an
        improved one for Spectre/v2 (via a newly defined firmware interface
        API).
      
        Spectre v1 mitigation:
      
         - back-end version of array_index_mask_nospec()
      
         - masking of the syscall number to restrict speculation through the
           syscall table
      
         - masking of __user pointers prior to deference in uaccess routines
      
        Spectre v2 mitigation update:
      
         - using the new firmware SMC calling convention specification update
      
         - removing the current PSCI GET_VERSION firmware call mitigation as
           vendors are deploying new SMCCC-capable firmware
      
         - additional branch predictor hardening for synchronous exceptions
           and interrupts while in user mode
      
        Meltdown v3 mitigation update:
      
          - Cavium Thunder X is unaffected but a hardware erratum gets in the
            way. The kernel now starts with the page tables mapped as global
            and switches to non-global if kpti needs to be enabled.
      
        Other:
      
         - Theoretical trylock bug fixed"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (38 commits)
        arm64: Kill PSCI_GET_VERSION as a variant-2 workaround
        arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
        arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
        arm/arm64: smccc: Make function identifiers an unsigned quantity
        firmware/psci: Expose SMCCC version through psci_ops
        firmware/psci: Expose PSCI conduit
        arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
        arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support
        arm/arm64: KVM: Turn kvm_psci_version into a static inline
        arm/arm64: KVM: Advertise SMCCC v1.1
        arm/arm64: KVM: Implement PSCI 1.0 support
        arm/arm64: KVM: Add smccc accessors to PSCI code
        arm/arm64: KVM: Add PSCI_VERSION helper
        arm/arm64: KVM: Consolidate the PSCI include files
        arm64: KVM: Increment PC after handling an SMC trap
        arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
        arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
        arm64: entry: Apply BP hardening for suspicious interrupts from EL0
        arm64: entry: Apply BP hardening for high-priority synchronous exceptions
        arm64: futex: Mask __user pointers prior to dereference
        ...
      c0136321
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 846ade7d
      Linus Torvalds authored
      Pull virtio/vhost updates from Michael Tsirkin:
       "virtio, vhost: fixes, cleanups, features
      
        This includes the disk/cache memory stats for for the virtio balloon,
        as well as multiple fixes and cleanups"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost: don't hold onto file pointer for VHOST_SET_LOG_FD
        vhost: don't hold onto file pointer for VHOST_SET_VRING_ERR
        vhost: don't hold onto file pointer for VHOST_SET_VRING_CALL
        ringtest: ring.c malloc & memset to calloc
        virtio_vop: don't kfree device on register failure
        virtio_pci: don't kfree device on register failure
        virtio: split device_register into device_initialize and device_add
        vhost: remove unused lock check flag in vhost_dev_cleanup()
        vhost: Remove the unused variable.
        virtio_blk: print capacity at probe time
        virtio: make VIRTIO a menuconfig to ease disabling it all
        virtio/ringtest: virtio_ring: fix up need_event math
        virtio/ringtest: fix up need_event math
        virtio: virtio_mmio: make of_device_ids const.
        firmware: Use PTR_ERR_OR_ZERO()
        virtio-mmio: Use PTR_ERR_OR_ZERO()
        vhost/scsi: Improve a size determination in four functions
        virtio_balloon: include disk/file caches memory statistics
      846ade7d
    • Chuck Lever's avatar
      svcrdma: Fix Read chunk round-up · 175e0310
      Chuck Lever authored
      A single NFSv4 WRITE compound can often have three operations:
      PUTFH, WRITE, then GETATTR.
      
      When the WRITE payload is sent in a Read chunk, the client places
      the GETATTR in the inline part of the RPC/RDMA message, just after
      the WRITE operation (sans payload). The position value in the Read
      chunk enables the receiver to insert the Read chunk at the correct
      place in the received XDR stream; that is between the WRITE and
      GETATTR.
      
      According to RFC 8166, an NFS/RDMA client does not have to add XDR
      round-up to the Read chunk that carries the WRITE payload. The
      receiver adds XDR round-up padding if it is absent and the
      receiver's XDR decoder requires it to be present.
      
      Commit 193bcb7b ("svcrdma: Populate tail iovec when receiving")
      attempted to add support for receiving such a compound so that just
      the WRITE payload appears in rq_arg's page list, and the trailing
      GETATTR is placed in rq_arg's tail iovec. (TCP just strings the
      whole compound into the head iovec and page list, without regard
      to the alignment of the WRITE payload).
      
      The server transport logic also had to accommodate the optional XDR
      round-up of the Read chunk, which it did simply by lengthening the
      tail iovec when round-up was needed. This approach is adequate for
      the NFSv2 and NFSv3 WRITE decoders.
      
      Unfortunately it is not sufficient for nfsd4_decode_write. When the
      Read chunk length is a couple of bytes less than PAGE_SIZE, the
      computation at the end of nfsd4_decode_write allows argp->pagelen to
      go negative, which breaks the logic in read_buf that looks for the
      tail iovec.
      
      The result is that a WRITE operation whose payload length is just
      less than a multiple of a page succeeds, but the subsequent GETATTR
      in the same compound fails with NFS4ERR_OP_ILLEGAL because the XDR
      decoder can't find it. Clients ignore the error, but they must
      update their attribute cache via a separate round trip.
      
      As nfsd4_decode_write appears to expect the payload itself to always
      have appropriate XDR round-up, have svc_rdma_build_normal_read_chunk
      add the Read chunk XDR round-up to the page_len rather than
      lengthening the tail iovec.
      Reported-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Fixes: 193bcb7b ("svcrdma: Populate tail iovec when receiving")
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Tested-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      175e0310
    • Arnd Bergmann's avatar
      NFSD: hide unused svcxdr_dupstr() · 2285ae76
      Arnd Bergmann authored
      There is now only one caller left for svcxdr_dupstr() and this is inside
      of an #ifdef, so we can get a warning when the option is disabled:
      
      fs/nfsd/nfs4xdr.c:241:1: error: 'svcxdr_dupstr' defined but not used [-Werror=unused-function]
      
      This changes the remaining caller to use a nicer IS_ENABLED() check,
      which lets the compiler drop the unused code silently.
      
      Fixes: e40d99e6183e ("NFSD: Clean up symlink argument XDR decoders")
      Suggested-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      2285ae76
    • Amir Goldstein's avatar
      nfsd: store stat times in fill_pre_wcc() instead of inode times · 39ca1bf6
      Amir Goldstein authored
      The time values in stat and inode may differ for overlayfs and stat time
      values are the correct ones to use. This is also consistent with the fact
      that fill_post_wcc() also stores stat time values.
      
      This means introducing a stat call that could fail, where previously we
      were just copying values out of the inode.  To be conservative about
      changing behavior, we fall back to copying values out of the inode in
      the error case.  It might be better just to clear fh_pre_saved (though
      note the BUG_ON in set_change_info).
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      39ca1bf6
    • Amir Goldstein's avatar
      nfsd: encode stat->mtime for getattr instead of inode->i_mtime · 76c47948
      Amir Goldstein authored
      The values of stat->mtime and inode->i_mtime may differ for overlayfs
      and stat->mtime is the correct value to use when encoding getattr.
      This is also consistent with the fact that other attr times are also
      encoded from stat values.
      
      Both callers of lease_get_mtime() already have the value of stat->mtime,
      so the only needed change is that lease_get_mtime() will not overwrite
      this value with inode->i_mtime in case the inode does not have an
      exclusive lease.
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      76c47948
    • J. Bruce Fields's avatar
      nfsd: return RESOURCE not GARBAGE_ARGS on too many ops · 0078117c
      J. Bruce Fields authored
      A client that sends more than a hundred ops in a single compound
      currently gets an rpc-level GARBAGE_ARGS error.
      
      It would be more helpful to return NFS4ERR_RESOURCE, since that gives
      the client a better idea how to recover (for example by splitting up the
      compound into smaller compounds).
      
      This is all a bit academic since we've never actually seen a reason for
      clients to send such long compounds, but we may as well fix it.
      
      While we're there, just use NFSD4_MAX_OPS_PER_COMPOUND == 16, the
      constant we already use in the 4.1 case, instead of hard-coding 100.
      Chances anyone actually uses even 16 ops per compound are small enough
      that I think there's a neglible risk or any regression.
      
      This fixes pynfs test COMP6.
      Reported-by: default avatar"Lu, Xinyu" <luxy.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      0078117c
    • Linus Torvalds's avatar
      Merge tags 'cris-for-4.16' and 'cris-for-4.16-urgent' of... · 977e4152
      Linus Torvalds authored
      Merge tags 'cris-for-4.16' and 'cris-for-4.16-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris
      
      Pull CRIS updates and fixes from Jesper Nilsson:
      
       - a small fix for some conflicting symbols, aligning CRIS with other
         platforms.
      
       - fix build breakage regression for all CRIS SoCs. The main Makefile
         for the CRIS port was overzealously scrubbed in 4.15-rc3.
      
      * tag 'cris-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
        cris: Fix conflicting types for _etext, _edata, _end
      
      * tag 'cris-for-4.16-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
        CRIS: Restore mistakenly cleared kernel Makefile
      977e4152
    • Steven Rostedt (VMware)'s avatar
      selftests/ftrace: Add more tests for removing of function probes · 878cb3fb
      Steven Rostedt (VMware) authored
      Al Viro discovered a bug in the removing of function probes where if it had
      a '*' at the beginning, it would fail to find any matches. That is, because
      it reset the glob search string to the the initial string with a "MATCH_END"
      type, instead of skipping the wildcard "*" it included it, where it would
      not match any functions because "*" was being treated as a normal character
      and not a wildcard one.
      
      Link: http://lkml.kernel.org/r/20180127031706.GE13338@ZenIV.linux.org.uk
      
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      878cb3fb
    • Steven Rostedt (VMware)'s avatar
      selftests/ftrace: Add some missing glob checks · 97fe22ad
      Steven Rostedt (VMware) authored
      Al Viro discovered a bug in the glob ftrace filtering code where "*a*b" is
      treated the same as "a*b", and functions that would be selected by "*a*b"
      but not "a*b" are not selected with "*a*b".
      
      Add tests for patterns "*a*b" and "a*b*" to the glob selftest.
      
      Link: http://lkml.kernel.org/r/20180127170748.GF13338@ZenIV.linux.org.uk
      
      Cc: Shuah Khan <shuah@kernel.org>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      97fe22ad
    • Steven Rostedt (VMware)'s avatar
      selftests/ftrace: Have reset_ftrace_filter handle multiple instances · 0787ce33
      Steven Rostedt (VMware) authored
      If a probe is attached to a static function that is in multiple files with
      the same name, removing it by name will remove all instances:
      
       # grep jump_label_unlock set_ftrace_filter
      jump_label_unlock:traceoff:unlimited
      jump_label_unlock:traceoff:unlimited
      
       # echo '!jump_label_unlock:traceoff' >> set_ftrace_filter
       # grep jump_label_unlock set_ftrace_filter
       #
      
      But the loop in reset_ftrace_filter will try to remove multiple instances
      multiple times. If this happens the second time will error and cause the
      test to fail.
      
      At each iteration of the loop, check to see if the probe being removed still
      exists.
      
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      0787ce33
    • Steven Rostedt (VMware)'s avatar
      selftests/ftrace: Have reset_ftrace_filter handle modules · df9d36d9
      Steven Rostedt (VMware) authored
      If a function probe in set_ftrace_filter belongs to a module, it will
      contain the module name. Like:
      
       wmi_query_block [wmi]:traceoff:unlimited
      
      But writing:
      
       '!wmi_query_block [wmi]:traceoff' > set_ftrace_filter
      
      will cause an error. We still need to write:
      
       '!wmi_query_block:traceoff' > set_ftrace_filter
      
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      df9d36d9
    • Steven Rostedt (VMware)'s avatar
      tracing: Fix parsing of globs with a wildcard at the beginning · 07234021
      Steven Rostedt (VMware) authored
      Al Viro reported:
      
          For substring - sure, but what about something like "*a*b" and "a*b"?
          AFAICS, filter_parse_regex() ends up with identical results in both
          cases - MATCH_GLOB and *search = "a*b".  And no way for the caller
          to tell one from another.
      
      Testing this with the following:
      
       # cd /sys/kernel/tracing
       # echo '*raw*lock' > set_ftrace_filter
       bash: echo: write error: Invalid argument
      
      With this patch:
      
       # echo '*raw*lock' > set_ftrace_filter
       # cat set_ftrace_filter
      _raw_read_trylock
      _raw_write_trylock
      _raw_read_unlock
      _raw_spin_unlock
      _raw_write_unlock
      _raw_spin_trylock
      _raw_spin_lock
      _raw_write_lock
      _raw_read_lock
      
      Al recommended not setting the search buffer to skip the first '*' unless we
      know we are not using MATCH_GLOB. This implements his suggested logic.
      
      Link: http://lkml.kernel.org/r/20180127170748.GF13338@ZenIV.linux.org.uk
      
      Cc: stable@vger.kernel.org
      Fixes: 60f1d5e3 ("ftrace: Support full glob matching")
      Reviewed-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Reported-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Suggsted-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      07234021
    • Steven Rostedt (VMware)'s avatar
      ftrace: Remove incorrect setting of glob search field · 7b658656
      Steven Rostedt (VMware) authored
      __unregister_ftrace_function_probe() will incorrectly parse the glob filter
      because it resets the search variable that was setup by filter_parse_regex().
      
      Al Viro reported this:
      
          After that call of filter_parse_regex() we could have func_g.search not
          equal to glob only if glob started with '!' or '*'.  In the former case
          we would've buggered off with -EINVAL (not = 1).  In the latter we
          would've set func_g.search equal to glob + 1, calculated the length of
          that thing in func_g.len and proceeded to reset func_g.search back to
          glob.
      
          Suppose the glob is e.g. *foo*.  We end up with
      	    func_g.type = MATCH_MIDDLE_ONLY;
      	    func_g.len = 3;
      	    func_g.search = "*foo";
          Feeding that to ftrace_match_record() will not do anything sane - we
          will be looking for names containing "*foo" (->len is ignored for that
          one).
      
      Link: http://lkml.kernel.org/r/20180127031706.GE13338@ZenIV.linux.org.uk
      
      Cc: stable@vger.kernel.org
      Fixes: 3ba00929 ("ftrace: Introduce ftrace_glob structure")
      Reviewed-by: default avatarDmitry Safonov <0x7f454c46@gmail.com>
      Reviewed-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Reported-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      7b658656
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-video', 'acpi-battery' and 'acpi-cppc' · d4abd46b
      Rafael J. Wysocki authored
      * acpi-video:
        ACPI / video: Use true for boolean value
      
      * acpi-battery:
        ACPI / battery: Add quirk for Asus UX360UA and UX410UAK
      
      * acpi-cppc:
        ACPI / CPPC: Use 64-bit arithmetic instead of 32-bit
      d4abd46b
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-tables', 'acpi-bus' and 'acpi-processor' · 3c9c75de
      Rafael J. Wysocki authored
      * acpi-tables:
        ACPI: SPCR: Make SPCR available to x86
        ACPI / tables: Add IORT to injectable table list
      
      * acpi-bus:
        ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530
        ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs
        ACPI / bus: Do not call _STA on battery devices with unmet dependencies
        PCI: acpiphp_ibm: prepare for acpi_get_object_info() no longer returning status
        ACPI: export acpi_bus_get_status_handle()
      
      * acpi-processor:
        ACPI / processor: Set default C1 idle state description
        ACPI: processor_perflib: Do not send _PPC change notification if not ready
      3c9c75de
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · b1738e3e
      Rafael J. Wysocki authored
      * acpica:
        ACPICA: Update version to 20180105
        ACPICA: All acpica: Update copyrights to 2018
        ACPICA: Add a missing pair of parentheses
        ACPICA: Prefer ACPI_TO_POINTER() over ACPI_ADD_PTR()
        ACPICA: Avoid NULL pointer arithmetic
        ACPICA: Linux: add support for X32 ABI compilation
      b1738e3e
    • Jesper Nilsson's avatar
      CRIS: Restore mistakenly cleared kernel Makefile · 6e037721
      Jesper Nilsson authored
      Commit 0fbc0b67 ("cris: remove arch specific early DT functions")
      was a bit overzealous in removing the CRIS DT handling,
      and the complete contents of the Makefile was erased
      instead of just the line for the devicetree file.
      
      This lead to a complete link failure for all SoCs in
      the CRIS port due to missing symbols.
      
      Restore the contents except the line for the devicetree file.
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      Fixes: 0fbc0b67
      6e037721
    • Simon Gaiser's avatar
      xen: Fix {set,clear}_foreign_p2m_mapping on autotranslating guests · 781198f1
      Simon Gaiser authored
      Commit 82616f95 ("xen: remove tests for pvh mode in pure pv paths")
      removed the check for autotranslation from {set,clear}_foreign_p2m_mapping
      but those are called by grant-table.c also on PVH/HVM guests.
      
      Cc: <stable@vger.kernel.org> # 4.14
      Fixes: 82616f95 ("xen: remove tests for pvh mode in pure pv paths")
      Signed-off-by: default avatarSimon Gaiser <simon@invisiblethingslab.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      781198f1
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'pm-domains' · 616f1609
      Rafael J. Wysocki authored
      * pm-cpufreq:
        arm: imx: Add MODULE_ALIAS for cpufreq
        cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx()
        cpufreq: intel_pstate: Enable HWP during system resume on CPU0
        cpufreq: scpi: fix error return code in scpi_cpufreq_init()
        cpufreq: scpi: fix static checker warning cdev isn't an ERR_PTR
        cpufreq: remove at32ap-cpufreq
        cpufreq: AMD: Ignore the check for ProcFeedback in ST/CZ
        cpufreq: Skip cpufreq resume if it's not suspended
      
      * pm-cpuidle:
        x86: PM: Make APM idle driver initialize polling state
      
      * pm-domains:
        PM / domains: Fix up domain-idle-states OF parsing
      616f1609
    • Nicolas Chauvet's avatar
      arm: imx: Add MODULE_ALIAS for cpufreq · d0404738
      Nicolas Chauvet authored
      Without this, the imx6q-cpufreq driver isn't loaded
      automatically when built as a module
      
      Tested on wandboard quad with a fedora 27 kernel rpm
      Signed-off-by: default avatarNicolas Chauvet <kwizart@gmail.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d0404738
    • Dominik Brodowski's avatar
      cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() · ffd81dcf
      Dominik Brodowski authored
      Pointer subtraction is slow and tedious. Therefore, replace all instances
      where cpufreq_for_each_{valid_,}entry loops contained such substractions
      with an iteration macro providing an index to the frequency_table entry.
      Suggested-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Link: http://lkml.kernel.org/r/20180120020237.GM13338@ZenIV.linux.org.ukAcked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ffd81dcf