15 Jul, 2016

10 commits

  • This header contains the userspace API for lirc.

    This is a fixup for commit b7be755733dc ("[media] bz#75751: Move
    internal header file lirc.h to uapi/"). It moved the header to the
    right place, but it forgot to add it at Kbuild. So, despite being at
    uapi, it is not copied to the right place.

    Fixes: b7be755733dc44c72 ("[media] bz#75751: Move internal header file lirc.h to uapi/")
    Link: http://lkml.kernel.org/r/320c765d32bfc82c582e336d52ffe1026c73c644.1468439021.git.mchehab@s-opensource.com
    Signed-off-by: Mauro Carvalho Chehab
    Cc: Alec Leamas
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     
  • madvise_free_huge_pmd should return 0 if the fallback PTE operations are
    required. In madvise_free_huge_pmd, if part pages of THP are discarded,
    the THP will be split and fallback PTE operations should be used if
    splitting succeeds. But the original code will make fallback PTE
    operations skipped, after splitting succeeds. Fix that via make
    madvise_free_huge_pmd return 0 after splitting successfully, so that the
    fallback PTE operations will be done.

    Link: http://lkml.kernel.org/r/1467135452-16688-1-git-send-email-ying.huang@intel.com
    Signed-off-by: "Huang, Ying"
    Acked-by: Minchan Kim
    Cc: "Kirill A. Shutemov"
    Cc: Vlastimil Babka
    Cc: Jerome Marchand
    Cc: Andrea Arcangeli
    Cc: Ebru Akagunduz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Huang Ying
     
  • This reverts commit 9b5580359a84 ("scripts/gdb: add documentation
    example for radix tree")

    The python implementation of radix tree was merged at the same time as a
    refactoring of the radix tree implementation and doesn't work. The
    feature is being reverted, thus we revert the documentation as well.

    Link: http://lkml.kernel.org/r/1467127337-11135-7-git-send-email-kieran@bingham.xyz
    Signed-off-by: Kieran Bingham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kieran Bingham
     
  • This reverts commit e127a73d41ac ("scripts/gdb: add a Radix Tree
    Parser")

    The python implementation of radix-tree was merged at the same time as
    the radix-tree system was heavily reworked from commit e9256efcc8e3
    ("radix-tree: introduce radix_tree_empty") to 3bcadd6fa6c4 ("radix-tree:
    free up the bottom bit of exceptional entries for reuse") and no longer
    functions, but also prevents other gdb scripts from loading.

    This functionality has not yet hit a release, so simply remove it for
    now

    Link: http://lkml.kernel.org/r/1467127337-11135-6-git-send-email-kieran@bingham.xyz
    Signed-off-by: Kieran Bingham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kieran Bingham
     
  • Python doesn't do automatic expansion of paths. In case one passes path
    of the from ~/foo/bar the gdb scripts won't automatically expand that
    and as a result the symbols files won't be loaded.

    Fix this by explicitly expanding all paths which begin with "~"

    Link: http://lkml.kernel.org/r/1467127337-11135-5-git-send-email-kieran@bingham.xyz
    Signed-off-by: Nikolay Borisov
    Signed-off-by: Kieran Bingham
    Reviewed-by: Jan Kiszka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nikolay Borisov
     
  • Since scripts/gdb/linux/constants.py is autogenerated, this should have
    been added to .gitignore when it was introduced.

    Fixes: f197d75fcad1 ("scripts/gdb: provide linux constants")
    Link: http://lkml.kernel.org/r/1467127337-11135-4-git-send-email-kieran@bingham.xyz
    Signed-off-by: Omar Sandoval
    Signed-off-by: Kieran Bingham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Omar Sandoval
     
  • The autogenerated constants.py file was only being built on the initial
    call, and if the constants.py.in file changed. As we are utilising the
    CPP hooks, we can successfully use the call if_changed_dep rules to
    determine when to rebuild the file based on it's inclusions.

    Link: http://lkml.kernel.org/r/1467127337-11135-3-git-send-email-kieran@bingham.xyz
    Signed-off-by: Kieran Bingham
    Reported-by: Jan Kiszka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kieran Bingham
     
  • The constants.py generation, involves a rule to link into the main
    makefile. This rule has no command and generates a spurious warning
    message in the build logs when CONFIG_SCRIPTS_GDB is enabled.

    Fix simply by giving a no-op action

    Link: http://lkml.kernel.org/r/1467127337-11135-2-git-send-email-kieran@bingham.xyz
    Signed-off-by: Kieran Bingham
    Reported-by: Jan Kiszka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kieran Bingham
     
  • Currently GPF messages with KASAN look as follows:

    kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN

    Add newlines.

    Link: http://lkml.kernel.org/r/1467294357-98002-1-git-send-email-dvyukov@google.com
    Signed-off-by: Dmitry Vyukov
    Acked-by: Andrey Ryabinin
    Cc: Alexander Potapenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Vyukov
     
  • It's possible to isolate some freepages in a pageblock and then fail
    split_free_page() due to the low watermark check. In this case, we hit
    VM_BUG_ON() because the freeing scanner terminated early without a
    contended lock or enough freepages.

    This should never have been a VM_BUG_ON() since it's not a fatal
    condition. It should have been a VM_WARN_ON() at best, or even handled
    gracefully.

    Regardless, we need to terminate anytime the full pageblock scan was not
    done. The logic belongs in isolate_freepages_block(), so handle its
    state gracefully by terminating the pageblock loop and making a note to
    restart at the same pageblock next time since it was not possible to
    complete the scan this time.

    [rientjes@google.com: don't rescan pages in a pageblock]
    Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1607111244150.83138@chino.kir.corp.google.com
    Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1606291436300.145590@chino.kir.corp.google.com
    Signed-off-by: David Rientjes
    Reported-by: Minchan Kim
    Tested-by: Minchan Kim
    Cc: Joonsoo Kim
    Cc: Hugh Dickins
    Cc: Mel Gorman
    Cc: Vlastimil Babka
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

14 Jul, 2016

3 commits


13 Jul, 2016

5 commits

  • Pull media fixes from Mauro Carvalho Chehab:
    "Two regression fixes:

    - a regression when handling VIDIOC_CROPCAP at the media core;

    - a regression at adv7604 that was ignoring pad number in subdev ops"

    * tag 'media/v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] adv7604: Don't ignore pad number in subdev DV timings pad operations
    [media] v4l2-ioctl: fix stupid mistake in cropcap condition

    Linus Torvalds
     
  • Xiaolong Ye reported lock debug warnings triggered by the following commit:

    8de4a0066106 ("perf/x86: Convert the core to the hotplug state machine")

    The bug is the following: the cpuhp_bp_states[] array is cut short when
    CONFIG_SMP=n, but the dynamically registered callbacks are stored nevertheless
    and happily scribble outside of the array bounds...

    We need to store them in case that the state is unregistered so we can invoke
    the teardown function. That's independent of CONFIG_SMP. Make sure the array
    is large enough.

    Reported-by: kernel test robot
    Signed-off-by: Thomas Gleixner
    Cc: Adam Borowski
    Cc: Alexander Shishkin
    Cc: Anna-Maria Gleixner
    Cc: Arnaldo Carvalho de Melo
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Sebastian Andrzej Siewior
    Cc: Stephane Eranian
    Cc: Vince Weaver
    Cc: lkp@01.org
    Cc: stable@vger.kernel.org
    Cc: tipbuild@zytor.com
    Fixes: cff7d378d3fd "cpu/hotplug: Convert to a state machine for the control processor"
    Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1607122144560.4083@nanos
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • Pull ACPI fixes from Rafael Wysocki:
    "One ACPI EC driver regression fix (code ordering) and three reverts of
    ACPICA commits, one that introduced a problem and two unsuccessful
    attempted fixes on top of it.

    Specifics:

    - Fix a recent regression in the ACPI EC driver introduced by a fix
    of another problem that uncovered a latent code ordering issue in
    the driver (Lv Zheng).

    - Revert a recent ACPICA commit that attempted to address a lock
    ordering issue introduced by a previous fix, but caused Dell
    Precision 5510 to fail to boot, revert that previous fix too and
    finally revert the commit that caused the original problem (a
    deadlock in the ACPICA code) to happen (Rafael Wysocki)"

    * tag 'acpi-urgent-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI 2.0 / AML: Improve module level execution by moving the If/Else/While execution to per-table basis"
    Revert "ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading"
    Revert "ACPICA: Namespace: Fix namespace/interpreter lock ordering"
    ACPI / EC: Fix code ordering issue in ec_remove_handlers()

    Linus Torvalds
     
  • * acpica-fixes:
    Revert "ACPI 2.0 / AML: Improve module level execution by moving the If/Else/While execution to per-table basis"
    Revert "ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading"
    Revert "ACPICA: Namespace: Fix namespace/interpreter lock ordering"

    * acpi-ec-fixes:
    ACPI / EC: Fix code ordering issue in ec_remove_handlers()

    Rafael J. Wysocki
     
  • Pull regulator fix from Mark Brown:
    "Fix qcom-smd list voltage issues for msm8974

    This commit looks like a cleanup but in fact by causing the core to go
    down some simplified code paths for noop regulators it avoids a boot
    time crash for msm8974 platforms which was introduced in v4.7. It has
    been in -next for a while, the issues in mainline for these platforms
    weren't flagged up to me until yesterday (I think it took some time to
    figure out what was going wrong)"

    * tag 'qcom-smd-list-voltage' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: qcom_smd: Remove list_voltage callback for rpm_smps_ldo_ops_fixed

    Linus Torvalds
     

12 Jul, 2016

2 commits

  • Pull vfs fixes from Al Viro.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    posix_acl: de-union a_refcount and a_rcu
    nfs_atomic_open(): prevent parallel nfs_lookup() on a negative hashed
    Use the right predicate in ->atomic_open() instances

    Linus Torvalds
     
  • Currently the two are unioned together, but I don't think that's safe.

    It looks like get_cached_acl could race with the last put in
    posix_acl_release. get_cached_acl calls atomic_inc_not_zero on
    a_refcount, but that field could have already been clobbered by
    call_rcu, and may no longer be zero. Fix this by de-unioning the two
    fields.

    Fixes: b8a7a3a66747 (posix_acl: Inode acl caching fixes)
    Signed-off-by: Jeff Layton
    Signed-off-by: Al Viro

    Jeff Layton
     

11 Jul, 2016

11 commits

  • Variable "now" seems to be genuinely used unintialized
    if branch

    if (CPUCLOCK_PERTHREAD(timer->it_clock)) {

    is not taken and branch

    if (unlikely(sighand == NULL)) {

    is taken. In this case the process has been reaped and the timer is marked as
    disarmed anyway. So none of the postprocessing of the sample is
    required. Return right away.

    Signed-off-by: Alexey Dobriyan
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/20160707223911.GA26483@p183.telecom.by
    Signed-off-by: Thomas Gleixner

    Alexey Dobriyan
     
  • …le execution to per-table basis"

    Revert commit 3d4b7ae96d81 (ACPI 2.0 / AML: Improve module level
    execution by moving the If/Else/While execution to per-table basis)
    that enabled the execution of module-level AML after loading each
    table (rather than after all AML tables have been loaded), but
    overlooked locking issues resulting from that change.

    Fixes: 3d4b7ae96d81 (ACPI 2.0 / AML: Improve module level execution by moving the If/Else/While execution to per-table basis)
    Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

    Rafael J. Wysocki
     
  • Revert commit 2f38b1b16d92 (ACPICA: Namespace: Fix deadlock triggered by
    MLC support in dynamic table loading) that attempted to fix a deadlock
    issue introduced by a previous commit, but it led to a lock ordering
    inconsistency that caused further problems to appear.

    Fixes: 2f38b1b16d92 (ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading)
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Revert commit 45209046c47b (ACPICA: Namespace: Fix namespace/interpreter
    lock ordering) that renders Dell Precision 5510 with the latest (1.2.10)
    BIOS applied unable to boot.

    Fixes: 45209046c47b (ACPICA: Namespace: Fix namespace/interpreter lock ordering)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=121701
    Reported-by: Greg White
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Linus Torvalds
     
  • The well-spotted fallocate undo fix is good in most cases, but not when
    fallocate failed on the very first page. index 0 then passes lend -1
    to shmem_undo_range(), and that has two bad effects: (a) that it will
    undo every fallocation throughout the file, unrestricted by the current
    range; but more importantly (b) it can cause the undo to hang, because
    lend -1 is treated as truncation, which makes it keep on retrying until
    every page has gone, but those already fully instantiated will never go
    away. Big thank you to xfstests generic/269 which demonstrates this.

    Fixes: b9b4bb26af01 ("tmpfs: don't undo fallocate past its last page")
    Cc: stable@vger.kernel.org
    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • The EFI firmware on Macs contains a full-fledged network stack for
    downloading OS X images from osrecovery.apple.com. Unfortunately
    on Macs introduced 2011 and 2012, EFI brings up the Broadcom 4331
    wireless card on every boot and leaves it enabled even after
    ExitBootServices has been called. The card continues to assert its IRQ
    line, causing spurious interrupts if the IRQ is shared. It also corrupts
    memory by DMAing received packets, allowing for remote code execution
    over the air. This only stops when a driver is loaded for the wireless
    card, which may be never if the driver is not installed or blacklisted.

    The issue seems to be constrained to the Broadcom 4331. Chris Milsted
    has verified that the newer Broadcom 4360 built into the MacBookPro11,3
    (2013/2014) does not exhibit this behaviour. The chances that Apple will
    ever supply a firmware fix for the older machines appear to be zero.

    The solution is to reset the card on boot by writing to a reset bit in
    its mmio space. This must be done as an early quirk and not as a plain
    vanilla PCI quirk to successfully combat memory corruption by DMAed
    packets: Matthew Garrett found out in 2012 that the packets are written
    to EfiBootServicesData memory (http://mjg59.dreamwidth.org/11235.html).
    This type of memory is made available to the page allocator by
    efi_free_boot_services(). Plain vanilla PCI quirks run much later, in
    subsys initcall level. In-between a time window would be open for memory
    corruption. Random crashes occurring in this time window and attributed
    to DMAed packets have indeed been observed in the wild by Chris
    Bainbridge.

    When Matthew Garrett analyzed the memory corruption issue in 2012, he
    sought to fix it with a grub quirk which transitions the card to D3hot:
    http://git.savannah.gnu.org/cgit/grub.git/commit/?id=9d34bb85da56

    This approach does not help users with other bootloaders and while it
    may prevent DMAed packets, it does not cure the spurious interrupts
    emanating from the card. Unfortunately the card's mmio space is
    inaccessible in D3hot, so to reset it, we have to undo the effect of
    Matthew's grub patch and transition the card back to D0.

    Note that the quirk takes a few shortcuts to reduce the amount of code:
    The size of BAR 0 and the location of the PM capability is identical
    on all affected machines and therefore hardcoded. Only the address of
    BAR 0 differs between models. Also, it is assumed that the BCMA core
    currently mapped is the 802.11 core. The EFI driver seems to always take
    care of this.

    Michael Büsch, Bjorn Helgaas and Matt Fleming contributed feedback
    towards finding the best solution to this problem.

    The following should be a comprehensive list of affected models:
    iMac13,1 2012 21.5" [Root Port 00:1c.3 = 8086:1e16]
    iMac13,2 2012 27" [Root Port 00:1c.3 = 8086:1e16]
    Macmini5,1 2011 i5 2.3 GHz [Root Port 00:1c.1 = 8086:1c12]
    Macmini5,2 2011 i5 2.5 GHz [Root Port 00:1c.1 = 8086:1c12]
    Macmini5,3 2011 i7 2.0 GHz [Root Port 00:1c.1 = 8086:1c12]
    Macmini6,1 2012 i5 2.5 GHz [Root Port 00:1c.1 = 8086:1e12]
    Macmini6,2 2012 i7 2.3 GHz [Root Port 00:1c.1 = 8086:1e12]
    MacBookPro8,1 2011 13" [Root Port 00:1c.1 = 8086:1c12]
    MacBookPro8,2 2011 15" [Root Port 00:1c.1 = 8086:1c12]
    MacBookPro8,3 2011 17" [Root Port 00:1c.1 = 8086:1c12]
    MacBookPro9,1 2012 15" [Root Port 00:1c.1 = 8086:1e12]
    MacBookPro9,2 2012 13" [Root Port 00:1c.1 = 8086:1e12]
    MacBookPro10,1 2012 15" [Root Port 00:1c.1 = 8086:1e12]
    MacBookPro10,2 2012 13" [Root Port 00:1c.1 = 8086:1e12]

    For posterity, spurious interrupts caused by the Broadcom 4331 wireless
    card resulted in splats like this (stacktrace omitted):

    irq 17: nobody cared (try booting with the "irqpoll" option)
    handlers:
    [] pcie_isr
    [] sdhci_irq [sdhci] threaded [] sdhci_thread_irq [sdhci]
    [] azx_interrupt [snd_hda_codec]
    Disabling IRQ #17

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79301
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=111781
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=728916
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=895951#c16
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1009819
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1098621
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1149632#c5
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1279130
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1332732
    Tested-by: Konstantin Simanov # [MacBookPro8,1]
    Tested-by: Lukas Wunner # [MacBookPro9,1]
    Tested-by: Bryan Paradis # [MacBookPro9,2]
    Tested-by: Andrew Worsley # [MacBookPro10,1]
    Tested-by: Chris Bainbridge # [MacBookPro10,2]
    Signed-off-by: Lukas Wunner
    Acked-by: Rafał Miłecki
    Acked-by: Matt Fleming
    Cc: Andy Lutomirski
    Cc: Bjorn Helgaas
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Chris Milsted
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Matthew Garrett
    Cc: Michael Buesch
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Yinghai Lu
    Cc: b43-dev@lists.infradead.org
    Cc: linux-pci@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: stable@vger.kernel.org
    Cc: stable@vger.kernel.org # 123456789abc: x86/quirks: Apply nvidia_bugs quirk only on root bus
    Cc: stable@vger.kernel.org # 123456789abc: x86/quirks: Reintroduce scanning of secondary buses
    Link: http://lkml.kernel.org/r/48d0972ac82a53d460e5fce77a07b2560db95203.1465690253.git.lukas@wunner.de
    [ Did minor readability edits. ]
    Signed-off-by: Ingo Molnar

    Lukas Wunner
     
  • We used to scan secondary buses until the following commit that
    was applied in 2009:

    8659c406ade3 ("x86: only scan the root bus in early PCI quirks")

    which commit constrained early quirks to the root bus only. Its
    motivation was to prevent application of the nvidia_bugs quirk
    on secondary buses.

    We're about to add a quirk to reset the Broadcom 4331 wireless card on
    2011/2012 Macs, which is located on a secondary bus behind a PCIe root
    port. To facilitate that, reintroduce scanning of secondary buses.

    The commit message of 8659c406ade3 notes that scanning only the root bus
    "saves quite some unnecessary scanning work". The algorithm used prior
    to 8659c406ade3 was particularly time consuming because it scanned
    buses 0 to 31 brute force. To avoid lengthening boot time, employ a
    recursive strategy which only scans buses that are actually reachable
    from the root bus.

    Yinghai Lu pointed out that the secondary bus number read from a
    bridge's config space may be invalid, in particular a value of 0 would
    cause an infinite loop. The PCI core goes beyond that and recurses to a
    child bus only if its bus number is greater than the parent bus number
    (see pci_scan_bridge()). Since the root bus is numbered 0, this implies
    that secondary buses may not be 0. Do the same on early scanning.

    If this algorithm is found to significantly impact boot time or cause
    infinite loops on broken hardware, it would be possible to limit its
    recursion depth: The Broadcom 4331 quirk applies at depth 1, all others
    at depth 0, so the bus need not be scanned deeper than that for now. An
    alternative approach would be to revert to scanning only the root bus,
    and apply the Broadcom 4331 quirk to the root ports 8086:1c12, 8086:1e12
    and 8086:1e16. Apple always positioned the card behind either of these
    three ports. The quirk would then check presence of the card in slot 0
    below the root port and do its deed.

    Signed-off-by: Lukas Wunner
    Cc: Andy Lutomirski
    Cc: Bjorn Helgaas
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Yinghai Lu
    Cc: linux-pci@vger.kernel.org
    Link: http://lkml.kernel.org/r/f0daa70dac1a9b2483abdb31887173eb6ab77bdf.1465690253.git.lukas@wunner.de
    Signed-off-by: Ingo Molnar

    Lukas Wunner
     
  • Since the following commit:

    8659c406ade3 ("x86: only scan the root bus in early PCI quirks")

    ... early quirks are only applied to devices on the root bus.

    The motivation was to prevent application of the nvidia_bugs quirk on
    secondary buses.

    We're about to reintroduce scanning of secondary buses for a quirk to
    reset the Broadcom 4331 wireless card on 2011/2012 Macs. To prevent
    regressions, open code the requirement to apply nvidia_bugs only on the
    root bus.

    Signed-off-by: Lukas Wunner
    Cc: Andy Lutomirski
    Cc: Bjorn Helgaas
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Yinghai Lu
    Link: http://lkml.kernel.org/r/4d5477c1d76b2f0387a780f2142bbcdd9fee869b.1465690253.git.lukas@wunner.de
    Signed-off-by: Ingo Molnar

    Lukas Wunner
     
  • This showed up as "6Failed to access..." here.

    Signed-off-by: Vegard Nossum
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Chen Yucong
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Fixes: 1b74dde7c47c ("x86/cpu: Convert printk(KERN_ ...) to pr_(...)")
    Link: http://lkml.kernel.org/r/1468170841-17045-1-git-send-email-vegard.nossum@oracle.com
    Signed-off-by: Ingo Molnar

    Vegard Nossum
     
  • Pull MIPS fix from Ralf Baechle:
    "Another week with just a single 4.7 fix.

    This fixes a possible 'loss' of the huge page bit from pmd on
    permission change"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Fix page table corruption on THP permission changes.

    Linus Torvalds
     

10 Jul, 2016

1 commit

  • Mathieu Desnoyers reported that the STACK_FRAME_NON_STANDARD macro
    wasn't working with the lttng_filter_interpret_bytecode() function in
    the lttng-modules code.

    Usually the relocation created by STACK_FRAME_NON_STANDARD creates a
    reference to a section symbol like this:

    Offset Type Value Addend Name
    000000000000000000 X86_64_64 000000000000000000 +3136 .text

    But in this case it created a reference to a function symbol:

    Offset Type Value Addend Name
    000000000000000000 X86_64_64 0x00000000000003a0 +0 lttng_filter_interpret_bytecode

    To be honest I have no idea what causes gcc to decide to do one over the
    other. But both are valid ELF, so add support for the function symbol.

    Reported-by: Mathieu Desnoyers
    Signed-off-by: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: lttng-dev@lists.lttng.org
    Link: http://lkml.kernel.org/r/9cee42843bc6d94e990a152e4e0319cfdf6756ef.1466023450.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     

09 Jul, 2016

8 commits

  • cpufeatures.h currently defines X86_BUG(9) twice on 32-bit:

    #define X86_BUG_NULL_SEG X86_BUG(9) /* Nulling a selector preserves the base */
    ...
    #ifdef CONFIG_X86_32
    #define X86_BUG_ESPFIX X86_BUG(9) /* "" IRET to 16-bit SS corrupts ESP/RSP high bits */
    #endif

    I think what happened was that this added the X86_BUG_ESPFIX, but
    in an #ifdef below most of the bugs:

    58a5aac53313 x86/entry/32: Introduce and use X86_BUG_ESPFIX instead of paravirt_enabled

    Then this came along and added X86_BUG_NULL_SEG, but collided
    with the earlier one that did the bug below the main block
    defining all the X86_BUG()s.

    7a5d67048745 x86/cpu: Probe the behavior of nulling out a segment at boot time

    Signed-off-by: Dave Hansen
    Acked-by: Andy Lutomirski
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Dave Hansen
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/20160618001503.CEE1B141@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     
  • Pull SCSI fixes from James Bottomley:
    "Three fixes. One is the qla24xx MSI regression, one is a theoretical
    problem over blacklist matching, which would bite USB badly if it ever
    triggered and one is a system hang with a particular type of IPR
    device"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    qla2xxx: Fix NULL pointer deref in QLA interrupt
    SCSI: fix new bug in scsi_dev_info_list string matching
    ipr: Clear interrupt on croc/crocodile when running with LSI

    Linus Torvalds
     
  • There is an order issue in ec_remove_handlers() that acpi_ec_stop()
    is called before removing the operation region handler. That is
    incorrect, because the operation region handler removal triggers
    _REG(DISCONNECT) which may result in new EC transactions to carry
    out.

    That existing issue has been triggered by the following commit:

    Commit: dcf15cbded656a12335bc4151f3f75f10080a375
    Subject: ACPI / EC: Fix a boot EC regresion by restoring boot EC

    which changed the driver to call ec_remove_handlers() after invoking
    _REG(CONNECT), so the issue has become visible.

    Fixes: dcf15cbded65 (ACPI / EC: Fix a boot EC regresion by restoring boot EC)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=102421
    Reported-and-tested-by: Wolfram Sang
    Reported-by: Nicholas
    Signed-off-by: Lv Zheng
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • Pull eCryptfs fixes from Tyler Hicks:
    "Provide a more concise fix for CVE-2016-1583:
    - Additionally fixes linux-stable regressions caused by the
    cherry-picking of the original fix

    Some very minor changes that have queued up:
    - Fix typos in code comments
    - Remove unnecessary check for NULL before destroying kmem_cache"

    * tag 'ecryptfs-4.7-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
    ecryptfs: don't allow mmap when the lower fs doesn't support it
    Revert "ecryptfs: forbid opening files without mmap handler"
    ecryptfs: fix spelling mistakes
    eCryptfs: fix typos in comment
    ecryptfs: drop null test before destroy functions

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:
    "Two Fixes:

    - Intel VT-d fix for a suspend/resume issue, introduced with the
    scalability improvements in this cycle.

    - AMD IOMMU fix for systems that have unity mappings defined. There
    was a race where translation got enabled before the unity mappings
    were in place. This issue was seen on some HP servers"

    * tag 'iommu-fixes-v4.7-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: Fix unity mapping initialization race
    iommu/vt-d: Fix infinite loop in free_all_cpu_cached_iovas

    Linus Torvalds
     
  • Pull xen bug fixes from David Vrabel:

    - Fix two bugs in the handling of xenbus transactions.

    - Make the xen acpi driver compatible with Xen 4.7.

    * tag 'for-linus-4.7b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7
    xenbus: simplify xenbus_dev_request_and_reply()
    xenbus: don't bail early from xenbus_dev_request_and_reply()
    xenbus: don't BUG() on user mode induced condition

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "A couple of late fixes here, but one that we've been sitting on for a
    few weeks while the details were worked out. Specifically, we now
    enforce USER_DS on taking exceptions whilst in the kernel, which
    avoids leaking kernel data to userspace through things like perf. The
    other patch is an update to a workaround for a hardware erratum on
    some Cavium SoCs.

    Summary:

    - Enforce USER_DS on exception entry from EL1

    - Apply workaround for Cavium errata #27456 on Thunderx-81xx parts"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Enable workaround for Cavium erratum 27456 on thunderx-81xx
    arm64: kernel: Save and restore UAO and addr_limit on exception entry

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Three fixes:

    - A boot crash fix with certain configs
    - a MAINTAINERS entry update
    - Documentation typo fixes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/Documentation: Fix various typos in Documentation/x86/ files
    x86/amd_nb: Fix boot crash on non-AMD systems
    MAINTAINERS: Update the Calgary IOMMU entry

    Linus Torvalds