1. 26 9月, 2014 16 次提交
    • L
      Merge branch 'akpm' (fixes from Andrew Morton) · 8207649c
      Linus Torvalds 提交于
      Merge fixes from Andrew Morton:
       "9 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm: softdirty: keep bit when zapping file pte
        fs/cachefiles: add missing \n to kerror conversions
        genalloc: fix device node resource counter
        drivers/rtc/rtc-efi.c: add missing module alias
        mm, slab: initialize object alignment on cache creation
        mm: softdirty: addresses before VMAs in PTE holes aren't softdirty
        ocfs2/dlm: do not get resource spinlock if lockres is new
        nilfs2: fix data loss with mmap()
        ocfs2: free vol_label in ocfs2_delete_osb()
      8207649c
    • P
      mm: softdirty: keep bit when zapping file pte · dbab31aa
      Peter Feiner 提交于
      This fixes the same bug as b43790ee ("mm: softdirty: don't forget to
      save file map softdiry bit on unmap") and 9aed8614 ("mm/memory.c:
      don't forget to set softdirty on file mapped fault") where the return
      value of pte_*mksoft_dirty was being ignored.
      
      To be sure that no other pte/pmd "mk" function return values were being
      ignored, I annotated the functions in arch/x86/include/asm/pgtable.h
      with __must_check and rebuilt.
      
      The userspace effect of this bug is that the softdirty mark might be
      lost if a file mapped pte get zapped.
      Signed-off-by: NPeter Feiner <pfeiner@google.com>
      Acked-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Jamie Liu <jamieliu@google.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dbab31aa
    • F
      fs/cachefiles: add missing \n to kerror conversions · 6ff66ac7
      Fabian Frederick 提交于
      Commit 0227d6ab ("fs/cachefiles: replace kerror by pr_err") didn't
      include newline featuring in original kerror definition
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Reported-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: <stable@vger.kernel.org>	[3.16.x]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6ff66ac7
    • V
      genalloc: fix device node resource counter · 6f3aabd1
      Vladimir Zapolskiy 提交于
      Decrement the np_pool device_node refcount, which was incremented on
      the preceding of_parse_phandle() call.
      Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6f3aabd1
    • P
      drivers/rtc/rtc-efi.c: add missing module alias · 451ff6d4
      Pali Rohár 提交于
      Without proper alias kernel module is not loaded for rtc-efi driver.
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Cc: dann frazier <dannf@dannf.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      451ff6d4
    • D
      mm, slab: initialize object alignment on cache creation · d4a5fca5
      David Rientjes 提交于
      Since commit 45906855 ("mm/sl[aou]b: Common alignment code"), the
      "ralign" automatic variable in __kmem_cache_create() may be used as
      uninitialized.
      
      The proper alignment defaults to BYTES_PER_WORD and can be overridden by
      SLAB_RED_ZONE or the alignment specified by the caller.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=85031Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Reported-by: NAndrei Elovikov <a.elovikov@gmail.com>
      Acked-by: NChristoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d4a5fca5
    • P
      mm: softdirty: addresses before VMAs in PTE holes aren't softdirty · 87e6d49a
      Peter Feiner 提交于
      In PTE holes that contain VM_SOFTDIRTY VMAs, unmapped addresses before
      VM_SOFTDIRTY VMAs are reported as softdirty by /proc/pid/pagemap.  This
      bug was introduced in commit 68b5a652 ("mm: softdirty: respect
      VM_SOFTDIRTY in PTE holes").  That commit made /proc/pid/pagemap look at
      VM_SOFTDIRTY in PTE holes but neglected to observe the start of VMAs
      returned by find_vma.
      
      Tested:
        Wrote a selftest that creates a PMD-sized VMA then unmaps the first
        page and asserts that the page is not softdirty. I'm going to send the
        pagemap selftest in a later commit.
      Signed-off-by: NPeter Feiner <pfeiner@google.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Jamie Liu <jamieliu@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      87e6d49a
    • J
      ocfs2/dlm: do not get resource spinlock if lockres is new · 5760a97c
      Joseph Qi 提交于
      There is a deadlock case which reported by Guozhonghua:
        https://oss.oracle.com/pipermail/ocfs2-devel/2014-September/010079.html
      
      This case is caused by &res->spinlock and &dlm->master_lock
      misordering in different threads.
      
      It was introduced by commit 8d400b81 ("ocfs2/dlm: Clean up refmap
      helpers").  Since lockres is new, it doesn't not require the
      &res->spinlock.  So remove it.
      
      Fixes: 8d400b81 ("ocfs2/dlm: Clean up refmap helpers")
      Signed-off-by: NJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: Njoyce.xue <xuejiufei@huawei.com>
      Reported-by: NGuozhonghua <guozhonghua@h3c.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5760a97c
    • A
      nilfs2: fix data loss with mmap() · 56d7acc7
      Andreas Rohner 提交于
      This bug leads to reproducible silent data loss, despite the use of
      msync(), sync() and a clean unmount of the file system.  It is easily
      reproducible with the following script:
      
        ----------------[BEGIN SCRIPT]--------------------
        mkfs.nilfs2 -f /dev/sdb
        mount /dev/sdb /mnt
      
        dd if=/dev/zero bs=1M count=30 of=/mnt/testfile
      
        umount /mnt
        mount /dev/sdb /mnt
        CHECKSUM_BEFORE="$(md5sum /mnt/testfile)"
      
        /root/mmaptest/mmaptest /mnt/testfile 30 10 5
      
        sync
        CHECKSUM_AFTER="$(md5sum /mnt/testfile)"
        umount /mnt
        mount /dev/sdb /mnt
        CHECKSUM_AFTER_REMOUNT="$(md5sum /mnt/testfile)"
        umount /mnt
      
        echo "BEFORE MMAP:\t$CHECKSUM_BEFORE"
        echo "AFTER MMAP:\t$CHECKSUM_AFTER"
        echo "AFTER REMOUNT:\t$CHECKSUM_AFTER_REMOUNT"
        ----------------[END SCRIPT]--------------------
      
      The mmaptest tool looks something like this (very simplified, with
      error checking removed):
      
        ----------------[BEGIN mmaptest]--------------------
        data = mmap(NULL, file_size - file_offset, PROT_READ | PROT_WRITE,
                    MAP_SHARED, fd, file_offset);
      
        for (i = 0; i < write_count; ++i) {
              memcpy(data + i * 4096, buf, sizeof(buf));
              msync(data, file_size - file_offset, MS_SYNC))
        }
        ----------------[END mmaptest]--------------------
      
      The output of the script looks something like this:
      
        BEFORE MMAP:    281ed1d5ae50e8419f9b978aab16de83  /mnt/testfile
        AFTER MMAP:     6604a1c31f10780331a6850371b3a313  /mnt/testfile
        AFTER REMOUNT:  281ed1d5ae50e8419f9b978aab16de83  /mnt/testfile
      
      So it is clear, that the changes done using mmap() do not survive a
      remount.  This can be reproduced a 100% of the time.  The problem was
      introduced in commit 136e8770 ("nilfs2: fix issue of
      nilfs_set_page_dirty() for page at EOF boundary").
      
      If the page was read with mpage_readpage() or mpage_readpages() for
      example, then it has no buffers attached to it.  In that case
      page_has_buffers(page) in nilfs_set_page_dirty() will be false.
      Therefore nilfs_set_file_dirty() is never called and the pages are never
      collected and never written to disk.
      
      This patch fixes the problem by also calling nilfs_set_file_dirty() if the
      page has no buffers attached to it.
      
      [akpm@linux-foundation.org: s/PAGE_SHIFT/PAGE_CACHE_SHIFT/]
      Signed-off-by: NAndreas Rohner <andreas.rohner@gmx.net>
      Tested-by: NAndreas Rohner <andreas.rohner@gmx.net>
      Signed-off-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      56d7acc7
    • J
      ocfs2: free vol_label in ocfs2_delete_osb() · f13a568e
      Joseph Qi 提交于
      osb->vol_label is malloced in ocfs2_initialize_super but not freed if
      error occurs or during umount, thus causing a memory leak.
      Signed-off-by: NJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: Njoyce.xue <xuejiufei@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f13a568e
    • L
      Merge tag 'pm+acpi-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f4cb707e
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are regression fixes (ACPI hotplug, cpufreq, hibernation, ACPI
        LPSS driver), fixes for stuff that never worked correctly (ACPI GPIO
        support in some cases and a wrong sign of an error code in the ACPI
        core in one place), and one blacklist item for ACPI backlight
        handling.
      
        Specifics:
      
         - Revert of a recent hibernation core commit that introduced a NULL
           pointer dereference during resume for at least one user (Rafael J
           Wysocki).
      
         - Fix for the ACPI LPSS (Low-Power Subsystem) driver to disable
           asynchronous PM callback execution for LPSS devices during system
           suspend/resume (introduced in 3.16) which turns out to break
           ordering expectations on some systems.  From Fu Zhonghui.
      
         - cpufreq core fix related to the handling of sysfs nodes during
           system suspend/resume that has been broken for intel_pstate since
           3.15 from Lan Tianyu.
      
         - Restore the generation of "online" uevents for ACPI container
           devices that was removed in 3.14, but some user space utilities
           turn out to need them (Rafael J Wysocki).
      
         - The cpufreq core fails to release a lock in an error code path
           after changes made in 3.14.  Fix from Prarit Bhargava.
      
         - ACPICA and ACPI/GPIO fixes to make the handling of ACPI GPIO
           operation regions (which means AML using GPIOs) work correctly in
           all cases from Bob Moore and Srinivas Pandruvada.
      
         - Fix for a wrong sign of the ACPI core's create_modalias() return
           value in case of an error from Mika Westerberg.
      
         - ACPI backlight blacklist entry for ThinkPad X201s from Aaron Lu"
      
      * tag 'pm+acpi-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "PM / Hibernate: Iterate over set bits instead of PFNs in swsusp_free()"
        gpio / ACPI: Use pin index and bit length
        ACPICA: Update to GPIO region handler interface.
        ACPI / platform / LPSS: disable async suspend/resume of LPSS devices
        cpufreq: release policy->rwsem on error
        cpufreq: fix cpufreq suspend/resume for intel_pstate
        ACPI / scan: Correct error return value of create_modalias()
        ACPI / video: disable native backlight for ThinkPad X201s
        ACPI / hotplug: Generate online uevents for ACPI containers
      f4cb707e
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 12df9f37
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "This is probably not the kind of pull request you want to see that
        late in the cycle.  Yet, the ACPI refactorization was problematic
        again and caused another two issues which need fixing.  My holidays
        with limited internet (plus travelling) and the developer's illness
        didn't help either :(
      
        The details:
      
         - ACPI code was refactored out into a seperate file and as a
           side-effect, the i2c-core module got renamed.  Jean Delvare
           rightfully complained about the rename being problematic for
           distributions.  So, Mika and I thought the least problematic way to
           deal with it is to move all the code back into the main i2c core
           source file.  This is mainly a huge code move with some #ifdeffery
           applied.  No functional code changes.  Our personal tests and the
           testbots did not find problems.  (I was thinking about reverting,
           too, yet that would also have ~800 lines changed)
      
         - The new ACPI code also had a NULL pointer exception, thanks to
           Peter for finding and fixing it.
      
         - Mikko fixed a locking problem by decoupling clock_prepare and
           clock_enable.
      
         - Addy learnt that the datasheet was wrong and reimplemented the
           frequency setup according to the new algorithm.
      
        - Fan fixed an off-by-one error when copying data
      
        - Janusz fixed a copy'n'paste bug which gave a wrong error message
      
        - Sergei made sure that "don't touch" bits are not accessed"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: acpi: Fix NULL Pointer dereference
        i2c: move acpi code back into the core
        i2c: rk3x: fix divisor calculation for SCL frequency
        i2c: mxs: fix error message in pio transfer
        i2c: ismt: use correct length when copy buffer
        i2c: rcar: fix RCAR_IRQ_ACK_{RECV|SEND}
        i2c: tegra: Move clk_prepare/clk_set_rate to probe
      12df9f37
    • R
      MAINTAINERS: new Documentation maintainer · d671e424
      Randy Dunlap 提交于
      Transfer Documentation maintainership to Jiri Kosina.
      Thanks, Jiri.
      
      I'll still be reviewing and working on documentation.
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Acked-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d671e424
    • R
      Merge branches 'pm-cpufreq' and 'pm-sleep' · 381e63da
      Rafael J. Wysocki 提交于
      * pm-cpufreq:
        cpufreq: release policy->rwsem on error
        cpufreq: fix cpufreq suspend/resume for intel_pstate
      
      * pm-sleep:
        Revert "PM / Hibernate: Iterate over set bits instead of PFNs in swsusp_free()"
      381e63da
    • R
      Merge branches 'acpi-hotplug', 'acpi-scan', 'acpi-lpss', 'acpi-gpio' and 'acpi-video' · 9ef5a306
      Rafael J. Wysocki 提交于
      * acpi-hotplug:
        ACPI / hotplug: Generate online uevents for ACPI containers
      
      * acpi-scan:
        ACPI / scan: Correct error return value of create_modalias()
      
      * acpi-lpss:
        ACPI / platform / LPSS: disable async suspend/resume of LPSS devices
      
      * acpi-gpio:
        gpio / ACPI: Use pin index and bit length
        ACPICA: Update to GPIO region handler interface.
      
      * acpi-video:
        ACPI / video: disable native backlight for ThinkPad X201s
      9ef5a306
    • L
      Merge tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 2289823c
      Linus Torvalds 提交于
      Pull gpio fixes from Linus Walleij:
       "Two GPIO fixes:
      
         - GPIO direction flags where handled wrong in the new descriptor-
           based API, so direction changes did not always "take".
      
         - Fix a handler installation race in the generic GPIO irqchip code"
      
      * tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: Fix potential NULL handler data in chained irqchip handler
        gpio: Fix gpio direction flags not getting set
      2289823c
  2. 25 9月, 2014 24 次提交
    • L
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux · 4d3afba3
      Linus Torvalds 提交于
      Pull devicetree bug fixes and documentation from Grant Likely:
       "Several bug fix commits for issues found in the v3.17 rc series.
      
        Most of these are minor in that they aren't actively dangerous, but
        they have been seen in the wild.  The one important fix is commit
        7dbe5849 ("of: make sure of_alias is initialized before accessing
        it"), without which some powerpc platforms will fail to find stdout
        for the console"
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
        of/fdt: fix memory range check
        of: Fix memory block alignment in early_init_dt_add_memory_arch()
        of: make sure of_alias is initialized before accessing it
        of: Documentation regarding attaching OF Selftest testdata
        of: Disabling OF functions that use sysfs if CONFIG_SYSFS disabled
        of: correct of_console_check()'s return value
      4d3afba3
    • P
      i2c: acpi: Fix NULL Pointer dereference · 0aef44e8
      Peter Hüwe 提交于
      If adapter->dev.parent == NULL there is a NULL pointer dereference in
      acpi_i2c_install_space_handler and acpi_i2c_remove_space_handler.
      
      This is present since introduction of this code:
      36604751 "i2c: rework kernel config I2C_ACPI" or even
      da3c6647 "I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI"
      
      The adapter->dev.parent == NULL case is valid for the i2c_stub,
      so loading i2c_stub with ACPI_I2C_OPREGION enabled results in an oops.
      This is also valid at least for i2c_tiny_usb and i2c_robotfuzz_osif.
      
      Fix by checking whether it is null before calling ACPI_HANDLE.
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      0aef44e8
    • W
      i2c: move acpi code back into the core · 17f4a5c4
      Wolfram Sang 提交于
      Commit 5d98e61d ("I2C/ACPI: Add i2c ACPI operation region support")
      renamed the i2c-core module. This may cause regressions for
      distributions, so put the ACPI code back into the core.
      Reported-by: NJean Delvare <jdelvare@suse.de>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      Tested-by: NLan Tianyu <tianyu.lan@intel.com>
      Tested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      17f4a5c4
    • S
      of/fdt: fix memory range check · 9aacd602
      Srinivas Kandagatla 提交于
      In cases where board has below memory DT node
      
      memory{
      	device_type = "memory";
      	reg = <0x80000000 0x80000000>;
      };
      
      Check on the memory range in fdt.c will always fail because it is
      comparing MAX_PHYS_ADDR with base + size, in fact it should compare
      it with base + size - 1.
      
      This issue was originally noticed on Qualcomm IFC6410 board.
      Without this patch kernel shows up noticed unnecessary warnings
      
      [    0.000000] Machine model: Qualcomm APQ8064/IFC6410
      [    0.000000] Ignoring memory range 0xffffffff - 0x100000000
      [    0.000000] cma: Reserved 64 MiB at ab800000
      
      as a result the size get reduced to 0x7fffffff which looks wrong.
      
      This patch fixes the check involved in generating this warning and
      as a result it also fixes the wrong size calculation.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      [grant.likely: adjust new size calculation also]
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      9aacd602
    • R
      Revert "PM / Hibernate: Iterate over set bits instead of PFNs in swsusp_free()" · 5c4dd348
      Rafael J. Wysocki 提交于
      Revert commit 6efde38f (PM / Hibernate: Iterate over set bits
      instead of PFNs in swsusp_free()) that introduced a NULL pointer
      dereference during system resume from hibernation:
      
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<ffffffff810a8cc1>] swsusp_free+0x21/0x190
      PGD b39c2067 PUD b39c1067 PMD 0
      Oops: 0000 [#1] SMP
      Modules linked in: <irrelevant list of modules>
      CPU: 1 PID: 4898 Comm: s2disk Tainted: G         C     3.17-rc5-amd64 #1 Debian 3.17~rc5-1~exp1
      Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011
      task: ffff88023155ea40 ti: ffff8800b3b14000 task.ti: ffff8800b3b14000
      RIP: 0010:[<ffffffff810a8cc1>]  [<ffffffff810a8cc1>]
      swsusp_free+0x21/0x190
      RSP: 0018:ffff8800b3b17ea8  EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff8800b39bab00 RCX: 0000000000000001
      RDX: ffff8800b39bab10 RSI: ffff8800b39bab00 RDI: 0000000000000000
      RBP: 0000000000000010 R08: 0000000000000000 R09: 0000000000000000
      R10: ffff8800b39bab10 R11: 0000000000000246 R12: ffffea0000000000
      R13: ffff880232f485a0 R14: ffff88023ac27cd8 R15: ffff880232927590
      FS:  00007f406d83b700(0000) GS:ffff88023bc80000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000000 CR3: 00000000b3a62000 CR4: 00000000000007e0
      Stack:
       ffff8800b39bab00 0000000000000010 ffff880232927590 ffffffff810acb4a
       ffff8800b39bab00 ffffffff811a955a ffff8800b39bab10 0000000000000000
       ffff88023155f098 ffffffff81a6b8c0 ffff88023155ea40 0000000000000007
      Call Trace:
       [<ffffffff810acb4a>] ? snapshot_release+0x2a/0xb0
       [<ffffffff811a955a>] ? __fput+0xca/0x1d0
       [<ffffffff81080627>] ? task_work_run+0x97/0xd0
       [<ffffffff81012d89>] ? do_notify_resume+0x69/0xa0
       [<ffffffff8151452a>] ? int_signal+0x12/0x17
      Code: 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 41 54 48 8b 05 ba 62 9c 00 49 bc 00 00 00 00 00 ea ff ff 48 8b 3d a1 62 9c 00 55 53 <48> 8b 10 48 89 50 18 48 8b 52 20 48 c7 40 28 00 00 00 00 c7 40
      RIP  [<ffffffff810a8cc1>] swsusp_free+0x21/0x190
       RSP <ffff8800b3b17ea8>
      CR2: 0000000000000000
      ---[ end trace f02be86a1ec0cccb ]---
      
      due to forbidden_pages_map being NULL in swsusp_free().
      
      Fixes: 6efde38f "PM / Hibernate: Iterate over set bits instead of PFNs in swsusp_free()"
      Reported-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5c4dd348
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 005f8005
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Some final radeon and i915 fixes, black screens mostly"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/cik: use a separate counter for CP init timeout
        drm/i915/hdmi: fix hdmi audio state readout
        drm/i915: Don't leak command parser tables on suspend/resume
        drm/radeon: add PX quirk for asus K53TK
        drm/radeon: add a backlight quirk for Amilo Xi 2550
        drm/radeon: add a module parameter for backlight control (v2)
        drm/radeon: Update IH_RB_RPTR register after each processed interrupt
        drm/radeon: Make IH ring overflow debugging output more useful
        drm/radeon: Clear RB_OVERFLOW bit earlier
      005f8005
    • S
      gpio / ACPI: Use pin index and bit length · c15d821d
      Srinivas Pandruvada 提交于
      Fix code when the operation region callback is for an gpio, which
      is not at index 0 and for partial pins in a GPIO definition.
      For example:
      Name (GMOD, ResourceTemplate ()
      {
      	//3 Outputs that define the Power mode of the device
      	GpioIo (Exclusive, PullDown, , , , "\\_SB.GPI2") {10, 11, 12}
      	})
      }
      
      If opregion callback calls is for:
      - Set pin 10, then address = 0 and bit length = 1
      - Set pin 11, then address = 1 and bit length = 1
      - Set for both pin 11 and pin 12, then address = 1, bit length = 2
      
      This change requires updated ACPICA gpio operation handler code to
      send the pin index and bit length.
      
      Fixes: 473ed7be (gpio / ACPI: Add support for ACPI GPIO operation regions)
      Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Cc: 3.15+ <stable@vger.kernel.org> # 3.15+: 75ec6e55 ACPICA: Update to GPIO region handler interface.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c15d821d
    • B
      ACPICA: Update to GPIO region handler interface. · 75ec6e55
      Bob Moore 提交于
      Changes to correct several GPIO issues:
      
      1) The update_rule in a GPIO field definition is now ignored;
      a read-modify-write operation is never performed for GPIO fields.
      (Internally, this means that the field assembly/disassembly
      code is completely bypassed for GPIO.)
      
      2) The Address parameter passed to a GPIO region handler is
      now the bit offset of the field from a previous Connection()
      operator. Thus, it becomes a "Pin Number Index" into the
      Connection() resource descriptor.
      
      3) The bit_width parameter passed to a GPIO region handler is
      now the exact bit width of the GPIO field. Thus, it can be
      interpreted as "number of pins".
      
      Overall, we can now say that the region handler interface
      to GPIO handlers is a raw "bit/pin" addressed interface, not
      a byte-addressed interface like the system_memory handler interface.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Cc: 3.15+ <stable@vger.kernel.org> # 3.15+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      75ec6e55
    • D
      Merge branch 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 67f33f30
      Dave Airlie 提交于
      - fix a backlight regression resulting in dark screen
      - add a PX quirk to avoid a hang with runtime pm
      - fix an init issue on the CIK compute rings
      - fix IH ring buffer overflows gracefully
      
      * 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/cik: use a separate counter for CP init timeout
        drm/radeon: add PX quirk for asus K53TK
        drm/radeon: add a backlight quirk for Amilo Xi 2550
        drm/radeon: add a module parameter for backlight control (v2)
        drm/radeon: Update IH_RB_RPTR register after each processed interrupt
        drm/radeon: Make IH ring overflow debugging output more useful
        drm/radeon: Clear RB_OVERFLOW bit earlier
      67f33f30
    • D
      Merge tag 'drm-intel-fixes-2014-09-24' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 65e7e5d8
      Dave Airlie 提交于
      a couple of small fixes for 3.17 still.
      
      * tag 'drm-intel-fixes-2014-09-24' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/hdmi: fix hdmi audio state readout
        drm/i915: Don't leak command parser tables on suspend/resume
      65e7e5d8
    • F
      ACPI / platform / LPSS: disable async suspend/resume of LPSS devices · 45792081
      Fu Zhonghui 提交于
      On some systems (Asus T100 in particular) there are strict ordering
      dependencies between LPSS devices with respect to power management
      that break if they suspend/resume asynchronously.
      
      In theory it should be possible to follow those dependencies in the
      async suspend/resume case too (the ACPI tables tell as that the
      dependencies are there), but since we're missing infrastructure
      for that at the moment, disable async suspend/resume for all of
      the LPSS devices for the time being.
      
      Link: http://marc.info/?l=linux-acpi&m=141158962321905&w=2
      Fixes: 8ce62f85 (ACPI / platform / LPSS: Enable async suspend/resume of LPSS devices)
      Signed-off-by: NLi Aubrey <aubrey.li@linux.intel.com>
      Signed-off-by: NFu Zhonghui <zhonghui.fu@linux.intel.com>
      Cc: 3.16+ <stable@vger.kernel.org> # 3.16+
      [ rjw: Changelog ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      45792081
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b94d525e
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Here is a quick pull request primarily meant to address the deconfig
        fallout from changing SCSI_NETLINK from being used via 'select' to
        being used via 'depends'.
      
        I applied a set of 5 patches written by Michal Marek, and then I
        carefully audited all of the remaining config files, basically:
      
         1) I scanned every arch config file, and if it mentioned CONFIG_INET
            or CONFIG_UNIX, I made sure it had CONFIG_NET=y
      
         2) After that, I scanned every arch config file, and if it did not
            have CONFIG_NET=y I made sure it did not reference any networking
            config options.
      
        Finally, we have some late breaking wireless fixes in here from John
        Linville and co"
      
      [ And there's a sparc bpf fix snuck in too ]
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        sparc: bpf_jit: fix loads from negative offsets
        parisc: Update defconfigs which were missing CONFIG_NET.
        powerpc: Update defconfigs which were missing CONFIG_NET.
        s390: Update defconfigs which were missing CONFIG_NET.
        mips: Update some more defconfigs which were missing CONFIG_NET.
        sparc: Set CONFIG_NET=y in defconfigs
        sh: Set CONFIG_NET=y in defconfigs
        powerpc: Set CONFIG_NET=y in defconfigs
        parisc: Set CONFIG_NET=y in defconfigs
        mips: Set CONFIG_NET=y in defconfigs
        brcmfmac: Fix off by one bug in brcmf_count_20mhz_channels()
        ath9k: Fix NULL pointer dereference on early irq
        net: rfkill: gpio: Fix clock status
        NFC: st21nfca: Fix potential depmod dependency cycle
        NFC: st21nfcb: Fix depmod dependency cycle
        NFC: microread: Potential overflows in microread_target_discovered()
      b94d525e
    • A
      sparc: bpf_jit: fix loads from negative offsets · 35607b02
      Alexei Starovoitov 提交于
      - fix BPF_LD|ABS|IND from negative offsets:
        make sure to sign extend lower 32 bits in 64-bit register
        before calling C helpers from JITed code, otherwise 'int k'
        argument of bpf_internal_load_pointer_neg_helper() function
        will be added as large unsigned integer, causing packet size
        check to trigger and abort the program.
      
        It's worth noting that JITed code for 'A = A op K' will affect
        upper 32 bits differently depending whether K is simm13 or not.
        Since small constants are sign extended, whereas large constants
        are stored in temp register and zero extended.
        That is ok and we don't have to pay a penalty of sign extension
        for every sethi, since all classic BPF instructions have 32-bit
        semantics and we only need to set correct upper bits when
        transitioning from JITed code into C.
      
      - though instructions 'A &= 0' and 'A *= 0' are odd, JIT compiler
        should not optimize them out
      Signed-off-by: NAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      35607b02
    • D
      Merge tag 'master-2014-09-23' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 543a2dff
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-09-23
      
      Please consider pulling this one last batch of fixes intended for the 3.17 stream!
      
      For the NFC bits, Samuel says:
      
      "Hopefully not too late for a handful of NFC fixes:
      
      - 2 potential build failures for ST21NFCA and ST21NFCB, triggered by a
        depmod dependenyc cycle.
      - One potential buffer overflow in the microread driver."
      
      On top of that...
      
      Emil Goode provides a fix for a brcmfmac off-by-one regression which
      was introduced in the 3.17 cycle.
      
      Loic Poulain fixes a polarity mismatch for a variable assignment
      inside of rfkill-gpio.
      
      Wojciech Dubowik prevents a NULL pointer dereference in ath9k.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      543a2dff
    • D
      parisc: Update defconfigs which were missing CONFIG_NET. · c899c3f3
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c899c3f3
    • D
      powerpc: Update defconfigs which were missing CONFIG_NET. · 95d77997
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95d77997
    • D
      s390: Update defconfigs which were missing CONFIG_NET. · ff408ba1
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff408ba1
    • D
      mips: Update some more defconfigs which were missing CONFIG_NET. · af4de1b5
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      af4de1b5
    • M
      sparc: Set CONFIG_NET=y in defconfigs · 1ab0b8b2
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: sparclinux@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ab0b8b2
    • M
      sh: Set CONFIG_NET=y in defconfigs · 925f7fad
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-sh@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      925f7fad
    • M
      powerpc: Set CONFIG_NET=y in defconfigs · 853e3e1d
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      853e3e1d
    • M
      parisc: Set CONFIG_NET=y in defconfigs · 25fee47f
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25fee47f
    • M
      mips: Set CONFIG_NET=y in defconfigs · d1630f9e
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-mips@linux-mips.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d1630f9e
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 02f130a7
      Linus Torvalds 提交于
      Pull one last block fix from Jens Axboe:
       "We've had an issue with scsi-mq where probing takes forever.  This was
        bisected down to the percpu changes for blk_mq_queue_enter(), and the
        fact we now suffer an RCU grace period when killing a queue.  SCSI
        creates and destroys tons of queues, so this let to 10s of seconds of
        stalls at boot for some.
      
        Tejun has a real fix for this, but it's too involved for 3.17.  So
        this is a temporary workaround to expedite the queue killing until we
        can fold in the real fix for 3.18 when that merge window opens"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe
      02f130a7