1. 15 2月, 2016 3 次提交
    • D
      xfs: Introduce writeback context for writepages · fbcc0256
      Dave Chinner 提交于
      xfs_vm_writepages() calls generic_writepages to writeback a range of
      a file, but then xfs_vm_writepage() clusters pages itself as it does
      not have any context it can pass between->writepage calls from
      __write_cache_pages().
      
      Introduce a writeback context for xfs_vm_writepages() and call
      __write_cache_pages directly with our own writepage callback so that
      we can pass that context to each writepage invocation. This
      encapsulates the current mapping, whether it is valid or not, the
      current ioend and it's IO type and the ioend chain being built.
      
      This requires us to move the ioend submission up to the level where
      the writepage context is declared. This does mean we do not submit
      IO until we packaged the entire writeback range, but with the block
      plugging in the writepages call this is the way IO is submitted,
      anyway.
      
      It also means that we need to handle discontiguous page ranges.  If
      the pages sent down by write_cache_pages to the writepage callback
      are discontiguous, we need to detect this and put each discontiguous
      page range into individual ioends. This is needed to ensure that the
      ioend accurately represents the range of the file that it covers so
      that file size updates during IO completion set the size correctly.
      Failure to take into account the discontiguous ranges results in
      files being too small when writeback patterns are non-sequential.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDave Chinner <david@fromorbit.com>
      fbcc0256
    • D
      xfs: remove xfs_cancel_ioend · 150d5be0
      Dave Chinner 提交于
      We currently have code to cancel ioends being built because we
      change bufferhead state as we build the ioend. On error, this needs
      to be unwound and so we have cancelling code that walks the buffers
      on the ioend chain and undoes these state changes.
      
      However, the IO submission path already handles state changes for
      buffers when a submission error occurs, so we don't really need a
      separate cancel function to do this - we can simply submit the
      ioend chain with the specific error and it will be cancelled rather
      than submitted.
      
      Hence we can remove the explicit cancel code and just rely on
      submission to deal with the error correctly.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDave Chinner <david@fromorbit.com>
      150d5be0
    • D
      xfs: remove nonblocking mode from xfs_vm_writepage · 988ef927
      Dave Chinner 提交于
      Remove the nonblocking optimisation done for mapping lookups during
      writeback. It's not clear that leaving a hole in the writeback range
      just because we couldn't get a lock is really a win, as it makes us
      do another small random IO later on rather than a large sequential
      IO now.
      
      As this gets in the way of sane error handling later on, just remove
      for the moment and we can re-introduce an equivalent optimisation in
      future if we see problems due to extent map lock contention.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDave Chinner <david@fromorbit.com>
      988ef927
  2. 01 2月, 2016 15 次提交
    • L
      Linux 4.5-rc2 · 36f90b0a
      Linus Torvalds 提交于
      36f90b0a
    • L
      Merge tag 'usb-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · d784ef58
      Linus Torvalds 提交于
      Pull USB driver fixes from Greg KH:
       "Here are some small USB fixes and new device ids for 4.5-rc2.  Nothing
        major here, full details are in the shortlog, and all of these have
        been in linux-next successfully"
      
      * tag 'usb-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: option: fix Cinterion AHxx enumeration
        USB: mxu11x0: fix memory leak on usb_serial private data
        USB: serial: ftdi_sio: add support for Yaesu SCU-18 cable
        USB: serial: option: Adding support for Telit LE922
        USB: serial: visor: fix crash on detecting device without write_urbs
        USB: visor: fix null-deref at probe
        USB: cp210x: add ID for IAI USB to RS485 adaptor
        usb: hub: do not clear BOS field during reset device
        cdc-acm:exclude Samsung phone 04e8:685d
        usb: cdc-acm: send zero packet for intel 7260 modem
        usb: cdc-acm: handle unlinked urb in acm read callback
      d784ef58
    • L
      Merge tag 'tty-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 54e3f3e3
      Linus Torvalds 提交于
      Pull tty/serial fixes from Greg KH:
       "Here are some small tty/serial driver fixes for 4.5-rc2.
      
        They resolve a number of reported problems (the ioctl one specifically
        has been pointed out by numerous people) and one patch adds some new
        device ids for the 8250_pci driver.  All have been in linux-next
        successfully"
      
      * tag 'tty-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: 8250_pci: Add Intel Broadwell ports
        staging/speakup: Use tty_ldisc_ref() for paste kworker
        n_tty: Fix unsafe reference to "other" ldisc
        tty: Fix unsafe ldisc reference via ioctl(TIOCGETD)
        tty: Retry failed reopen if tty teardown in-progress
        tty: Wait interruptibly for tty lock on reopen
      54e3f3e3
    • L
      Merge tag 'staging-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8c4e378e
      Linus Torvalds 提交于
      Pull staging fixes from Greg KH:
       "Here are some small staging driver fixes for 4.5-rc2.
      
        One of them predated 4.4-final, but I missed that merge window due to
        the holliday.  The others fix reported issues that have come up
        recently.  The tty change is needed for the speakup driver fix and has
        the ack of the tty driver maintainer as well, i.e.  myself :)
      
        All have been in linux-next with no reported issues"
      
      * tag 'staging-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        Staging: speakup: fix read scrolled-back VT
        Staging: speakup: Fix getting port information
        Revert "Staging: panel: usleep_range is preferred over udelay"
        iio: adis_buffer: Fix out-of-bounds memory access
      8c4e378e
    • L
      Merge tag 'driver-core-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · f3ca903f
      Linus Torvalds 提交于
      Pull driver core fix from Greg KH:
       "Here's a single driver core fix that resolves an issue a lot of users
        have been hitting for a while now.  It's been tested a lot and has
        been in linux-next successfully for a while"
      
      * tag 'driver-core-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        base/platform: Fix platform drivers with no probe callback
      f3ca903f
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 510ae0c9
      Linus Torvalds 提交于
      Pull MIPS fix from Ralf Baechle:
       "Just a single revert for a patch which I had upstreamed out of
        sequence"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        Revert "MIPS: bcm63xx: nvram: Remove unused bcm63xx_nvram_get_psi_size() function"
      510ae0c9
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d517be5f
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A bit on the largish side due to a series of fixes for a regression in
        the x86 vector management which was introduced in 4.3.  This work was
        started in December already, but it took some time to fix all corner
        cases and a couple of older bugs in that area which were detected
        while at it
      
        Aside of that a few platform updates for intel-mid, quark and UV and
        two fixes for in the mm code:
         - Use proper types for pgprot values to avoid truncation
         - Prevent a size truncation in the pageattr code when setting page
           attributes for large mappings"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/mm/pat: Avoid truncation when converting cpa->numpages to address
        x86/mm: Fix types used in pgprot cacheability flags translations
        x86/platform/quark: Print boundaries correctly
        x86/platform/UV: Remove EFI memmap quirk for UV2+
        x86/platform/intel-mid: Join string and fix SoC name
        x86/platform/intel-mid: Enable 64-bit build
        x86/irq: Plug vector cleanup race
        x86/irq: Call irq_force_move_complete with irq descriptor
        x86/irq: Remove outgoing CPU from vector cleanup mask
        x86/irq: Remove the cpumask allocation from send_cleanup_vector()
        x86/irq: Clear move_in_progress before sending cleanup IPI
        x86/irq: Remove offline cpus from vector cleanup
        x86/irq: Get rid of code duplication
        x86/irq: Copy vectormask instead of an AND operation
        x86/irq: Check vector allocation early
        x86/irq: Reorganize the search in assign_irq_vector
        x86/irq: Reorganize the return path in assign_irq_vector
        x86/irq: Do not use apic_chip_data.old_domain as temporary buffer
        x86/irq: Validate that irq descriptor is still active
        x86/irq: Fix a race in x86_vector_free_irqs()
        ...
      d517be5f
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dc799d01
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "The timer departement delivers:
      
         - a regression fix for the NTP code along with a proper selftest
         - prevent a spurious timer interrupt in the NOHZ lowres code
         - a fix for user space interfaces returning the remaining time on
           architectures with CONFIG_TIME_LOW_RES=y
         - a few patches to fix COMPILE_TEST fallout"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick/nohz: Set the correct expiry when switching to nohz/lowres mode
        clocksource: Fix dependencies for archs w/o HAS_IOMEM
        clocksource: Select CLKSRC_MMIO where needed
        tick/sched: Hide unused oneshot timer code
        kselftests: timers: Add adjtimex SETOFFSET validity tests
        ntp: Fix ADJ_SETOFFSET being used w/ ADJ_NANO
        itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper
        posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper
        timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper
        hrtimer: Handle remaining time proper for TIME_LOW_RES
        clockevents/tcb_clksrc: Prevent disabling an already disabled clock
      dc799d01
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7ab85d4a
      Linus Torvalds 提交于
      Pull scheduler fixes from Thomas Gleixner:
       "Three small fixes in the scheduler/core:
      
         - use after free in the numa code
         - crash in the numa init code
         - a simple spelling fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        pid: Fix spelling in comments
        sched/numa: Fix use-after-free bug in the task_numa_compare
        sched: Fix crash in sched_init_numa()
      7ab85d4a
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 29d14f08
      Linus Torvalds 提交于
      Pull perf fixes from Thomas Gleixner:
       "This is much bigger than typical fixes, but Peter found a category of
        races that spurred more fixes and more debugging enhancements.  Work
        started before the merge window, but got finished only now.
      
        Aside of that this contains the usual small fixes to perf and tools.
        Nothing particular exciting"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
        perf: Remove/simplify lockdep annotation
        perf: Synchronously clean up child events
        perf: Untangle 'owner' confusion
        perf: Add flags argument to perf_remove_from_context()
        perf: Clean up sync_child_event()
        perf: Robustify event->owner usage and SMP ordering
        perf: Fix STATE_EXIT usage
        perf: Update locking order
        perf: Remove __free_event()
        perf/bpf: Convert perf_event_array to use struct file
        perf: Fix NULL deref
        perf/x86: De-obfuscate code
        perf/x86: Fix uninitialized value usage
        perf: Fix race in perf_event_exit_task_context()
        perf: Fix orphan hole
        perf stat: Do not clean event's private stats
        perf hists: Fix HISTC_MEM_DCACHELINE width setting
        perf annotate browser: Fix behaviour of Shift-Tab with nothing focussed
        perf tests: Remove wrong semicolon in while loop in CQM test
        perf: Synchronously free aux pages in case of allocation failure
        ...
      29d14f08
    • L
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bbfb239a
      Linus Torvalds 提交于
      Pull locking fix from Thomas Gleixner:
       "A single commit, which makes the rtmutex.wait_lock an irq safe lock.
      
        This prevents a potential deadlock which can be triggered by the rcu
        boosting code from rcu_read_unlock()"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rtmutex: Make wait_lock irq safe
      bbfb239a
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 30e4c9ad
      Linus Torvalds 提交于
      Pull IRQ fixes from Ingo Molnar:
       "Mostly irqchip driver fixes, but also an irq core crash fix and a
        build fix"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mxs: Add missing set_handle_irq()
        irqchip/atmel-aic: Fix wrong bit operation for IRQ priority
        irqchip/gic-v3-its: Recompute the number of pages on page size change
        base: Export platform_msi_domain_[alloc,free]_irqs
        of: MSI: Simplify irqdomain lookup
        irqdomain: Allow domain lookup with DOMAIN_BUS_WIRED token
        irqchip: Fix dependencies for archs w/o HAS_IOMEM
        irqchip/s3c24xx: Mark init_eint as __maybe_unused
        genirq: Validate action before dereferencing it in handle_irq_event_percpu()
      30e4c9ad
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f25a96ea
      Linus Torvalds 提交于
      Pull debugobjects fix from Ingo Molnar:
       "Bump up debugobjects pool limit that bigger s390 systems kept running
        into"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Allow bigger number of early boot objects
      f25a96ea
    • L
      Merge tag 'vfio-v4.5-rc2' of git://github.com/awilliam/linux-vfio · 660f6fea
      Linus Torvalds 提交于
      Pull VFIO fix from Alex Williamson:
       "Use alternate group tracking for no-iommu"
      
      * tag 'vfio-v4.5-rc2' of git://github.com/awilliam/linux-vfio:
        vfio/noiommu: Don't use iommu_present() to track fake groups
      660f6fea
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · bb476800
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "Here are two I2C driver regression fixes.  piix4 gets a larger
        overhaul fixing the latest refactoring and also an older known issue
        as well.  designware-pci gets a fix for a bad merge conflict
        resolution"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: piix4: don't regress on bus names
        i2c: designware-pci: use IRQF_COND_SUSPEND flag
        i2c: piix4: Fully initialize SB800 before it is registered
        i2c: piix4: Fix SB800 locking
      bb476800
  3. 30 1月, 2016 20 次提交
    • Z
      pid: Fix spelling in comments · 840d6fe7
      Zhen Lei 提交于
      Accidentally discovered this typo when I studied this module.
      Signed-off-by: NZhen Lei <thunder.leizhen@huawei.com>
      Cc: Hanjun Guo <guohanjun@huawei.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tianhong Ding <dingtianhong@huawei.com>
      Cc: Xinwei Hu <huxinwei@huawei.com>
      Cc: Zefan Li <lizefan@huawei.com>
      Link: http://lkml.kernel.org/r/1454119457-11272-1-git-send-email-thunder.leizhen@huawei.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      840d6fe7
    • I
      Merge tag 'perf-urgent-for-mingo' of... · 28fb8a5b
      Ingo Molnar 提交于
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
       - Fix 'perf stat' stddev reporting due to mistakenly cleaning event
         private stats (Jiri Olsa)
      
       - Fix 'perf test CQM' endless loop detected by 'gcc6 -Wmisleading-indentation'
         (Markus Trippelsdorf)
      
       - Fix behaviour of Shift-Tab when nothing is focussed in the annotate TUI browser,
         detected with gcc6 -Wmisleading-indentation (Markus Trippelsdorf)
      
       - Fix mem data cacheline hists browser width setting for unresolved
         addresses (Jiri Olsa)
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      28fb8a5b
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · ad0b40fa
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Just one fix for a -fstack-protector-strong problem from Kees Cook,
        and adding the new copy_file_range syscall"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: wire up copy_file_range() syscall
        ARM: 8500/1: fix atags_to_fdt with stack-protector-strong
      ad0b40fa
    • L
      Merge tag 'powerpc-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · ec1cc55d
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       - Wire up copy_file_range() syscall from Chandan Rajendra
       - Simplify module TOC handling from Alan Modra
       - Remove newly added extra definition of pmd_dirty from Stephen Rothwell
       - Allow user space to map rtas_rmo_buf from Vasant Hegde
       - Fix PE location code from Gavin Shan
       - Remove PPMU_HAS_SSLOT flag for Power8 from Madhavan Srinivasan
       - Fixup _HPAGE_CHG_MASK from Aneesh Kumar K.V
      
      * tag 'powerpc-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/mm: Fixup _HPAGE_CHG_MASK
        powerpc/perf: Remove PPMU_HAS_SSLOT flag for Power8
        powerpc/eeh: Fix PE location code
        powerpc/mm: Allow user space to map rtas_rmo_buf
        powerpc: Remove newly added extra definition of pmd_dirty
        powerpc: Simplify module TOC handling
        powerpc: Wire up copy_file_range() syscall
      ec1cc55d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 6b292a8a
      Linus Torvalds 提交于
      Pull s390 updates from Martin Schwidefsky:
       "An optimization for irq-restore, the SSM instruction is quite a bit
        slower than an if-statement and a STOSM.
      
        The copy_file_range system all is added.
      
        Cleanup for PCI and CIO.
      
        And a couple of bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/cio: update measurement characteristics
        s390/cio: ensure consistent measurement state
        s390/cio: fix measurement characteristics memleak
        s390/zcrypt: Fix cryptographic device id in kernel messages
        s390/pci: remove iomap sanity checks
        s390/pci: set error state for unusable functions
        s390/pci: fix bar check
        s390/pci: resize iomap
        s390/pci: improve ZPCI_* macros
        s390/pci: provide ZPCI_ADDR macro
        s390/pci: adjust IOMAP_MAX_ENTRIES
        s390/numa: move numa_init_late() from device to arch_initcall
        s390: remove all usages of PSW_ADDR_INSN
        s390: remove all usages of PSW_ADDR_AMODE
        s390: wire up copy_file_range syscall
        s390: remove superfluous memblock_alloc() return value checks
        s390/numa: allocate memory with correct alignment
        s390/irqflags: optimize irq restore
        s390/mm: use TASK_MAX_SIZE where applicable
      6b292a8a
    • L
      Merge branch 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · d3f71ae7
      Linus Torvalds 提交于
      Pull btrfs fixes from Chris Mason:
       "Dave had a small collection of fixes to the new free space tree code,
        one of which was keeping our sysfs files more up to date with feature
        bits as different things get enabled (lzo, raid5/6, etc).
      
        I should have kept the sysfs stuff for rc3, since we always manage to
        trip over something.  This time it was GFP_KERNEL from somewhere that
        is NOFS only.  Instead of rebasing it out I've put a revert in, and
        we'll fix it properly for rc3.
      
        Otherwise, Filipe fixed a btrfs DIO race and Qu Wenruo fixed up a
        use-after-free in our tracepoints that Dave Jones reported"
      
      * 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Revert "btrfs: synchronize incompat feature bits with sysfs files"
        btrfs: don't use GFP_HIGHMEM for free-space-tree bitmap kzalloc
        btrfs: sysfs: check initialization state before updating features
        Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()"
        btrfs: async-thread: Fix a use-after-free error for trace
        Btrfs: fix race between fsync and lockless direct IO writes
        btrfs: add free space tree to the cow-only list
        btrfs: add free space tree to lockdep classes
        btrfs: tweak free space tree bitmap allocation
        btrfs: tests: switch to GFP_KERNEL
        btrfs: synchronize incompat feature bits with sysfs files
        btrfs: sysfs: introduce helper for syncing bits with sysfs files
        btrfs: sysfs: add free-space-tree bit attribute
        btrfs: sysfs: fix typo in compat_ro attribute definition
      d3f71ae7
    • L
      Merge tag 'pm+acpi-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 46552e68
      Linus Torvalds 提交于
      Pull power management and ACPI fixes from Rafael Wysocki:
       "These are: cpuidle fixes (including one fix for a recent regression),
        cpufreq fixes (including fixes for two issues introduced during the
        4.2 cycle), generic power domains framework fixes (two locking fixes
        and one cleanup), one locking fix in the ACPI-based PCI hotplug
        framework (ACPIPHP), removal of one ACPI backlight blacklist entry
        that isn't necessary any more and a PM Kconfig cleanup.
      
        Specifics:
      
         - Fix a recent cpuidle core regression that broke suspend-to-idle on
           all systems where cpuidle drivers don't provide ->enter_freeze
           callbacks for any states (Sudeep Holla).
      
         - Drop an unnecessary symbol definition from the cpuidle core code
           handling coupled CPU cores (Anders Roxell).
      
         - Fix a race condition related to governor initialization and removal
           in the cpufreq core (Viresh Kumar).
      
         - Clean up the cpufreq core to use list_is_last() for checking if the
           given policy object is the last element of a list instead of open
           coding that in a clumsy way (Gautham R Shenoy).
      
         - Fix compiler warnings in the pxa2xx and cpufreq-dt cpufreq drivers
           (Arnd Bergmann).
      
         - Fix two locking issues and clean up a comment in the generic power
           domains framework (Ulf Hansson, Marek Szyprowski, Moritz Fischer).
      
         - Fix the error code path of one function in the ACPI-based PCI
           hotplug framework (ACPIPHP) that forgets to release a lock acquired
           previously (Insu Yun).
      
         - Drop the ACPI backlight blacklist entry for Dell Inspiron 5737 that
           is not necessary any more (Hans de Goede).
      
         - Clean up the top-level PM Kconfig to stop requiring APM emulation
           to depend on PM which in fact isn't necessary (Arnd Bergmann)"
      
      * tag 'pm+acpi-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: cpufreq-dt: avoid uninitialized variable warnings:
        cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototype
        PM: APM_EMULATION does not depend on PM
        cpufreq: Use list_is_last() to check last entry of the policy list
        cpufreq: Fix NULL reference crash while accessing policy->governor_data
        cpuidle: coupled: remove unused define cpuidle_coupled_lock
        PM / Domains: Fix typo in comment
        PM / Domains: Fix potential deadlock while adding/removing subdomains
        ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot()
        ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to the blacklist"
        cpuidle: fix fallback mechanism for suspend to idle in absence of enter_freeze
        PM / domains: fix lockdep issue for all subdomains
      46552e68
    • L
      Merge branch 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb · ad233aca
      Linus Torvalds 提交于
      Pull swiotlb patchlet from Konrad Rzeszutek Wilk:
       "One trivial patch.
      
        Another patch (from Fengguang) is already in your tree courtesy of
        Andrew Morton - but I would prefer not to rebase my tree.  Hence the
        diff is very small"
      
      * 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb: Make linux/swiotlb.h standalone includible
        MAINTAINERS: add git URL for swiotlb
      ad233aca
    • L
      Merge branch 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm · 29737370
      Linus Torvalds 提交于
      Pull cleancache cleanups from Konrad Rzeszutek Wilk:
       "Simple cleanups"
      
      * 'stable/for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:
        include/linux/cleancache.h: Clean up code
        cleancache: constify cleancache_ops structure
      29737370
    • L
      Merge tag 'iommu-fixes-v4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · f6a239a9
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
       "Five patches queued up:
      
         - Two patches for the AMD and Intel IOMMU drivers to fix alias
           handling and ATS handling.
      
         - Fix build error with arm io-pgtable code
      
         - Two documentation fixes"
      
      * tag 'iommu-fixes-v4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu: Update struct iommu_ops comments
        iommu/vt-d: Fix link to Intel IOMMU Specification
        iommu/amd: Correct the wrong setting of alias DTE in do_attach
        iommu/vt-d: Don't skip PCI devices when disabling IOTLB
        iommu/io-pgtable-arm: Fix io-pgtable-arm build failure
      f6a239a9
    • L
      Merge tag 'hwmon-for-linus-v4.5-rc2' of... · f51d4d78
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
       - Use bit mask to calculate tdp limit in fam15h_power driver
       - Black-list Dell Studio XPS 8000 in dell-smm driver
      
      * tag 'hwmon-for-linus-v4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (fam15h_power) Add bit masking for tdp_limit
        hwmon: (dell-smm) Blacklist Dell Studio XPS 8000
      f51d4d78
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a12883f0
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "Four fixes: one to try to fix our repeated intermittent crashes in
        suspend/resume, one to correct a regression in the optimal I/O size
        reporting and a couple for randconfig build failures in the hisi_sas
        driver"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        SCSI: fix crashes in sd and sr runtime PM
        sd: Optimal I/O size is in bytes, not sectors
        hisi_sas: Restrict SCSI_HISI_SAS to arm64
        hisi_sas: SCSI_HISI_SAS should depend on HAS_DMA
      a12883f0
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 13d56990
      Linus Torvalds 提交于
      Pull block layer fix from Jens Axboe:
       "This just contains the fix for the split issue that we had in -rc1.
      
        It's been well tested at this point, so let's get it in mainline so we
        don't have the same split issue for -rc2"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: fix bio splitting on max sectors
      13d56990
    • R
      Merge branches 'pm-cpuidle', 'pm-cpufreq', 'pm-domains' and 'pm-sleep' · ad1ac947
      Rafael J. Wysocki 提交于
      * pm-cpuidle:
        cpuidle: coupled: remove unused define cpuidle_coupled_lock
        cpuidle: fix fallback mechanism for suspend to idle in absence of enter_freeze
      
      * pm-cpufreq:
        cpufreq: cpufreq-dt: avoid uninitialized variable warnings:
        cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototype
        cpufreq: Use list_is_last() to check last entry of the policy list
        cpufreq: Fix NULL reference crash while accessing policy->governor_data
      
      * pm-domains:
        PM / Domains: Fix typo in comment
        PM / Domains: Fix potential deadlock while adding/removing subdomains
        PM / domains: fix lockdep issue for all subdomains
      
      * pm-sleep:
        PM: APM_EMULATION does not depend on PM
      ad1ac947
    • R
      Merge branches 'acpi-video' and 'acpi-hotplug' · 0bce39cc
      Rafael J. Wysocki 提交于
      * acpi-video:
        ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to the blacklist"
      
      * acpi-hotplug:
        ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot()
      0bce39cc
    • L
      Merge tag 'sound-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · b5454432
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "There are a few fixes in ALSA core for bugs that have been spotted by
        fuzzer.  Also a temporary workaround for PowerPC (and possibly other)
        builds with incompatible ioctls was applied to compress API.
      
        Other than that, a few trivial fixes and quirks for FireWire BeBoB,
        USB-audio and HD-audio are found, too"
      
      * tag 'sound-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - disable dynamic clock gating on Broxton before reset
        ALSA: hda - Add new GPU codec ID 0x10de0083 to snd-hda
        ALSA: dummy: Disable switching timer backend via sysfs
        ALSA: timer: fix SND_PCM_TIMER Kconfig text
        ALSA: Add missing dependency on CONFIG_SND_TIMER
        ALSA: bebob: Use a signed return type for get_formation_index
        ALSA: usb-audio: Fix TEAC UD-501/UD-503/NT-503 usb delay
        ALSA: compress: Disable GET_CODEC_CAPS ioctl for some architectures
        ALSA: seq: Degrade the error message for too many opens
        ALSA: seq: Fix incorrect sanity check at snd_seq_oss_synth_cleanup()
      b5454432
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · b943d0b9
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Summary:
      
        - Misc amdgpu/radeon fixes
        - VC4 build fix
        - vmwgfx fix
        - misc rockchip fixes
      
        The etnaviv guys had an API feature they wanted in their first
        release, so I've merged that with their fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (41 commits)
        drm/vmwgfx: respect 'nomodeset'
        drm/amdgpu: only move pt bos in LRU list on success
        drm/radeon: fix DP audio support for APU with DCE4.1 display engine
        drm/radeon: Add a common function for DFS handling
        drm/radeon: cleaned up VCO output settings for DP audio
        drm/amd/powerplay: Update SMU firmware loading for Stoney
        drm/etnaviv: call correct function when trying to vmap a DMABUF
        drm/etnaviv: rename etnaviv_gem_vaddr to etnaviv_gem_vmap
        drm/etnaviv: fix get pages error path in etnaviv_gem_vaddr
        drm/etnaviv: fix memory leak in IOMMU init path
        drm/etnaviv: add further minor features and varyings count
        drm/etnaviv: add helper for comparing model/revision IDs
        drm/etnaviv: add helper to extract bitfields
        drm/etnaviv: use defined constants for the chip model
        drm/etnaviv: update common and state_hi xml.h files
        drm/etnaviv: ignore VG GPUs with FE2.0
        drm/amdgpu: don't init fbdev if we don't have any connectors
        drm/radeon: only init fbdev if we have connectors
        drm/radeon: Ensure radeon bo is unreserved in radeon_gem_va_ioctl
        drm/etnaviv: fix failure path if model is zero
        ...
      b943d0b9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 704bb813
      Linus Torvalds 提交于
      Pull security layer fixes from James Morris:
       "The keys patch fixes a bug which is breaking kerberos, and the seccomp
        fix addresses a no_new_privs bypass"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        KEYS: Only apply KEY_FLAG_KEEP to a key if a parent keyring has it set
        seccomp: always propagate NO_NEW_PRIVS on tsync
      704bb813
    • C
      Revert "btrfs: synchronize incompat feature bits with sysfs files" · e410e34f
      Chris Mason 提交于
      This reverts commit 14e46e04.
      
      This ends up doing sysfs operations from deep in balance (where we
      should be GFP_NOFS) and under heavy balance load, we're making races
      against sysfs internals.
      
      Revert it for now while we figure things out.
      Signed-off-by: NChris Mason <clm@fb.com>
      e410e34f
    • M
      serial: 8250_pci: Add Intel Broadwell ports · 6c55d9b9
      Mika Westerberg 提交于
      Some recent (early 2015) macbooks have Intel Broadwell where LPSS UARTs are
      PCI enumerated instead of ACPI. The LPSS UART block is pretty much same as
      used on Intel Baytrail so we can reuse the existing Baytrail setup code.
      
      Add both Broadwell LPSS UART ports to the list of supported devices.
      Signed-off-by: NLeif Liddy <leif.liddy@gmail.com>
      Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6c55d9b9
  4. 29 1月, 2016 2 次提交
    • M
      x86/mm/pat: Avoid truncation when converting cpa->numpages to address · 74256377
      Matt Fleming 提交于
      There are a couple of nasty truncation bugs lurking in the pageattr
      code that can be triggered when mapping EFI regions, e.g. when we pass
      a cpa->pgd pointer. Because cpa->numpages is a 32-bit value, shifting
      left by PAGE_SHIFT will truncate the resultant address to 32-bits.
      
      Viorel-Cătălin managed to trigger this bug on his Dell machine that
      provides a ~5GB EFI region which requires 1236992 pages to be mapped.
      When calling populate_pud() the end of the region gets calculated
      incorrectly in the following buggy expression,
      
        end = start + (cpa->numpages << PAGE_SHIFT);
      
      And only 188416 pages are mapped. Next, populate_pud() gets invoked
      for a second time because of the loop in __change_page_attr_set_clr(),
      only this time no pages get mapped because shifting the remaining
      number of pages (1048576) by PAGE_SHIFT is zero. At which point the
      loop in __change_page_attr_set_clr() spins forever because we fail to
      map progress.
      
      Hitting this bug depends very much on the virtual address we pick to
      map the large region at and how many pages we map on the initial run
      through the loop. This explains why this issue was only recently hit
      with the introduction of commit
      
        a5caa209 ("x86/efi: Fix boot crash by mapping EFI memmap
         entries bottom-up at runtime, instead of top-down")
      
      It's interesting to note that safe uses of cpa->numpages do exist in
      the pageattr code. If instead of shifting ->numpages we multiply by
      PAGE_SIZE, no truncation occurs because PAGE_SIZE is a UL value, and
      so the result is unsigned long.
      
      To avoid surprises when users try to convert very large cpa->numpages
      values to addresses, change the data type from 'int' to 'unsigned
      long', thereby making it suitable for shifting by PAGE_SHIFT without
      any type casting.
      
      The alternative would be to make liberal use of casting, but that is
      far more likely to cause problems in the future when someone adds more
      code and fails to cast properly; this bug was difficult enough to
      track down in the first place.
      Reported-and-tested-by: NViorel-Cătălin Răpițeanu <rapiteanu.catalin@gmail.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMatt Fleming <matt@codeblueprint.co.uk>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=110131
      Link: http://lkml.kernel.org/r/1454067370-10374-1-git-send-email-matt@codeblueprint.co.ukSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      74256377
    • L
      ALSA: hda - disable dynamic clock gating on Broxton before reset · 6639484d
      Libin Yang 提交于
      On Broxton, to make sure the reset controller works properly,
      MISCBDCGE bit (bit 6) in CGCTL (0x48) of PCI configuration space
      need be cleared before reset and set back to 1 after reset.
      Otherwise, it may prevent the CORB/RIRB logic from being reset.
      Signed-off-by: NLibin Yang <libin.yang@linux.intel.com>
      Cc: <stable@vger.kernel.org> # v4.4+
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6639484d