1. 07 Jul, 2017 12 commits
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · b6ffe9ba
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "libnvdimm updates for the latest ACPI and UEFI specifications. This
        pull request also includes new 'struct dax_operations' enabling to
        undo the abuse of copy_user_nocache() for copy operations to pmem.
      
        The dax work originally missed 4.12 to address concerns raised by Al.
      
        Summary:
      
         - Introduce the _flushcache() family of memory copy helpers and use
           them for persistent memory write operations on x86. The
           _flushcache() semantic indicates that the cache is either bypassed
           for the copy operation (movnt) or any lines dirtied by the copy
           operation are written back (clwb, clflushopt, or clflush).
      
         - Extend dax_operations with ->copy_from_iter() and ->flush()
           operations. These operations and other infrastructure updates allow
           all persistent memory specific dax functionality to be pushed into
           libnvdimm and the pmem driver directly. It also allows dax-specific
           sysfs attributes to be linked to a host device, for example:
           /sys/block/pmem0/dax/write_cache
      
         - Add support for the new NVDIMM platform/firmware mechanisms
           introduced in ACPI 6.2 and UEFI 2.7. This support includes the v1.2
           namespace label format, extensions to the address-range-scrub
           command set, new error injection commands, and a new BTT
           (block-translation-table) layout. These updates support inter-OS
           and pre-OS compatibility.
      
         - Fix a longstanding memory corruption bug in nfit_test.
      
         - Make the pmem and nvdimm-region 'badblocks' sysfs files poll(2)
           capable.
      
         - Miscellaneous fixes and small updates across libnvdimm and the nfit
           driver.
      
        Acknowledgements that came after the branch was pushed: commit
        6aa734a2 ("libnvdimm, region, pmem: fix 'badblocks'
        sysfs_get_dirent() reference lifetime") was reviewed by Toshi Kani
        <toshi.kani@hpe.com>"
      
      * tag 'libnvdimm-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (42 commits)
        libnvdimm, namespace: record 'lbasize' for pmem namespaces
        acpi/nfit: Issue Start ARS to retrieve existing records
        libnvdimm: New ACPI 6.2 DSM functions
        acpi, nfit: Show bus_dsm_mask in sysfs
        libnvdimm, acpi, nfit: Add bus level dsm mask for pass thru.
        acpi, nfit: Enable DSM pass thru for root functions.
        libnvdimm: passthru functions clear to send
        libnvdimm, btt: convert some info messages to warn/err
        libnvdimm, region, pmem: fix 'badblocks' sysfs_get_dirent() reference lifetime
        libnvdimm: fix the clear-error check in nsio_rw_bytes
        libnvdimm, btt: fix btt_rw_page not returning errors
        acpi, nfit: quiet invalid block-aperture-region warnings
        libnvdimm, btt: BTT updates for UEFI 2.7 format
        acpi, nfit: constify *_attribute_group
        libnvdimm, pmem: disable dax flushing when pmem is fronting a volatile region
        libnvdimm, pmem, dax: export a cache control attribute
        dax: convert to bitmask for flags
        dax: remove default copy_from_iter fallback
        libnvdimm, nfit: enable support for volatile ranges
        libnvdimm, pmem: fix persistence warning
        ...
      b6ffe9ba
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 9f45efb9
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
      
       - a few hotfixes
      
       - various misc updates
      
       - ocfs2 updates
      
       - most of MM
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (108 commits)
        mm, memory_hotplug: move movable_node to the hotplug proper
        mm, memory_hotplug: drop CONFIG_MOVABLE_NODE
        mm, memory_hotplug: drop artificial restriction on online/offline
        mm: memcontrol: account slab stats per lruvec
        mm: memcontrol: per-lruvec stats infrastructure
        mm: memcontrol: use generic mod_memcg_page_state for kmem pages
        mm: memcontrol: use the node-native slab memory counters
        mm: vmstat: move slab statistics from zone to node counters
        mm/zswap.c: delete an error message for a failed memory allocation in zswap_dstmem_prepare()
        mm/zswap.c: improve a size determination in zswap_frontswap_init()
        mm/zswap.c: delete an error message for a failed memory allocation in zswap_pool_create()
        mm/swapfile.c: sort swap entries before free
        mm/oom_kill: count global and memory cgroup oom kills
        mm: per-cgroup memory reclaim stats
        mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects
        mm: kmemleak: factor object reference updating out of scan_block()
        mm: kmemleak: slightly reduce the size of some structures on 64-bit architectures
        mm, mempolicy: don't check cpuset seqlock where it doesn't matter
        mm, cpuset: always use seqlock when changing task's nodemask
        mm, mempolicy: simplify rebinding mempolicies when updating cpusets
        ...
      9f45efb9
    • Linus Torvalds's avatar
      Merge branch 'uaccess.strlen' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · dc502142
      Linus Torvalds authored
      Pull user access str* updates from Al Viro:
       "uaccess str...() dead code removal"
      
      * 'uaccess.strlen' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        s390 keyboard.c: don't open-code strndup_user()
        mips: get rid of unused __strnlen_user()
        get rid of unused __strncpy_from_user() instances
        kill strlen_user()
      dc502142
    • Linus Torvalds's avatar
      Merge branch 'work.probe_kernel_read' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 90880b53
      Linus Torvalds authored
      Pull probe_kernel_read() uses from Al Viro:
       "Several open-coded probe_kernel_read()..."
      
      * 'work.probe_kernel_read' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        dio: use probe_kernel_read()
        hp_sdc: use probe_kernel_read()
        hpfb: use probe_kernel_read()
      90880b53
    • Linus Torvalds's avatar
      Merge branch 'misc.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1c91d2c6
      Linus Torvalds authored
      Pull alpha user access updates from Al Viro:
       "Several alpha osf_sys.c uaccess cleanups - getdomainname() had insane
        byte-by-byte copying of string to userland (instead of strnlen +
        copy_to_user) plus yet another compat variant of timeval/itimerval
        with associated copyin/copyout primitives"
      
      * 'misc.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        osf_sigstack(): switch to put_user()
        osf_sys.c: switch handling of timeval32/itimerval32 to copy_{to,from}_user()
        osf_getdomainname(): use copy_to_user()
      1c91d2c6
    • Linus Torvalds's avatar
      Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c8568639
      Linus Torvalds authored
      Pull misc compat stuff updates from Al Viro:
       "This part is basically untangling various compat stuff. Compat
        syscalls moved to their native counterparts, getting rid of quite a
        bit of double-copying and/or set_fs() uses. A lot of field-by-field
        copyin/copyout killed off.
      
         - kernel/compat.c is much closer to containing just the
           copyin/copyout of compat structs. Not all compat syscalls are gone
           from it yet, but it's getting there.
      
         - ipc/compat_mq.c killed off completely.
      
         - block/compat_ioctl.c cleaned up; floppy compat ioctls moved to
           drivers/block/floppy.c where they belong. Yes, there are several
           drivers that implement some of the same ioctls. Some are m68k and
           one is 32bit-only pmac. drivers/block/floppy.c is the only one in
           that bunch that can be built on biarch"
      
      * 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        mqueue: move compat syscalls to native ones
        usbdevfs: get rid of field-by-field copyin
        compat_hdio_ioctl: get rid of set_fs()
        take floppy compat ioctls to sodding floppy.c
        ipmi: get rid of field-by-field __get_user()
        ipmi: get COMPAT_IPMICTL_RECEIVE_MSG in sync with the native one
        rt_sigtimedwait(): move compat to native
        select: switch compat_{get,put}_fd_set() to compat_{get,put}_bitmap()
        put_compat_rusage(): switch to copy_to_user()
        sigpending(): move compat to native
        getrlimit()/setrlimit(): move compat to native
        times(2): move compat to native
        compat_{get,put}_bitmap(): use unsafe_{get,put}_user()
        fb_get_fscreeninfo(): don't bother with do_fb_ioctl()
        do_sigaltstack(): lift copying to/from userland into callers
        take compat_sys_old_getrlimit() to native syscall
        trim __ARCH_WANT_SYS_OLD_GETRLIMIT
      c8568639
    • Linus Torvalds's avatar
      Merge branch 'work.drm' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 771d3feb
      Linus Torvalds authored
      Pull DRM compat ioctl handling updates from Al Viro:
       "This kills the double-copies in there and tons of field-by-field
        copyin/copyout.
      
        Several dead ioctls put to rest, while we are at it - the native
        counterparts had been gone for a decade, so we can bloody well fail
        early on the compat side. No point rearranging the 32bit structure
        into 64bit one (and back) only to be told "piss off, I don't know that
        ioctl" by the native code..."
      
      * 'work.drm' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (29 commits)
        Fix trivial misannotations
        mga: switch compat ioctls to drm_ioctl_kernel()
        radeon: take out dead compat ioctls
        drm compat: ia64 is not biarch
        drm_compat_ioctl(): tidy up a bit
        switch compat_drm_mapbufs() to drm_ioctl_kernel()
        switch compat_drm_rmmap() to drm_ioctl_kernel()
        switch compat_drm_mode_addfb2() to drm_ioctl_kernel()
        switch compat_drm_wait_vblank() to drm_ioctl_kernel()
        switch compat_drm_update_draw()
        compat_drm: switch sg ioctls
        compat_drm: switch AGP compat ioctls to drm_ioctl_kernel()
        switch compat_drm_dma() to drm_ioctl_kernel()
        switch compat_drm_resctx() to drm_ioctl_kernel()
        switch compat_drm_getsareactx() to drm_ioctl_kernel()
        switch compat_drm_setsareactx() to drm_ioctl_kernel()
        switch compat_drm_freebufs() to drm_ioctl_kernel()
        switch compat_drm_markbufs() to drm_ioctl_kernel()
        switch compat_drm_addmap() to drm_ioctl_kernel()
        switch compat_drm_getstats() to drm_ioctl_kernel()
        ...
      771d3feb
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 2074006d
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "The new features of this release:
      
         - Added TRACE_DEFINE_SIZEOF() which allows trace events that use
           sizeof() it the TP_printk() to be converted to the actual size such
           that trace-cmd and perf can parse them correctly.
      
         - Some rework of the TRACE_DEFINE_ENUM() such that the above
           TRACE_DEFINE_SIZEOF() could reuse the same code.
      
         - Recording of tgid (Thread Group ID). This is similar to how task
           COMMs are recorded (cached at sched_switch), where it is in a table
           and used on output of the trace and trace_pipe files.
      
         - Have ":mod:<module>" be cached when written into set_ftrace_filter.
           Then the functions of the module will be traced at module load.
      
         - Some random clean ups and small fixes"
      
      * tag 'trace-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (26 commits)
        ftrace: Test for NULL iter->tr in regex for stack_trace_filter changes
        ftrace: Decrement count for dyn_ftrace_total_info for init functions
        ftrace: Unlock hash mutex on failed allocation in process_mod_list()
        tracing: Add support for display of tgid in trace output
        tracing: Add support for recording tgid of tasks
        ftrace: Decrement count for dyn_ftrace_total_info file
        ftrace: Remove unused function ftrace_arch_read_dyn_info()
        sh/ftrace: Remove only user of ftrace_arch_read_dyn_info()
        ftrace: Have cached module filters be an active filter
        ftrace: Implement cached modules tracing on module load
        ftrace: Have the cached module list show in set_ftrace_filter
        ftrace: Add :mod: caching infrastructure to trace_array
        tracing: Show address when function names are not found
        ftrace: Add missing comment for FTRACE_OPS_FL_RCU
        tracing: Rename update the enum_map file
        tracing: Add TRACE_DEFINE_SIZEOF() macros
        tracing: define TRACE_DEFINE_SIZEOF() macro to map sizeof's to their values
        tracing: Rename enum_replace to eval_replace
        trace: rename enum_map functions
        trace: rename trace.c enum functions
        ...
      2074006d
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.13' of git://git.infradead.org/users/hch/dma-mapping · f72e24a1
      Linus Torvalds authored
      Pull dma-mapping infrastructure from Christoph Hellwig:
       "This is the first pull request for the new dma-mapping subsystem
      
        In this new subsystem we'll try to properly maintain all the generic
        code related to dma-mapping, and will further consolidate arch code
        into common helpers.
      
        This pull request contains:
      
         - removal of the DMA_ERROR_CODE macro, replacing it with calls to
           ->mapping_error so that the dma_map_ops instances are more self
           contained and can be shared across architectures (me)
      
         - removal of the ->set_dma_mask method, which duplicates the
           ->dma_capable one in terms of functionality, but requires more
           duplicate code.
      
         - various updates for the coherent dma pool and related arm code
           (Vladimir)
      
         - various smaller cleanups (me)"
      
      * tag 'dma-mapping-4.13' of git://git.infradead.org/users/hch/dma-mapping: (56 commits)
        ARM: dma-mapping: Remove traces of NOMMU code
        ARM: NOMMU: Set ARM_DMA_MEM_BUFFERABLE for M-class cpus
        ARM: NOMMU: Introduce dma operations for noMMU
        drivers: dma-mapping: allow dma_common_mmap() for NOMMU
        drivers: dma-coherent: Introduce default DMA pool
        drivers: dma-coherent: Account dma_pfn_offset when used with device tree
        dma: Take into account dma_pfn_offset
        dma-mapping: replace dmam_alloc_noncoherent with dmam_alloc_attrs
        dma-mapping: remove dmam_free_noncoherent
        crypto: qat - avoid an uninitialized variable warning
        au1100fb: remove a bogus dma_free_nonconsistent call
        MAINTAINERS: add entry for dma mapping helpers
        powerpc: merge __dma_set_mask into dma_set_mask
        dma-mapping: remove the set_dma_mask method
        powerpc/cell: use the dma_supported method for ops switching
        powerpc/cell: clean up fixed mapping dma_ops initialization
        tile: remove dma_supported and mapping_error methods
        xen-swiotlb: remove xen_swiotlb_set_dma_mask
        arm: implement ->dma_supported instead of ->set_dma_mask
        mips/loongson64: implement ->dma_supported instead of ->set_dma_mask
        ...
      f72e24a1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2c669275
      Linus Torvalds authored
      Pull more s390 updates from Martin Schwidefsky:
      
       - The fixup for the blk-mq clash with the scm driver
      
       - An improvement for the dasd driver in regard to raw I/O
      
       - Bug fixes and cleanup
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        Update my email address
        s390/syscalls: Fix out of bounds arguments access
        s390/vfio_ccw: remove unused variable
        s390/dasd: remove unneeded code
        s390/crash: Remove unused KEXEC_NOTE_BYTES
        s390/zcrypt: Fix missing newlines at some debug feature messages.
        s390/dasd: Make raw I/O usable without prefix support
        s390/dasd: Rename dasd_raw_build_cp()
        s390/dasd: Refactor prefix_LRE() and related functions
        s390: fix up for "blk-mq: switch ->queue_rq return value to blk_status_t"
      2c669275
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 6e6c5b96
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
       "Other than fixes and cleanups it contains:
      
         - support > 32 VCPUs at domain restore
      
         - support for new sysfs nodes related to Xen
      
         - some performance tuning for Linux running as Xen guest"
      
      * tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: allow userspace access during hypercalls
        x86: xen: remove unnecessary variable in xen_foreach_remap_area()
        xen: allocate page for shared info page from low memory
        xen: avoid deadlock in xenbus driver
        xen: add sysfs node for hypervisor build id
        xen: sync include/xen/interface/version.h
        xen: add sysfs node for guest type
        doc,xen: document hypervisor sysfs nodes for xen
        xen/vcpu: Handle xen_vcpu_setup() failure at boot
        xen/vcpu: Handle xen_vcpu_setup() failure in hotplug
        xen/pv: Fix OOPS on restore for a PV, !SMP domain
        xen/pvh*: Support > 32 VCPUs at domain restore
        xen/vcpu: Simplify xen_vcpu related code
        xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU
        xen: avoid type warning in xchg_xen_ulong
        xen: fix HYPERVISOR_dm_op() prototype
        xen: don't print error message in case of missing Xenstore entry
        arm/xen: Adjust one function call together with a variable assignment
        arm/xen: Delete an error message for a failed memory allocation in __set_phys_to_machine_multi()
        arm/xen: Improve a size determination in __set_phys_to_machine_multi()
      6e6c5b96
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c136b843
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "PPC:
         - Better machine check handling for HV KVM
         - Ability to support guests with threads=2, 4 or 8 on POWER9
         - Fix for a race that could cause delayed recognition of signals
         - Fix for a bug where POWER9 guests could sleep with interrupts pending.
      
        ARM:
         - VCPU request overhaul
         - allow timer and PMU to have their interrupt number selected from userspace
         - workaround for Cavium erratum 30115
         - handling of memory poisonning
         - the usual crop of fixes and cleanups
      
        s390:
         - initial machine check forwarding
         - migration support for the CMMA page hinting information
         - cleanups and fixes
      
        x86:
         - nested VMX bugfixes and improvements
         - more reliable NMI window detection on AMD
         - APIC timer optimizations
      
        Generic:
         - VCPU request overhaul + documentation of common code patterns
         - kvm_stat improvements"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (124 commits)
        Update my email address
        kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS
        x86: kvm: mmu: use ept a/d in vmcs02 iff used in vmcs12
        kvm: x86: mmu: allow A/D bits to be disabled in an mmu
        x86: kvm: mmu: make spte mmio mask more explicit
        x86: kvm: mmu: dead code thanks to access tracking
        KVM: PPC: Book3S: Fix typo in XICS-on-XIVE state saving code
        KVM: PPC: Book3S HV: Close race with testing for signals on guest entry
        KVM: PPC: Book3S HV: Simplify dynamic micro-threading code
        KVM: x86: remove ignored type attribute
        KVM: LAPIC: Fix lapic timer injection delay
        KVM: lapic: reorganize restart_apic_timer
        KVM: lapic: reorganize start_hv_timer
        kvm: nVMX: Check memory operand to INVVPID
        KVM: s390: Inject machine check into the nested guest
        KVM: s390: Inject machine check into the guest
        tools/kvm_stat: add new interactive command 'b'
        tools/kvm_stat: add new command line switch '-i'
        tools/kvm_stat: fix error on interactive command 'g'
        KVM: SVM: suppress unnecessary NMI singlestep on GIF=0 and nested exit
        ...
      c136b843
  2. 06 Jul, 2017 28 commits