1. 16 Jun, 2016 5 commits
    • Ulf Hansson's avatar
      PM / Domains: Allow runtime PM during system PM phases · 4d23a5e8
      Ulf Hansson authored
      In cases when a PM domain isn't powered off when genpd's ->prepare()
      callback is invoked, genpd runtime resumes and disables runtime PM for the
      device. This behaviour was needed when genpd managed intermediate states
      during the power off sequence, as to maintain proper low power states of
      devices during system PM suspend/resume.
      
      Commit ba2bbfbf (PM / Domains: Remove intermediate states from the
      power off sequence), enables genpd to improve its behaviour in that
      respect.
      
      The PM core disables runtime PM at __device_suspend_late() before it calls
      a system PM "late" callback for a device. When resuming a device, after a
      corresponding "early" callback has been invoked, the PM core re-enables
      runtime PM.
      
      By changing genpd to allow runtime PM according to the same system PM
      phases as the PM core, devices can be runtime resumed by their
      corresponding subsystem/driver when really needed.
      
      In this way, genpd no longer need to runtime resume the device from its
      ->prepare() callback. In most cases that avoids unnecessary and energy-
      wasting operations of runtime resuming devices that have nothing to do,
      only to runtime suspend them shortly after.
      
      Although, because of changing this behaviour in genpd and due to that
      genpd powers on the PM domain unconditionally in the system PM resume
      "noirq" phase, it could potentially cause a PM domain to stay powered
      on even if it's unused after the system has resumed. To avoid this,
      schedule a power off work when genpd's system PM ->complete() callback
      has been invoked for the last device in the PM domain.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4d23a5e8
    • Ulf Hansson's avatar
      PM / Runtime: Avoid resuming devices again in pm_runtime_force_resume() · 9f5b5274
      Ulf Hansson authored
      If the runtime PM status of the device isn't RPM_SUSPENDED, prevent the
      pm_runtime_force_resume() from invoking the ->runtime_resume() callback
      for the device, as it's not the expected behaviour from the subsystem/driver.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9f5b5274
    • Ulf Hansson's avatar
      PM / Domains: Remove redundant pm_request_idle() call in genpd · 9b002b8f
      Ulf Hansson authored
      The PM core increases the runtime PM usage count at the system PM prepare
      phase. Later when the system resumes, it does a pm_runtime_put() in the
      complete phase, which in addition to decrementing the usage count, does
      the equivalent of a pm_request_idle().
      
      Therefore the call to pm_request_idle() from within genpd's ->complete()
      callback is redundant, so remove it.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9b002b8f
    • Ulf Hansson's avatar
      PM / Domains: Remove redundant wrapper functions for system PM · 80018853
      Ulf Hansson authored
      Due to the previous changes in genpd, which removed the suspend_power_off
      flag, several of the system PM callbacks no longer do any additional
      checks but only invoke corresponding pm_generic_* helper functions.
      
      To clean up the code, drop these wrapper functions as they have
      become redundant. Instead, assign the system PM callbacks directly
      to the pm_generic_*() helper functions.
      
      While changing this, it has bocame clear that some of the current
      system PM callbacks in genpd invoke wrong driver callbacks. For
      example, the genpd's ->restore() callback invokes pm_generic_resume(),
      while that should be pm_generic_restore(). Fix that as well.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      80018853
    • Ulf Hansson's avatar
      PM / Domains: Allow genpd to power on during system PM phases · 39dd0f23
      Ulf Hansson authored
      If a PM domain is powered off when the first device starts its system PM
      prepare phase, genpd prevents any further attempts to power on the PM
      domain during the following system PM phases. Not until the system PM
      complete phase is finalized for all devices in the PM domain, genpd again
      allows it to be powered on.
      
      This behaviour needs to be changed, as a subsystem/driver for a device in
      the same PM domain may still need to be able to serve requests in some of
      the system PM phases. Accordingly, it may need to runtime resume its
      device and thus also request the corresponding PM domain to be powered on.
      
      To deal with these scenarios, let's make the device operational in the
      system PM prepare phase by runtime resuming it, no matter if the PM domain
      is powered on or off. Changing this also enables us to remove genpd's
      suspend_power_off flag, as it's being used to track this condition.
      Additionally, we must allow the PM domain to be powered on via runtime PM
      during the system PM phases.
      
      This change also requires a fix in the AMD ACP (Audio CoProcessor) drm
      driver. It registers a genpd to model the ACP as a PM domain, but
      unfortunately it's also abuses genpd's "internal" suspend_power_off flag
      to deal with a corner case at system PM resume.
      
      More precisely, the so called SMU block powers on the ACP at system PM
      resume, unconditionally if it's being used or not. This may lead to that
      genpd's internal status of the power state, may not correctly reflect the
      power state of the HW after a system PM resume.
      
      Because of changing the behaviour of genpd, by runtime resuming devices in
      the prepare phase, the AMD ACP drm driver no longer have to deal with this
      corner case. So let's just drop the related code in this driver.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
      Acked-by: default avatarMaruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      39dd0f23
  2. 12 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Linux 4.7-rc3 · 5edb5649
      Linus Torvalds authored
      5edb5649
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 57120fac
      Linus Torvalds authored
      Pull thermal management fixes from Zhang Rui:
      
       - fix an ordering issue in cpu cooling that cooling device is
         registered before it's ready (freq_table being populated).
         (Lukasz Luba)
      
       - fix a missing comment update (Caesar Wang)
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: add the note for set_trip_temp
        thermal: cpu_cooling: fix improper order during initialization
      57120fac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 8714f8f5
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "A small collection of fixes for the current series.  This contains:
      
         - Two fixes for xen-blkfront, from Bob Liu.
      
         - A bug fix for NVMe, releasing only the specific resources we
           requested.
      
         - Fix for a debugfs flags entry for nbd, from Josef.
      
         - Plug fix from Omar, fixing up a case of code being switched between
           two functions.
      
         - A missing bio_put() for the new discard callers of
           submit_bio_wait(), fixing a regression causing a leak of the bio.
           From Shaun.
      
         - Improve dirty limit calculation precision in the writeback code,
           fixing a case where setting a limit lower than 1% of memory would
           end up being zero.  From Tejun"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        NVMe: Only release requested regions
        xen-blkfront: fix resume issues after a migration
        xen-blkfront: don't call talk_to_blkback when already connected to blkback
        nbd: pass the nbd pointer for flags debugfs
        block: missing bio_put following submit_bio_wait
        blk-mq: really fix plug list flushing for nomerge queues
        writeback: use higher precision calculation in domain_dirty_limits()
      8714f8f5
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3a7c114d
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "A new bunch of GPIO fixes for v4.7.
      
        This time I am very grateful that Ricardo Ribalda Delgado went in and
        fixed my stupid refcounting mistakes in the removal path for GPIO
        chips.  I had a feeling something was wrong here and so it was.  It
        exploded on OMAP and it fixes their problem.  Now it should be (more)
        solid.
      
        The rest i compilation, Kconfig and driver fixes.  Some tagged for
        stable.
      
        Summary:
      
         - Fix a NULL pointer dereference when we are searching the GPIO
           device list but one of the devices have been removed (struct
           gpio_chip pointer is NULL).
      
         - Fix unaligned reference counters: we were ending on +3 after all
           said and done.  It should be 0.  Remove an extraneous get_device(),
           and call cdev_del() followed by device_del() in gpiochip_remove()
           instead and the count goes to zero and calls the release() function
           properly.
      
         - Fix a compile warning due to a missing #include in the OF/device
           tree portions.
      
         - Select ANON_INODES for GPIOLIB, we're using that for our character
           device.  Some randconfig tests disclosed the problem.
      
         - Make sure the Zynq driver clock runs also without CONFIG_PM enabled
      
         - Fix an off-by-one error in the 104-DIO-48E driver
      
         - Fix warnings in bcm_kona_gpio_reset()"
      
      * tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings
        gpio: select ANON_INODES
        gpio: include <linux/io-mapping.h> in gpiolib-of
        gpiolib: Fix unaligned used of reference counters
        gpiolib: Fix NULL pointer deference
        gpio: zynq: initialize clock even without CONFIG_PM
        gpio: 104-dio-48e: Fix control port offset computation off-by-one error
      3a7c114d
  3. 11 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 45b00c94
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two current fixes:
      
         - one affects Qemu CD ROM emulation, which stopped working after the
           updates in SCSI to require VPD pages from all conformant devices.
      
           Fix temporarily by blacklisting Qemu (we can relax later when they
           come into compliance).
      
         - The other is a fix to the optimal transfer size.  We set up a
           minefield for ourselves by being confused about whether the limits
           are in bytes or sectors (SCSI optimal is in blocks and the queue
           parameter is in bytes).
      
           This tries to fix the problem (wrong setting for queue limits
           max_sectors) and make the problem more obvious by introducing a
           wrapper function"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        sd: Fix rw_max for devices that report an optimal xfer size
        scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist
      45b00c94
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5d1f7023
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
      
       - a bigger fix for i801 to finally be able to be loaded on some
         machines again
      
       - smaller driver fixes
      
       - documentation update because of a renamed file
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mux: reg: Provide of_match_table
        i2c: mux: refer to i2c-mux.txt
        i2c: octeon: Avoid printk after too long SMBUS message
        i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
        i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR
      5d1f7023
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 90735c99
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - fix unflatten_dt_nodes when dad parameter is set.
      
       - add vendor prefixes for TechNexion and UniWest
      
       - documentation fix for Marvell BT
      
       - OF IRQ kerneldoc fixes
      
       - restrict CMA alignment adjustments to non dma-coherent
      
       - a couple of warning fixes in reserved-memory code
      
       - DT maintainers updates
      
      * tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
        drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
        drivers: of: Fix of_pci.h header guard
        dt-bindings: Add vendor prefix for TechNexion
        of: add vendor prefix for UniWest
        dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
        of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
        of: silence warnings due to max() usage
        drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
        of: irq: fix of_irq_get[_byname]() kernel-doc
        MAINTAINERS: DeviceTree maintainer updates
      90735c99
    • Linus Torvalds's avatar
      Merge tag '20160610_uvc_compat_for_linus' of... · f1c32afd
      Linus Torvalds authored
      Merge tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux
      
      Pull uvc compat XU ioctl fixes from Andy Lutomirski:
       "uvc's compat XU ioctls go through tons of potentially buggy
        indirection.  The first patch removes the indirection.  The second one
        cleans up the code.
      
        Compile-tested only.  I have the hardware, but I have absolutely no
        idea what XU does, how to use it, what software to recompile as
        32-bit, or what to test in that software"
      
      * tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
        uvc_v4l2: Simplify compat ioctl implementation
        uvc: Forward compat ioctls to their handlers directly
      f1c32afd
  4. 10 Jun, 2016 27 commits
    • Andy Lutomirski's avatar
      uvc_v4l2: Simplify compat ioctl implementation · f89dec72
      Andy Lutomirski authored
      The uvc compat ioctl implementation seems to have copied user data
      for no good reason.  Remove a bunch of copies.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      f89dec72
    • Andy Lutomirski's avatar
      uvc: Forward compat ioctls to their handlers directly · a44323e2
      Andy Lutomirski authored
      The current code goes through a lot of indirection just to call a
      known handler.  Simplify it: just call the handlers directly.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      a44323e2
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3d0f0b6a
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "Has some fixes and some new self tests for btrfs.  The self tests are
        usually disabled in the .config file (unless you're doing btrfs dev
        work), and this bunch is meant to find problems with the 64K page size
        patches.
      
        Jeff has a patch to help people see if they are using the hardware
        assist crc32c module, which really helps us nail down problems when
        people ask why crcs are using so much CPU.
      
        Otherwise, it's small fixes"
      
      * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: self-tests: Fix extent buffer bitmap test fail on BE system
        Btrfs: self-tests: Fix test_bitmaps fail on 64k sectorsize
        Btrfs: self-tests: Use macros instead of constants and add missing newline
        Btrfs: self-tests: Support testing all possible sectorsizes and nodesizes
        Btrfs: self-tests: Execute page straddling test only when nodesize < PAGE_SIZE
        btrfs: advertise which crc32c implementation is being used at module load
        Btrfs: add validadtion checks for chunk loading
        Btrfs: add more validation checks for superblock
        Btrfs: clear uptodate flags of pages in sys_array eb
        Btrfs: self-tests: Support non-4k page size
        Btrfs: Fix integer overflow when calculating bytes_per_bitmap
        Btrfs: test_check_exists: Fix infinite loop when searching for free space entries
        Btrfs: end transaction if we abort when creating uuid root
        btrfs: Use __u64 in exported linux/btrfs.h.
      3d0f0b6a
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.7-3Michael Ellerman:' of... · ccf55f73
      Linus Torvalds authored
      Merge tag 'powerpc-4.7-3Michael Ellerman:' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
      
      Pull powerpc fixes from
       - ptrace: Fix out of bounds array access warning from Khem Raj
       - pseries: Fix PCI config address for DDW from Gavin Shan
       - pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added
         from Michael Ellerman
       - of: fix autoloading due to broken modalias with no 'compatible' from
         Wolfram Sang
       - radix: Fix always false comparison against MMU_NO_CONTEXT from Aneesh
         Kumar K.V
       - hash: Compute the segment size correctly for ISA 3.0 from Aneesh
         Kumar K.V
       - nohash: Fix build break with 64K pages from Michael Ellerman
      
      * tag 'powerpc-4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/nohash: Fix build break with 64K pages
        powerpc/mm/hash: Compute the segment size correctly for ISA 3.0
        powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT
        of: fix autoloading due to broken modalias with no 'compatible'
        powerpc/pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added
        powerpc/pseries: Fix PCI config address for DDW
        powerpc/ptrace: Fix out of bounds array access warning
      ccf55f73
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.7-rc3' of... · c8f17d60
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - fix regression in fam15h_power driver
      
       - minor variable type fix in lm90 driver
      
       - document compatible statement for ina2xx driver
      
      * tag 'hwmon-for-linus-v4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (lm90) use proper type for update_interval
        hwmon: (ina2xx) Document compatible for INA231
        hwmon: (fam15h_power) Disable preemption when reading registers
      c8f17d60
    • Linus Torvalds's avatar
      Merge branch 'stacking-fixes' (vfs stacking fixes from Jann) · f5364c15
      Linus Torvalds authored
      Merge filesystem stacking fixes from Jann Horn.
      
      * emailed patches from Jann Horn <jannh@google.com>:
        sched: panic on corrupted stack end
        ecryptfs: forbid opening files without mmap handler
        proc: prevent stacking filesystems on top
      f5364c15
    • Jann Horn's avatar
      sched: panic on corrupted stack end · 29d64551
      Jann Horn authored
      Until now, hitting this BUG_ON caused a recursive oops (because oops
      handling involves do_exit(), which calls into the scheduler, which in
      turn raises an oops), which caused stuff below the stack to be
      overwritten until a panic happened (e.g.  via an oops in interrupt
      context, caused by the overwritten CPU index in the thread_info).
      
      Just panic directly.
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      29d64551
    • Jann Horn's avatar
      ecryptfs: forbid opening files without mmap handler · 2f36db71
      Jann Horn authored
      This prevents users from triggering a stack overflow through a recursive
      invocation of pagefault handling that involves mapping procfs files into
      virtual memory.
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Acked-by: default avatarTyler Hicks <tyhicks@canonical.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f36db71
    • Jann Horn's avatar
      proc: prevent stacking filesystems on top · e54ad7f1
      Jann Horn authored
      This prevents stacking filesystems (ecryptfs and overlayfs) from using
      procfs as lower filesystem.  There is too much magic going on inside
      procfs, and there is no good reason to stack stuff on top of procfs.
      
      (For example, procfs does access checks in VFS open handlers, and
      ecryptfs by design calls open handlers from a kernel thread that doesn't
      drop privileges or so.)
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e54ad7f1
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 33fc259a
      Linus Torvalds authored
      Pull arm64 fix from Will Deacon:
       "A fix for an issue that Alex saw whilst swapping with hardware
        access/dirty bit support enabled in the kernel: Fix a failure to fault
        in old pages on a write when CONFIG_ARM64_HW_AFDBM is enabled"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: always take dirty state from new pte in ptep_set_access_flags
      33fc259a
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 75d089d1
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes from all around the map, plus a commit that introduces a
        new header of Intel model name symbols (unused) that will make the
        next merge window easier"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ioapic: Fix incorrect pointers in ioapic_setup_resources()
        x86/entry/traps: Don't force in_interrupt() to return true in IST handlers
        x86/cpu/AMD: Extend X86_FEATURE_TOPOEXT workaround to newer models
        x86/cpu/intel: Introduce macros for Intel family numbers
        x86, build: copy ldlinux.c32 to image.iso
        x86/msr: Use the proper trace point conditional for writes
      75d089d1
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60e38303
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Two scheduler debugging fixes"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/debug: Fix 'schedstats=enable' cmdline option
        sched/debug: Fix /proc/sched_debug regression
      60e38303
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fcbc230
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "A handful of tooling fixes, two PMU driver fixes and a cleanup of
        redundant code that addresses a security analyzer false positive"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Remove a redundant check
        perf/x86/intel/uncore: Remove SBOX support for Broadwell server
        perf ctf: Convert invalid chars in a string before set value
        perf record: Fix crash when kptr is restricted
        perf symbols: Check kptr_restrict for root
        perf/x86/intel/rapl: Fix pmus free during cleanup
      7fcbc230
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 02b07bde
      Linus Torvalds authored
      Pull locking fixes from Ingo Molnar:
       "Misc fixes:
      
         - a file-based futex fix
         - one more spin_unlock_wait() fix
         - a ww-mutex deadlock detection improvement/fix
         - and a raw_read_seqcount_latch() barrier fix"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        futex: Calculate the futex key based on a tail page for file-based futexes
        locking/qspinlock: Fix spin_unlock_wait() some more
        locking/ww_mutex: Report recursive ww_mutex locking early
        locking/seqcount: Re-fix raw_read_seqcount_latch()
      02b07bde
    • Linus Torvalds's avatar
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 606c17f4
      Linus Torvalds authored
      Pull EFI fixes from Ingo Molnar:
       "Two fixes: a regression/crash fix, and a message output fix"
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/arm: Fix the format of EFI debug messages
        efi: Fix for_each_efi_memory_desc_in_map() for empty memmaps
      606c17f4
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 94fcad69
      Linus Torvalds authored
      Pull objtool fix from Ingo Molnar:
       "Addresses a false positive warning in the GPU/DRM code"
      
      [ Technically it's not a "false positive", but it's the virtual GPU
        interface that needs the frame pointer for its own internal purposes ]
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool, drm/vmwgfx: Fix "duplicate frame pointer save" warning
      94fcad69
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 698ea54d
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) nfnetlink timestamp taken from wrong skb, fix from Florian Westphal.
      
       2) Revert some msleep conversions in rtlwifi as these spots are in
          atomic context, from Larry Finger.
      
       3) Validate that NFTA_SET_TABLE attribute is actually specified when we
          call nf_tables_getset().  From Phil Turnbull.
      
       4) Don't do mdio_reset in stmmac driver with spinlock held as that can
          sleep, from Vincent Palatin.
      
       5) sk_filter() does things other than run a BPF filter, so we should
          not elide it's call just because sk->sk_filter is NULL.  Fix from
          Eric Dumazet.
      
       6) Fix missing backlog updates in several packet schedulers, from Cong
          Wang.
      
       7) bnx2x driver should allow VLAN add/remove while the interface is
          down, from Michal Schmidt.
      
       8) Several RDS/TCP race fixes from Sowmini Varadhan.
      
       9) fq_codel scheduler doesn't return correct queue length in dumps,
          from Eric Dumazet.
      
      10) Fix TCP stats for tail loss probe and early retransmit in ipv6, from
          Yuchung Cheng.
      
      11) Properly initialize udp_tunnel_socket_cfg in l2tp_tunnel_create(),
          from Guillaume Nault.
      
      12) qfq scheduler leaks SKBs if a kzalloc fails, fix from Florian
          Westphal.
      
      13) sock_fprog passed into PACKET_FANOUT_DATA needs compat handling,
          from Willem de Bruijn.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (85 commits)
        vmxnet3: segCnt can be 1 for LRO packets
        packet: compat support for sock_fprog
        stmmac: fix parameter to dwmac4_set_umac_addr()
        net/mlx5e: Fix blue flame quota logic
        net/mlx5e: Use ndo_stop explicitly at shutdown flow
        net/mlx5: E-Switch, always set mc_promisc for allmulti vports
        net/mlx5: E-Switch, Modify node guid on vf set MAC
        net/mlx5: E-Switch, Fix vport enable flow
        net/mlx5: E-Switch, Use the correct error check on returned pointers
        net/mlx5: E-Switch, Use the correct free() function
        net/mlx5: Fix E-Switch flow steering capabilities check
        net/mlx5: Fix flow steering NIC capabilities check
        net/mlx5: Fix root flow table update
        net/mlx5: Fix MLX5_CMD_OP_MAX to be defined correctly
        net/mlx5: Fix masking of reserved bits in XRCD number
        net/mlx5: Fix the size of modify QP mailbox
        mlxsw: spectrum: Don't sleep during ndo_get_phys_port_name()
        mlxsw: spectrum: Make split flow match firmware requirements
        wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel
        cfg80211: remove get/set antenna and tx power warnings
        ...
      698ea54d
    • Linus Torvalds's avatar
      Merge tag 'sound-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 729d3784
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "We have only few, mainly HD-audio device-specific fixes.  Realtek
        codec driver got a slightly more LOC, but they are all for the new
        codec chip, and won't affect others at all"
      
      * tag 'sound-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Add PCI ID for Kabylake
        ALSA: hda/realtek: Add T560 docking unit fixup
        ALSA: hda - Fix headset mic detection problem for Dell machine
        ALSA: uapi: Add three missing header files to Kbuild file
        ALSA: hda/realtek - Add support for new codecs ALC700/ALC701/ALC703
        ALSA: hda/realtek - ALC256 speaker noise issue
      729d3784
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.7-rc3' of git://people.freedesktop.org/~airlied/linux · 00da9008
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This weeks instalment of fixes:
      
        amdgpu:
           Lots of memory leak and firmware leak fixes
      
        nouveau:
           Collection of display fixes, KASAN fixes
      
        vc4:
           vblank/pageflipping fixes
      
        fsl-dcu:
           Regmap cache fix
      
        omap:
           Unused variable warning fix.
      
        Nothing too surprising so far"
      
      * tag 'drm-fixes-for-v4.7-rc3' of git://people.freedesktop.org/~airlied/linux: (46 commits)
        drm/amdgpu: fix warning with powerplay disabled.
        drm/amd/powerplay: delete useless code as pptable changed in vbios.
        drm/amd/powerplay: fix bug visit array out of bounds
        drm/amdgpu: fix smu ucode memleak (v2)
        drm/amdgpu: add release firmware for cgs
        drm/amdgpu: fix tonga smu_fini mem leak
        drm/amdgpu: fix fiji smu fini mem leak
        drm/amdgpu: fix cik sdma ucode memleak
        drm/amdgpu: fix sdma24 ucode mem leak
        drm/amdgpu: fix sdma3 ucode mem leak
        drm/amdgpu: fix uvd fini mem leak
        drm/amdgpu: fix gfx 7 ucode mem leak
        drm/amdgpu: fix gfx8 ucode mem leak
        drm/amdgpu: fix missing free wb for cond_exec
        drm/amdgpu: fix memleak in pptable_init
        drm/amdgpu: fix mem leak in atombios
        drm/amdgpu: fix mem leak in pplib/hwmgr
        drm/amdgpu: fix mem leak in smumgr
        drm/amdgpu: add pipeline sync while vmid switch in same ctx
        drm/amdgpu: vBIOS post only call when mem_size zero
        ...
      00da9008
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f758bbd4
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "A recently introduced boot regression related to the ACPI EC
        initialization is addressed by restoring the previous behavior (Lv
        Zheng)"
      
      * tag 'acpi-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / EC: Fix a boot EC regresion by restoring boot EC support for the DSDT EC
      f758bbd4
    • Linus Torvalds's avatar
      Merge tag 'pm-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 524a3f2c
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "Stable-candidate fixes for the intel_pstate driver and the cpuidle
        core.
      
        Specifics:
      
         - Fix two intel_pstate initialization issues, one of which was
           introduced during the 4.4 cycle (Srinivas Pandruvada)
      
         - Fix kernel build with CONFIG_UBSAN set and CONFIG_CPU_IDLE unset
           (Catalin Marinas)"
      
      * tag 'pm-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: intel_pstate: Fix ->set_policy() interface for no_turbo
        cpufreq: intel_pstate: Fix code ordering in intel_pstate_set_policy()
        cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE
      524a3f2c
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 9557c3cf
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "7 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm/fadvise.c: do not discard partial pages with POSIX_FADV_DONTNEED
        mm: introduce dedicated WQ_MEM_RECLAIM workqueue to do lru_add_drain_all
        kernel/relay.c: fix potential memory leak
        mm: thp: broken page count after commit aa88b68c
        revert "mm: memcontrol: fix possible css ref leak on oom"
        kasan: change memory hot-add error messages to info messages
        mm/hugetlb: fix huge page reserve accounting for private mappings
      9557c3cf
    • Rui Wang's avatar
      x86/ioapic: Fix incorrect pointers in ioapic_setup_resources() · 9d98bcec
      Rui Wang authored
      On a 4-socket Brickland system, hot-removing one ioapic is fine.
      Hot-removing the 2nd one causes panic in mp_unregister_ioapic()
      while calling release_resource().
      
      It is because the iomem_res pointer has already been released
      when removing the first ioapic.
      
      To explain the use of &res[num] here: res is assigned to ioapic_resources,
      and later in ioapic_insert_resources() we do:
      
      	struct resource *r = ioapic_resources;
      
              for_each_ioapic(i) {
                      insert_resource(&iomem_resource, r);
                      r++;
              }
      
      Here 'r' is treated as an arry of 'struct resource', and the r++ ensures
      that each element of the array is inserted separately. Thus we should call
      release_resouce() on each element at &res[num].
      
      Fix it by assigning the correct pointers to ioapics[i].iomem_res in
      ioapic_setup_resources().
      Signed-off-by: default avatarRui Wang <rui.y.wang@intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: tony.luck@intel.com
      Cc: linux-pci@vger.kernel.org
      Cc: rjw@rjwysocki.net
      Cc: linux-acpi@vger.kernel.org
      Cc: bhelgaas@google.com
      Link: http://lkml.kernel.org/r/1465369193-4816-3-git-send-email-rui.y.wang@intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      9d98bcec
    • Andy Lutomirski's avatar
      x86/entry/traps: Don't force in_interrupt() to return true in IST handlers · aaee8c3c
      Andy Lutomirski authored
      Forcing in_interrupt() to return true if we're not in a bona fide
      interrupt confuses the softirq code.  This fixes warnings like:
      
        NOHZ: local_softirq_pending 282
      
      ... which can happen when running things like selftests/x86.
      
      This will change perf's static percpu buffer usage in IST context.
      I think this is okay, and it's changing the behavior to match
      historical (pre-4.0) behavior.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      Fixes: 95927475 ("x86, traps: Track entry into and exit from IST context")
      Link: http://lkml.kernel.org/r/cdc215f94d118d691d73df35275022331156fb45.1464130360.git.luto@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      aaee8c3c
    • Shrikrishna Khare's avatar
      vmxnet3: segCnt can be 1 for LRO packets · 50219538
      Shrikrishna Khare authored
      The device emulation may send segCnt of 1 for LRO packets.
      Signed-off-by: default avatarShrikrishna Khare <skhare@vmware.com>
      Signed-off-by: default avatarJin Heo <heoj@vmware.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50219538
    • Willem de Bruijn's avatar
      packet: compat support for sock_fprog · 719c44d3
      Willem de Bruijn authored
      Socket option PACKET_FANOUT_DATA takes a struct sock_fprog as argument
      if PACKET_FANOUT has mode PACKET_FANOUT_CBPF. This structure contains
      a pointer into user memory. If userland is 32-bit and kernel is 64-bit
      the two disagree about the layout of struct sock_fprog.
      
      Add compat setsockopt support to convert a 32-bit compat_sock_fprog to
      a 64-bit sock_fprog. This is analogous to compat_sock_fprog support for
      SO_REUSEPORT added in commit 19575988 ("soreuseport: add compat
      case for setsockopt SO_ATTACH_REUSEPORT_CBPF").
      Reported-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      719c44d3
    • Ben Dooks's avatar
      stmmac: fix parameter to dwmac4_set_umac_addr() · ca8bdaf1
      Ben Dooks authored
      The dwmac4_set_umac_addr() takes a struct mac_device_info as
      the first parameter, but is being passed a ioaddr instead from
      dwmac4_set_filter(). Fix the warning/bug by changing the first
      parameter.
      
      drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: warning: incorrect type in argument 1 (different address spaces)
      drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46:    expected struct mac_device_info *hw
      drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46:    got void [noderef] <asn:2>*ioaddr
      
      Note, only compile tested this as do not have any
      hardware with it in.
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Acked-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca8bdaf1