1. 04 Mar, 2018 1 commit
    • Linus Torvalds's avatar
      Merge tag 'for-4.16-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · af8c0816
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - when NR_CPUS is large, a SRCU structure can significantly inflate
         size of the main filesystem structure that would not be possible to
         allocate by kmalloc, so the kvalloc fallback is used
      
       - improved error handling
      
       - fix endiannes when printing some filesystem attributes via sysfs,
         this is could happen when a filesystem is moved between different
         endianity hosts
      
       - send fixes: the NO_HOLE mode should not send a write operation for a
         file hole
      
       - fix log replay for for special files followed by file hardlinks
      
       - fix log replay failure after unlink and link combination
      
       - fix max chunk size calculation for DUP allocation
      
      * tag 'for-4.16-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix log replay failure after unlink and link combination
        Btrfs: fix log replay failure after linking special file and fsync
        Btrfs: send, fix issuing write op when processing hole in no data mode
        btrfs: use proper endianness accessors for super_copy
        btrfs: alloc_chunk: fix DUP stripe size handling
        btrfs: Handle btrfs_set_extent_delalloc failure in relocate_file_extent_cluster
        btrfs: handle failure of add_pending_csums
        btrfs: use kvzalloc to allocate btrfs_fs_info
      af8c0816
  2. 03 Mar, 2018 11 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 58bdf601
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "A driver fix and a documentation fix (which makes dependency handling
        for the next cycle easier)"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: octeon: Prevent error message on bus error
        dt-bindings: at24: sort manufacturers alphabetically
      58bdf601
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 20f14172
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A 4.16 regression fix, three fixes for -stable, and a cleanup fix:
      
         - During the merge window support for the new ACPI NVDIMM Platform
           Capabilities structure disabled support for "deep flush", a
           force-unit- access like mechanism for persistent memory. Restore
           that mechanism.
      
         - VFIO like RDMA is yet one more memory registration / pinning
           interface that is incompatible with Filesystem-DAX. Disable long
           term pins of Filesystem-DAX mappings via VFIO.
      
         - The Filesystem-DAX detection to prevent long terms pins mistakenly
           also disabled Device-DAX pins which are not subject to the same
           block- map collision concerns.
      
         - Similar to the setup path, softlockup warnings can trigger in the
           shutdown path for large persistent memory namespaces. Teach
           for_each_device_pfn() to perform cond_resched() in all cases.
      
         - Boaz noticed that the might_sleep() in dax_direct_access() is stale
           as of the v4.15 kernel.
      
        These have received a build success notification from the 0day robot,
        and the longterm pin fixes have appeared in -next. However, I recently
        rebased the tree to remove some other fixes that need to be reworked
        after review feedback.
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        memremap: fix softlockup reports at teardown
        libnvdimm: re-enable deep flush for pmem devices via fsync()
        vfio: disable filesystem-dax page pinning
        dax: fix vma_is_fsdax() helper
        dax: ->direct_access does not sleep anymore
      20f14172
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v4.16' of... · 0eb3412a
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - suppress sparse warnings about unknown attributes
      
       - fix typos and stale comments
      
       - fix build error of arch/sh
      
       - fix wrong use of ld-option vs cc-ldoption
      
       - remove redundant GCC_PLUGINS_CFLAGS assignment
      
       - fix another memory leak of Kconfig
      
       - fix line number in error messages of Kconfig
      
       - do not write confusing CONFIG_DEFCONFIG_LIST out to .config
      
       - add xstrdup() to Kconfig to handle memory shortage errors
      
       - show also a Debian package name if ncurses is missing
      
      * tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        MAINTAINERS: take over Kconfig maintainership
        kconfig: fix line number in recursive inclusion error message
        Coccinelle: memdup: Fix typo in warning messages
        kconfig: Update ncurses package names for menuconfig
        kbuild/kallsyms: trivial typo fix
        kbuild: test --build-id linker flag by ld-option instead of cc-ldoption
        kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment
        kconfig: Don't leak choice names during parsing
        sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE
        kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
        kconfig: add xstrdup() helper
        kbuild: disable sparse warnings about unknown attributes
        Makefile: Fix lying comment re. silentoldconfig
      0eb3412a
    • Linus Torvalds's avatar
      Merge tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 7cf901b3
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
        - some build fixes with randconfigs
      
        - an m88ds3103 fix to prevent an OOPS if the chip doesn't provide the
          right version during probe (with can happen if the hardware hangs)
      
        - a potential out of array bounds reference in tvp5150
      
        - some fixes and improvements in the DVB memory mapped API (added for
          kernel 4.16)
      
      * tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: vb2: Makefile: place vb2-trace together with vb2-core
        media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
        media: dvb: update buffer mmaped flags and frame counter
        media: dvb: add continuity error indicators for memory mapped buffers
        media: dmxdev: Fix the logic that enables DMA mmap support
        media: dmxdev: fix error code for invalid ioctls
        media: m88ds3103: don't call a non-initalized function
        media: au0828: add VIDEO_V4L2 dependency
        media: dvb: fix DVB_MMAP dependency
        media: dvb: fix DVB_MMAP symbol name
        media: videobuf2: fix build issues with vb2-trace
        media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part
      7cf901b3
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog · d6d0972a
      Linus Torvalds authored
      Pull watchdog fixes from Wim Van Sebroeck:
      
       - rave-sp: add NVMEM dependency
      
       - build fixes for i6300esb_wdt, xen_wdt and sp5100_tco
      
      * tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: sp5100_tco.c: fix potential build failure
        watchdog: xen_wdt: fix potential build failure
        watchdog: i6300esb: fix build failure
        watchdog: rave-sp: add NVMEM dependency
      d6d0972a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 03a6c259
      Linus Torvalds authored
      Pull KVM fixes from Radim Krčmář:
       "x86:
      
         - fix NULL dereference when using userspace lapic
      
         - optimize spectre v1 mitigations by allowing guests to use LFENCE
      
         - make microcode revision configurable to prevent guests from
           unnecessarily blacklisting spectre v2 mitigation feature"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: fix vcpu initialization with userspace lapic
        KVM: X86: Allow userspace to define the microcode version
        KVM: X86: Introduce kvm_get_msr_feature()
        KVM: SVM: Add MSR-based feature support for serializing LFENCE
        KVM: x86: Add a framework for supporting MSR-based features
      03a6c259
    • Dan Williams's avatar
      memremap: fix softlockup reports at teardown · 949b9325
      Dan Williams authored
      The cond_resched() currently in the setup path needs to be duplicated in
      the teardown path. Rather than require each instance of
      for_each_device_pfn() to open code the same sequence, embed it in the
      helper.
      
      Link: https://github.com/intel/ixpdimm_sw/issues/11
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: <stable@vger.kernel.org>
      Fixes: 71389703 ("mm, zone_device: Replace {get, put}_zone_device_page()...")
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      949b9325
    • Dave Jiang's avatar
      libnvdimm: re-enable deep flush for pmem devices via fsync() · 5fdf8e5b
      Dave Jiang authored
      Re-enable deep flush so that users always have a way to be sure that a
      write makes it all the way out to media. Writes from the PMEM driver
      always arrive at the NVDIMM since movnt is used to bypass the cache, and
      the driver relies on the ADR (Asynchronous DRAM Refresh) mechanism to
      flush write buffers on power failure. The Deep Flush mechanism is there
      to explicitly write buffers to protect against (rare) ADR failure.  This
      change prevents a regression in deep flush behavior so that applications
      can continue to depend on fsync() as a mechanism to trigger deep flush
      in the filesystem-DAX case.
      
      Fixes: 06e8ccda ("acpi: nfit: Add support for detect platform CPU cache...")
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      5fdf8e5b
    • Masahiro Yamada's avatar
      MAINTAINERS: take over Kconfig maintainership · 50186e12
      Masahiro Yamada authored
      I have recently picked up Kconfig patches to my tree without any
      declaration.  Making it official now.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      50186e12
    • Dan Williams's avatar
      vfio: disable filesystem-dax page pinning · 94db151d
      Dan Williams authored
      Filesystem-DAX is incompatible with 'longterm' page pinning. Without
      page cache indirection a DAX mapping maps filesystem blocks directly.
      This means that the filesystem must not modify a file's block map while
      any page in a mapping is pinned. In order to prevent the situation of
      userspace holding of filesystem operations indefinitely, disallow
      'longterm' Filesystem-DAX mappings.
      
      RDMA has the same conflict and the plan there is to add a 'with lease'
      mechanism to allow the kernel to notify userspace that the mapping is
      being torn down for block-map maintenance. Perhaps something similar can
      be put in place for vfio.
      
      Note that xfs and ext4 still report:
      
         "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"
      
      ...at mount time, and resolving the dax-dma-vs-truncate problem is one
      of the last hurdles to remove that designation.
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: kvm@vger.kernel.org
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Tested-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Fixes: d475c634 ("dax,ext2: replace XIP read and write with DAX I/O")
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      94db151d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 329ad5e5
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Update pci.ids location (documentation only) (Randy Dunlap)
      
       - Fix a crash when BIOS didn't assign a BAR and we try to enlarge it
         (Christian König)
      
      * tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Allow release of resources that were never assigned
        PCI: Update location of pci.ids file
      329ad5e5
  3. 02 Mar, 2018 23 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 5fbdefcf
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
      
       - a patch to change the ordering of cache and TLB flushes to hopefully
         fix the random segfaults we very rarely face (by Dave Anglin).
      
       - a patch to hide the virtual kernel memory layout due to security
         reasons.
      
       - two small patches to make the kernel run more smoothly under qemu.
      
      * 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce irq overhead when run in qemu
        parisc: Use cr16 interval timers unconditionally on qemu
        parisc: Check if secondary CPUs want own PDC calls
        parisc: Hide virtual kernel memory layout
        parisc: Fix ordering of cache and TLB flushes
      5fbdefcf
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 0573fed9
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Five minor fixes for Xen-specific drivers"
      
      * tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        pvcalls-front: 64-bit align flags
        x86/xen: add tty0 and hvc0 as preferred consoles for dom0
        xen-netfront: Fix hang on device removal
        xen/pirq: fix error path cleanup when binding MSIs
        xen/pvcalls: fix null pointer dereference on map->sock
      0573fed9
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client · 2833419a
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "A cap handling fix from Zhi that ensures that metadata writeback isn't
        delayed and three error path memory leak fixups from Chengguang"
      
      * tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client:
        ceph: fix potential memory leak in init_caches()
        ceph: fix dentry leak when failing to init debugfs
        libceph, ceph: avoid memory leak when specifying same option several times
        ceph: flush dirty caps of unlinked inode ASAP
      2833419a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180302' of git://git.kernel.dk/linux-block · fb6d47a5
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A collection of fixes for this series. This is a little larger than
        usual at this time, but that's mainly because I was out on vacation
        last week. Nothing in here is major in any way, it's just two weeks of
        fixes. This contains:
      
         - NVMe pull from Keith, with a set of fixes from the usual suspects.
      
         - mq-deadline zone unlock fix from Damien, fixing an issue with the
           SMR zone locking added for 4.16.
      
         - two bcache fixes sent in by Michael, with changes from Coly and
           Tang.
      
         - comment typo fix from Eric for blktrace.
      
         - return-value error handling fix for nbd, from Gustavo.
      
         - fix a direct-io case where we don't defer to a completion handler,
           making us sleep from IRQ device completion. From Jan.
      
         - a small series from Jan fixing up holes around handling of bdev
           references.
      
         - small set of regression fixes from Jiufei, mostly fixing problems
           around the gendisk pointer -> partition index change.
      
         - regression fix from Ming, fixing a boundary issue with the discard
           page cache invalidation.
      
         - two-patch series from Ming, fixing both a core blk-mq-sched and
           kyber issue around token freeing on a requeue condition"
      
      * tag 'for-linus-20180302' of git://git.kernel.dk/linux-block: (24 commits)
        block: fix a typo
        block: display the correct diskname for bio
        block: fix the count of PGPGOUT for WRITE_SAME
        mq-deadline: Make sure to always unlock zones
        nvmet: fix PSDT field check in command format
        nvme-multipath: fix sysfs dangerously created links
        nbd: fix return value in error handling path
        bcache: fix kcrashes with fio in RAID5 backend dev
        bcache: correct flash only vols (check all uuids)
        blktrace_api.h: fix comment for struct blk_user_trace_setup
        blockdev: Avoid two active bdev inodes for one device
        genhd: Fix BUG in blkdev_open()
        genhd: Fix use after free in __blkdev_get()
        genhd: Add helper put_disk_and_module()
        genhd: Rename get_disk() to get_disk_and_module()
        genhd: Fix leaked module reference for NVME devices
        direct-io: Fix sleep in atomic due to sync AIO
        nvme-pci: Fix nvme queue cleanup if IRQ setup fails
        block: kyber: fix domain token leak during requeue
        blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch
        ...
      fb6d47a5
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · ff06b55e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - mmc: core: Avoid hang when claiming host
      
        MMC host:
         - dw_mmc: Avoid hang when accessing registers
         - dw_mmc: Fix out-of-bounds access for slot's caps
         - dw_mmc-k3: Fix out-of-bounds access through DT alias
         - sdhci-pci: Fix S0i3 for Intel BYT-based controllers"
      
      * tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Avoid hanging to claim host for mmc via some nested calls
        mmc: dw_mmc: Avoid accessing registers in runtime suspended state
        mmc: dw_mmc: Fix out-of-bounds access for slot's caps
        mmc: dw_mmc: Factor out dw_mci_init_slot_caps
        mmc: dw_mmc-k3: Fix out-of-bounds access through DT alias
        mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers
      ff06b55e
    • Linus Torvalds's avatar
      Merge tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a5c05b74
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix three issues in cpufreq drivers: one recent regression, one
        leftover Kconfig dependency and one old but "stable" material.
      
        Specifics:
      
         - Make the task scheduler load and utilization signals be
           frequency-invariant again after recent changes in the SCPI cpufreq
           driver (Dietmar Eggemann).
      
         - Drop an unnecessary leftover Kconfig dependency from the SCPI
           cpufreq driver (Sudeep Holla).
      
         - Fix the initialization of the s3c24xx cpufreq driver (Viresh
           Kumar)"
      
      * tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: s3c24xx: Fix broken s3c_cpufreq_init()
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      a5c05b74
    • Masahiro Yamada's avatar
      kconfig: fix line number in recursive inclusion error message · 5ae6fcc4
      Masahiro Yamada authored
      When recursive inclusion is detected, the line number of the last
      'included from:' is wrong.
      
      [Test Case]
      
      Kconfig:
        -------->8--------
        source "Kconfig2"
        -------->8--------
      
      Kconfig2:
        -------->8--------
        source "Kconfig3"
        -------->8--------
      
      Kconfig3:
        -------->8--------
        source "Kconfig"
        -------->8--------
      
      [Result]
      
        $ make allyesconfig
        scripts/kconfig/conf  --allyesconfig Kconfig
        Kconfig:1: recursive inclusion detected. Inclusion path:
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:3'
        scripts/kconfig/Makefile:89: recipe for target 'allyesconfig' failed
        make[1]: *** [allyesconfig] Error 1
        Makefile:512: recipe for target 'allyesconfig' failed
        make: *** [allyesconfig] Error 2
      
      where we expect
      
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:1'
      
      The 'iter->lineno+1' in the second fpinrtf() should be 'iter->lineno-1'.
      I refactored the code to merge the two fprintf() calls.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      5ae6fcc4
    • Dafna Hirschfeld's avatar
      Coccinelle: memdup: Fix typo in warning messages · a11761c2
      Dafna Hirschfeld authored
      Replace 'kmemdep' with 'kmemdup' in warning messages.
      Signed-off-by: default avatarDafna Hirschfeld <dafna3@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Acked-by: default avatarNicolas Palix <nicolas.palix@imag.fr>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      a11761c2
    • Jan Glauber's avatar
      i2c: octeon: Prevent error message on bus error · 7c424679
      Jan Glauber authored
      The error message:
      
      [Fri Feb 16 13:42:13 2018] i2c-thunderx 0000:01:09.4: unhandled state: 0
      
      is mis-leading as state 0 (bus error) is not an unknown state.
      
      Return -EIO as before but avoid printing the message. Also rename
      STAT_ERROR to STATE_BUS_ERROR.
      Signed-off-by: default avatarJan Glauber <jglauber@cavium.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      7c424679
    • Wolfram Sang's avatar
      Merge tag 'at24-4.16-rc4-for-wolfram' of... · 1a0e3a35
      Wolfram Sang authored
      Merge tag 'at24-4.16-rc4-for-wolfram' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-current
      
      Pull in this fixup to get rid of a dependency for the next cycle:
      
      "- sort the manufacturers in DT bindings alphabetically"
      1a0e3a35
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq-scpi' · b61e0703
      Rafael J. Wysocki authored
      * cpufreq-scpi:
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      b61e0703
    • Helge Deller's avatar
      parisc: Reduce irq overhead when run in qemu · 636a415b
      Helge Deller authored
      When run under QEMU, calling mfctl(16) creates some overhead because the
      qemu timer has to be scaled and moved into the register. This patch
      reduces the number of calls to mfctl(16) by moving the calls out of the
      loops.
      
      Additionally, increase the minimal time interval to 8000 cycles instead
      of 500 to compensate possible QEMU delays when delivering interrupts.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      636a415b
    • Helge Deller's avatar
      parisc: Use cr16 interval timers unconditionally on qemu · 5ffa8518
      Helge Deller authored
      When running on qemu we know that the (emulated) cr16 cpu-internal
      clocks are syncronized. So let's use them unconditionally on qemu.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      5ffa8518
    • Helge Deller's avatar
      parisc: Check if secondary CPUs want own PDC calls · 0ed1fe4a
      Helge Deller authored
      The architecture specification says (for 64-bit systems): PDC is a per
      processor resource, and operating system software must be prepared to
      manage separate pointers to PDCE_PROC for each processor.  The address
      of PDCE_PROC for the monarch processor is stored in the Page Zero
      location MEM_PDC. The address of PDCE_PROC for each non-monarch
      processor is passed in gr26 when PDCE_RESET invokes OS_RENDEZ.
      
      Currently we still use one PDC for all CPUs, but in case we face a
      machine which is following the specification let's warn about it.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0ed1fe4a
    • Helge Deller's avatar
      parisc: Hide virtual kernel memory layout · fd8d0ca2
      Helge Deller authored
      For security reasons do not expose the virtual kernel memory layout to
      userspace.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Suggested-by: default avatarKees Cook <keescook@chromium.org>
      Cc: stable@vger.kernel.org # 4.15
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      fd8d0ca2
    • John David Anglin's avatar
      parisc: Fix ordering of cache and TLB flushes · 0adb24e0
      John David Anglin authored
      The change to flush_kernel_vmap_range() wasn't sufficient to avoid the
      SMP stalls.  The problem is some drivers call these routines with
      interrupts disabled.  Interrupts need to be enabled for flush_tlb_all()
      and flush_cache_all() to work.  This version adds checks to ensure
      interrupts are not disabled before calling routines that need IPI
      interrupts.  When interrupts are disabled, we now drop into slower code.
      
      The attached change fixes the ordering of cache and TLB flushes in
      several cases.  When we flush the cache using the existing PTE/TLB
      entries, we need to flush the TLB after doing the cache flush.  We don't
      need to do this when we flush the entire instruction and data caches as
      these flushes don't use the existing TLB entries.  The same is true for
      tmpalias region flushes.
      
      The flush_kernel_vmap_range() and invalidate_kernel_vmap_range()
      routines have been updated.
      
      Secondly, we added a new purge_kernel_dcache_range_asm() routine to
      pacache.S and use it in invalidate_kernel_vmap_range().  Nominally,
      purges are faster than flushes as the cache lines don't have to be
      written back to memory.
      
      Hopefully, this is sufficient to resolve the remaining problems due to
      cache speculation.  So far, testing indicates that this is the case.  I
      did work up a patch using tmpalias flushes, but there is a performance
      hit because we need the physical address for each page, and we also need
      to sequence access to the tmpalias flush code.  This increases the
      probability of stalls.
      
      Signed-off-by: John David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org # 4.9+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0adb24e0
    • Arvind Prasanna's avatar
      kconfig: Update ncurses package names for menuconfig · 1a90ce36
      Arvind Prasanna authored
      The package name is ncurses-devel for Redhat based distros
      and libncurses-dev for Debian based distros.
      Signed-off-by: default avatarArvind Prasanna <arvindprasanna@gmail.com>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      1a90ce36
    • Cao jin's avatar
      cbf7a90e
    • Masahiro Yamada's avatar
      kbuild: test --build-id linker flag by ld-option instead of cc-ldoption · 0da4fabd
      Masahiro Yamada authored
      '--build-id' is passed to $(LD), so it should be tested by 'ld-option'.
      
      This seems a kind of misconversion when ld-option was renamed to
      cc-ldoption.
      
      Commit f86fd306 ("kbuild: rename ld-option to cc-ldoption") renamed
      all instances of 'ld-option' to 'cc-ldoption'.
      
      Then, commit 691ef3e7 ("kbuild: introduce ld-option") re-added
      'ld-option' as a new implementation.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      0da4fabd
    • Cao jin's avatar
      kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment · a7b151ff
      Cao jin authored
      GCC_PLUGINS_CFLAGS is already in the environment, so it is superfluous
      to add it in commandline of final build of init/.
      Signed-off-by: default avatarCao jin <caoj.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      a7b151ff
    • Masahiro Yamada's avatar
      kconfig: Don't leak choice names during parsing · bf0bbdcf
      Masahiro Yamada authored
      The named choice is not used in the kernel tree, but if it were used,
      it would not be freed.
      
      The intention of the named choice can be seen in the log of
      commit 5a1aa8a1 ("kconfig: add named choice group").
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      bf0bbdcf
    • Masahiro Yamada's avatar
      sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE · 1b1e4ee8
      Masahiro Yamada authored
      If CONFIG_USE_BUILTIN_DTB is enabled, but CONFIG_BUILTIN_DTB_SOURCE
      is empty (for example, allmodconfig), it fails to build, like this:
      
        make[2]: *** No rule to make target 'arch/sh/boot/dts/.dtb.o',
        needed by 'arch/sh/boot/dts/built-in.o'.  Stop.
      
      Surround obj-y with ifneq ... endif.
      
      I replaced $(CONFIG_USE_BUILTIN_DTB) with 'y' since this is always
      the case from the following code from arch/sh/Makefile:
      
        core-$(CONFIG_USE_BUILTIN_DTB)  += arch/sh/boot/dts/
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      1b1e4ee8
    • Masahiro Yamada's avatar
      kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list · f4bc1eef
      Masahiro Yamada authored
      The 'defconfig_list' is a weird attribute.  If the '.config' is
      missing, conf_read_simple() iterates over all visible defaults,
      then it uses the first one for which fopen() succeeds.
      
      config DEFCONFIG_LIST
      	string
      	depends on !UML
      	option defconfig_list
      	default "/lib/modules/$UNAME_RELEASE/.config"
      	default "/etc/kernel-config"
      	default "/boot/config-$UNAME_RELEASE"
      	default "$ARCH_DEFCONFIG"
      	default "arch/$ARCH/defconfig"
      
      However, like other symbols, the first visible default is always
      written out to the .config file.  This might be different from what
      has been actually used.
      
      For example, on my machine, the third one "/boot/config-$UNAME_RELEASE"
      is opened, like follows:
      
        $ rm .config
        $ make oldconfig 2>/dev/null
        scripts/kconfig/conf  --oldconfig Kconfig
        #
        # using defaults found in /boot/config-4.4.0-112-generic
        #
        *
        * Restart config...
        *
        *
        * IRQ subsystem
        *
        Expose irq internals in debugfs (GENERIC_IRQ_DEBUGFS) [N/y/?] (NEW)
      
      However, the resulted .config file contains the first one since it is
      visible:
      
        $ grep CONFIG_DEFCONFIG_LIST .config
        CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
      
      In order to stop confusing people, prevent this CONFIG option from
      being written to the .config file.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      f4bc1eef
  4. 01 Mar, 2018 5 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.16-rc4' of git://people.freedesktop.org/~airlied/linux · 5d60e057
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty much run of the mill drm fixes.
      
        amdgpu:
         - power management fixes
         - some display fixes
         - one ppc 32-bit dma fix
      
        i915:
         - two display fixes
         - three gem fixes
      
        sun4i:
         - display regression fixes
      
        nouveau:
         - display regression fix
      
        virtio-gpu:
         - dumb airlied ioctl fix"
      
      * tag 'drm-fixes-for-v4.16-rc4' of git://people.freedesktop.org/~airlied/linux: (25 commits)
        drm/amdgpu: skip ECC for SRIOV in gmc late_init
        drm/amd/amdgpu: Correct VRAM width for APUs with GMC9
        drm/amdgpu: fix&cleanups for wb_clear
        drm/amdgpu: Correct sdma_v4 get_wptr(v2)
        drm/amd/powerplay: fix power over limit on Fiji
        drm/amdgpu:Fixed wrong emit frame size for enc
        drm/amdgpu: move WB_FREE to correct place
        drm/amdgpu: only flush hotplug work without DC
        drm/amd/display: check for ipp before calling cursor operations
        drm/i915: Make global seqno known in i915_gem_request_execute tracepoint
        drm/i915: Clear the in-use marker on execbuf failure
        drm/i915/cnl: Fix PORT_TX_DW5/7 register address
        drm/i915/audio: fix check for av_enc_map overflow
        drm/i915: Fix rsvd2 mask when out-fence is returned
        virtio-gpu: fix ioctl and expose the fixed status to userspace.
        drm/sun4i: Protect the TCON pixel clocks
        drm/sun4i: Enable the output on the pins (tcon0)
        drm/nouveau: prefer XBGR2101010 for addfb ioctl
        drm/radeon: insist on 32-bit DMA for Cedar on PPC64/PPC64LE
        drm/amd/display: VGA black screen from s3 when attached to hook
        ...
      5d60e057
    • Linus Torvalds's avatar
      Merge tag 'arc-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 2120447b
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
      
       - MCIP aka ARconnect fixes for SMP builds [Euginey]
      
       - preventive fix for SLC (L2 cache) flushing [Euginey]
      
       - Kconfig default fix [Ulf Magnusson]
      
       - trailing semicolon fixes [Luis de Bethencourt]
      
       - other assorted minor fixes
      
      * tag 'arc-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: setup cpu possible mask according to possible-cpus dts property
        ARC: mcip: update MCIP debug mask when the new cpu came online
        ARC: mcip: halt GFRC counter when ARC cores halt
        ARCv2: boot log: fix HS48 release number
        arc: dts: use 'atmel' as manufacturer for at24 in axs10x_mb
        ARC: Fix malformed ARC_EMUL_UNALIGNED default
        ARC: boot log: Fix trailing semicolon
        ARC: dw2 unwind: Fix trailing semicolon
        ARC: Enable fatal signals on boot for dev platforms
        ARCv2: Don't pretend we may set L-bit in STATUS32 with kflag instruction
        ARCv2: cache: fix slc_entire_op: flush only instead of flush-n-inv
      2120447b
    • Radim Krčmář's avatar
      KVM: x86: fix vcpu initialization with userspace lapic · b7e31be3
      Radim Krčmář authored
      Moving the code around broke this rare configuration.
      Use this opportunity to finally call lapic reset from vcpu reset.
      
      Reported-by: syzbot+fb7a33a4b6c35007a72b@syzkaller.appspotmail.com
      Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Fixes: 0b2e9904 ("KVM: x86: move LAPIC initialization after VMCS creation")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      b7e31be3
    • Wanpeng Li's avatar
      KVM: X86: Allow userspace to define the microcode version · 518e7b94
      Wanpeng Li authored
      Linux (among the others) has checks to make sure that certain features
      aren't enabled on a certain family/model/stepping if the microcode version
      isn't greater than or equal to a known good version.
      
      By exposing the real microcode version, we're preventing buggy guests that
      don't check that they are running virtualized (i.e., they should trust the
      hypervisor) from disabling features that are effectively not buggy.
      Suggested-by: default avatarFilippo Sironi <sironi@amazon.de>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Liran Alon <liran.alon@oracle.com>
      Cc: Nadav Amit <nadav.amit@gmail.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarWanpeng Li <wanpengli@tencent.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      518e7b94
    • Wanpeng Li's avatar
      KVM: X86: Introduce kvm_get_msr_feature() · 66421c1e
      Wanpeng Li authored
      Introduce kvm_get_msr_feature() to handle the msrs which are supported
      by different vendors and sharing the same emulation logic.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Liran Alon <liran.alon@oracle.com>
      Cc: Nadav Amit <nadav.amit@gmail.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarWanpeng Li <wanpengli@tencent.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      66421c1e