Skip to content
This repository has been archived by the owner on Jun 3, 2023. It is now read-only.

Gem5/v4.4 #1

Open
wants to merge 10,000 commits into
base: gem5/v4.3
Choose a base branch
from
Open

Gem5/v4.4 #1

wants to merge 10,000 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Dec 20, 2015

  1. Merge tag 'powerpc-4.4-5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
     - Partial revert of "powerpc: Individual System V IPC system calls"
     - pr_warn_once on unsupported OPAL_MSG type from Stewart
     - Fix deadlock in opal-irqchip introduced by "Fix double endian
       conversion" from Alistair
    
    * tag 'powerpc-4.4-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/opal-irqchip: Fix deadlock introduced by "Fix double endian conversion"
      powerpc/powernv: pr_warn_once on unsupported OPAL_MSG type
      Partial revert of "powerpc: Individual System V IPC system calls"
    torvalds committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    35b3154 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'md/4.4-rc5-fixes' of git://neil.brown.name/md

    Pull md fixes from Neil Brown:
     "Four fixes for md:
    
       - two recently introduced regressions fixed.
       - one older bug in RAID10 - tagged for -stable since 4.2
       - one minor sysfs api improvement"
    
    * tag 'md/4.4-rc5-fixes' of git://neil.brown.name/md:
      Fix remove_and_add_spares removes drive added as spare in slot_store
      md: fix bug due to nested suspend
      MD: change journal disk role to disk 0
      md/raid10: fix data corruption and crash during resync
    torvalds committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    3a87711 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'usb-4.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/gregkh/usb
    
    Pull USB fixes from Greg KH:
     "Here are some USB and PHY fixes for 4.4-rc6.  All of them resolve some
      reported problems.  Full details in the shortlog"
    
    * tag 'usb-4.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      USB: fix invalid memory access in hub_activate()
      USB: ipaq.c: fix a timeout loop
      phy: core: Get a refcount to phy in devm_of_phy_get_by_index()
      phy: cygnus: pcie: add missing of_node_put
      phy: miphy365x: add missing of_node_put
      phy: miphy28lp: add missing of_node_put
      phy: rockchip-usb: add missing of_node_put
      phy: berlin-sata: add missing of_node_put
      phy: mt65xx-usb3: add missing of_node_put
      phy: brcmstb-sata: add missing of_node_put
      phy: sun9i-usb: add USB dependency
    torvalds committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    24b0d5e View commit details
    Browse the repository at this point in the history
  4. Merge tag 'tty-4.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/gregkh/tty
    
    Pull tty/serial fixes from Greg KH:
     "Here are some tty/serial driver fixes for 4.4-rc6 that resolve some
      reported problems.  All of these have been in linux-next.  The details
      are in the shortlog"
    
    * tag 'tty-4.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
      tty: Fix GPF in flush_to_ldisc()
      serial: earlycon: Add missing spinlock initialization
      serial: sh-sci: Fix length of scatterlist
      n_tty: Fix poll() after buffer-limited eof push read
      serial: 8250_uniphier: fix dl_read and dl_write functions
    torvalds committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    69c37a9 View commit details
    Browse the repository at this point in the history
  5. rtc: rk808: Compensate for Rockchip calendar deviation on November 31st

    In A.D. 1582 Pope Gregory XIII found that the existing Julian calendar
    insufficiently represented reality, and changed the rules about
    calculating leap years to account for this. Similarly, in A.D. 2013
    Rockchip hardware engineers found that the new Gregorian calendar still
    contained flaws, and that the month of November should be counted up to
    31 days instead. Unfortunately it takes a long time for calendar changes
    to gain widespread adoption, and just like more than 300 years went by
    before the last Protestant nation implemented Greg's proposal, we will
    have to wait a while until all religions and operating system kernels
    acknowledge the inherent advantages of the Rockchip system. Until then
    we need to translate dates read from (and written to) Rockchip hardware
    back to the Gregorian format.
    
    This patch works by defining Jan 1st, 2016 as the arbitrary anchor date
    on which Rockchip and Gregorian calendars are in sync. From that we can
    translate arbitrary later dates back and forth by counting the number
    of November/December transitons since the anchor date to determine the
    offset between the calendars. We choose this method (rather than trying
    to regularly "correct" the date stored in hardware) since it's the only
    way to ensure perfect time-keeping even if the system may be shut down
    for an unknown number of years. The drawback is that other software
    reading the same hardware (e.g. mainboard firmware) must use the same
    translation convention (including the same anchor date) to be able to
    read and write correct timestamps from/to the RTC.
    
    Signed-off-by: Julius Werner <[email protected]>
    Reviewed-by: Douglas Anderson <[email protected]>
    Signed-off-by: Alexandre Belloni <[email protected]>
    jwerner-chromium authored and alexandrebelloni committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    f076ef4 View commit details
    Browse the repository at this point in the history
  6. rtc: da9063: fix access ordering error during RTC interrupt at system…

    … power on
    
    This fix alters the ordering of the IRQ and device registrations in the RTC
    driver probe function. This change will apply to the RTC driver that supports
    both DA9063 and DA9062 PMICs.
    
    A problem could occur with the existing RTC driver if:
    
    A system is started from a cold boot using the PMIC RTC IRQ to initiate a
    power on operation. For instance, if an RTC alarm is used to start a
    platform from power off.
    The existing driver IRQ is requested before the device has been properly
    registered.
    i.e.
        ret = devm_request_threaded_irq()
    comes before
        rtc->rtc_dev = devm_rtc_device_register();
    
    In this case, the interrupt can be called before the device has been
    registered and the handler can be called immediately. The IRQ handler
    da9063_alarm_event() contains the function call
    
        rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
    
    which in turn tries to access the unavailable rtc->rtc_dev.
    
    The fix is to reorder the functions inside the RTC probe. The IRQ is
    requested after the RTC device resource has been registered so that
    get_irq_byname is the last thing to happen.
    
    Signed-off-by: Steve Twiss <[email protected]>
    Signed-off-by: Alexandre Belloni <[email protected]>
    Steve Twiss authored and alexandrebelloni committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    77535ac View commit details
    Browse the repository at this point in the history
  7. Merge tag 'rtc-4.4-3' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/abelloni/linux
    
    Pull RTC fixes from Alexandre Belloni:
     "Late fixes for the RTC subsystem for 4.4:
    
      A fix for a nasty hardware bug in rk808 and an initialization
      reordering in da9063 to fix a possible crash"
    
    * tag 'rtc-4.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
      rtc: da9063: fix access ordering error during RTC interrupt at system power on
      rtc: rk808: Compensate for Rockchip calendar deviation on November 31st
    torvalds committed Dec 20, 2015
    Configuration menu
    Copy the full SHA
    9f7e432 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2015

  1. Linux 4.4-rc6

    torvalds committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    4ef7675 View commit details
    Browse the repository at this point in the history
  2. md: remove check for MD_RECOVERY_NEEDED in action_store.

    md currently doesn't allow a 'sync_action' such as 'reshape' to be set
    while MD_RECOVERY_NEEDED is set.
    
    This s a problem, particularly since commit 738a273 as that can
    cause ->check_shape to call mddev_resume() which sets
    MD_RECOVERY_NEEDED.  So by the time we come to start 'reshape' it is
    very likely that MD_RECOVERY_NEEDED is still set.
    
    Testing for this flag is not really needed and is in any case very
    racy as it can be set at any moment - asynchronously.  Any race
    between setting a sync_action and setting MD_RECOVERY_NEEDED must
    already be handled properly in some locked code, probably
    md_check_recovery(), so remove the test here.
    
    The test on MD_RECOVERY_RUNNING is also racy in the 'reshape' case
    so we should test it again after getting mddev_lock().
    
    As this fixes a race and a regression which can cause 'reshape' to
    fail, it is suitable for -stable kernels since 4.1
    
    Reported-by: Xiao Ni <[email protected]>
    Fixes: 738a273 ("md/raid5: fix allocation of 'scribble' array.")
    Cc: [email protected] (v4.1+)
    Signed-off-by: NeilBrown <[email protected]>
    NeilBrown committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    312045e View commit details
    Browse the repository at this point in the history
  3. ACPI / processor: Fix thermal cooling device regression

    The processor cooling device is no longer present for passive thermal
    control.
    
    Commit 239708a ("ACPI: Split out ACPI PSS from ACPI Processor driver")
    moved the processing to a new function acpi_pss_perf_init(), but
    missed "return 0" after successful creation.  This causes the error
    handling functions to be called, which will delete the previously
    created processor cooling device.
    
    Fixes: 239708a (ACPI: Split out ACPI PSS from ACPI Processor driver)
    Signed-off-by: Srinivas Pandruvada <[email protected]>
    Cc: 4.3+ <[email protected]> # 4.3+
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    spandruvada authored and rafaeljw committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    ce360db View commit details
    Browse the repository at this point in the history
  4. ARC: mm: HIGHMEM: Fix section mismatch splat

    | WARNING: vmlinux.o(.text+0xd6c2): Section mismatch in reference from the function alloc_kmap_pgtable() to the function
    | .init.text:__alloc_bootmem_low()
    The function alloc_kmap_pgtable() references the function __init __alloc_bootmem_low().
    This is often because alloc_kmap_pgtable lacks a __init annotation or the annotation of __alloc_bootmem_low is wrong.
    
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    899cfd2 View commit details
    Browse the repository at this point in the history
  5. ARC: mm: fix building for MMU v2

    ARC700 cores with MMU v2 don't have IC_PTAG AUX register and so we only
    define ARC_REG_IC_PTAG for MMU versions >= 3.
    
    But current implementation of cache_line_loop_vX() routines assumes
    availability of all of them (v2, v3 and v4) simultaneously.
    
    And given undefined ARC_REG_IC_PTAG if CONFIG_MMU_VER=2 we're seeing
    compilation problem:
    ---------------------------------->8-------------------------------
      CC      arch/arc/mm/cache.o
    arch/arc/mm/cache.c: In function '__cache_line_loop_v3':
    arch/arc/mm/cache.c:270:13: error: 'ARC_REG_IC_PTAG' undeclared (first use in this function)
       aux_tag = ARC_REG_IC_PTAG;
                 ^
    arch/arc/mm/cache.c:270:13: note: each undeclared identifier is reported only once for each function it appears in
    scripts/Makefile.build:258: recipe for target 'arch/arc/mm/cache.o' failed
    ---------------------------------->8-------------------------------
    
    The simples fix is to have ARC_REG_IC_PTAG defined regardless MMU
    version being used.
    
    We don't use it in cache_line_loop_v2() anyways so who cares.
    
    Signed-off-by: Alexey Brodkin <[email protected]>
    Signed-off-by: Vineet Gupta <[email protected]>
    abrodkin authored and vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    4b32e89 View commit details
    Browse the repository at this point in the history
  6. ARC: Fix linking errors with CONFIG_MODULE + CONFIG_CC_OPTIMIZE_FOR_SIZE

    At -Os, ARC gcc generates millicode thunk for function prologue/epilogue,
    which are served by libgcc.
    
    Modules historically are NOT linked with libgcc to avoid code bloat, reducing
    runtime relocation fixups etc. I even once tried doing that but got lost
    in makefile intricacies.
    
    This means modules at -Os don't get the millicode thunks, causing build
    failures below:
    
    | MODPOST 5 modules
    | ERROR: "__ld_r13_to_r18" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__ld_r13_to_r18_ret" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__st_r13_to_r18" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__ld_r13_to_r17_ret" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__st_r13_to_r17" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__ld_r13_to_r16_ret" [crypto/sha256_generic.ko] undefined!
    | ERROR: "__st_r13_to_r16" [crypto/sha256_generic.ko] undefined!
    |....
    |....
    
    Workaround that by inhibiting millicode thunks for loadable modules
    
    Fixes STAR 9000641864:
    ("Linux built with optimizations for size emits errors for modules")
    
    Reported-by: Anton Kolesov <[email protected]>
    Cc: Michal Marek <[email protected]>
    Cc: [email protected]
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    07fd7d4 View commit details
    Browse the repository at this point in the history
  7. Revert "ARC: dw2 unwind: Ignore CIE version !=1 gracefully instead of…

    … bailing"
    
    Blingly ignoring CIE.version != 1 was a bad idea.
    It still leaves "desirability" when running perf with callgraphing where libgcc
    symbols might show in hotspot.
    
    More importantly, basic CIE.version == 3 support already exists in code:
    
    |
    |   retAddrReg = state.version <= 1 ? *ptr++ : get_uleb128(&ptr, end);
    |
    
    Next commit with simply add continue-not-bail for CIE.version != 1
    
    This reverts commit 323f41f.
    vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    2d64aff View commit details
    Browse the repository at this point in the history
  8. ARC: dw2 unwind: Don't bail for CIE.version != 1

    The rudimentary CIE.version == 3 handling is already present in code
    (for return address register specification)
    
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    6d0d506 View commit details
    Browse the repository at this point in the history
  9. ARC: dw2 unwind: Catch Dwarf SNAFUs early

    Instead of seeing empty stack traces, let kernel fail early so dwarf
    issues can be fixed sooner
    
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    6b538db View commit details
    Browse the repository at this point in the history
  10. parisc: Fix syscall restarts

    On parisc syscalls which are interrupted by signals sometimes failed to
    restart and instead returned -ENOSYS which in the worst case lead to
    userspace crashes.
    A similiar problem existed on MIPS and was fixed by commit e967ef0
    ("MIPS: Fix restart of indirect syscalls").
    
    On parisc the current syscall restart code assumes that all syscall
    callers load the syscall number in the delay slot of the ble
    instruction. That's how it is e.g. done in the unistd.h header file:
    	ble 0x100(%sr2, %r0)
    	ldi #syscall_nr, %r20
    Because of that assumption the current code never restored %r20 before
    returning to userspace.
    
    This assumption is at least not true for code which uses the glibc
    syscall() function, which instead uses this syntax:
    	ble 0x100(%sr2, %r0)
    	copy regX, %r20
    where regX depend on how the compiler optimizes the code and register
    usage.
    
    This patch fixes this problem by adding code to analyze how the syscall
    number is loaded in the delay branch and - if needed - copy the syscall
    number to regX prior returning to userspace for the syscall restart.
    
    Signed-off-by: Helge Deller <[email protected]>
    Cc: [email protected]
    Cc: Mathieu Desnoyers <[email protected]>
    hdeller committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    71a71fb View commit details
    Browse the repository at this point in the history
  11. x86/entry: Fix some comments

    Signed-off-by: Andy Lutomirski <[email protected]>
    Reviewed-and-tested-by: Borislav Petkov <[email protected]>
    Cc: <[email protected]>
    Cc: Su Tao <[email protected]>
    Cc: Denys Vlasenko <[email protected]>
    Cc: <[email protected]>
    Cc: <[email protected]>
    Cc: <[email protected]>
    Cc: Brian Gerst <[email protected]>
    Cc: Mingwei Shi <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    amluto authored and KAGA-KOKO committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    6a613ac View commit details
    Browse the repository at this point in the history
  12. x86/entry: Restore traditional SYSENTER calling convention

    It turns out that some Android versions hardcode the SYSENTER
    calling convention.  This is buggy and will cause problems no
    matter what the kernel does.  Nonetheless, we should try to
    support it.
    
    Credit goes to Linus for pointing out a clean way to handle
    the SYSENTER/SYSCALL clobber differences while preserving
    straightforward DWARF annotations.
    
    I believe that the original offending Android commit was:
    
    https://android.googlesource.com/platform%2Fbionic/+/7dc3684d7a2587e43e6d2a8e0e3f39bf759bd535
    
    Reported-by: Qiuxu Zhuo <[email protected]>
    Signed-off-by: Andy Lutomirski <[email protected]>
    Reviewed-and-tested-by: Borislav Petkov <[email protected]>
    Cc: <[email protected]>
    Cc: Su Tao <[email protected]>
    Cc: Denys Vlasenko <[email protected]>
    Cc: <[email protected]>
    Cc: <[email protected]>
    Cc: Brian Gerst <[email protected]>
    Cc: Mingwei Shi <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    amluto authored and KAGA-KOKO committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    30bfa7b View commit details
    Browse the repository at this point in the history
  13. net: usb: cdc_ncm: Adding Dell DW5812 LTE Verizon Mobile Broadband Card

    Unlike DW5550, Dell DW5812 is a mobile broadband card with no ARP
    capabilities: the patch makes this device to use wwan_noarp_info struct
    
    Signed-off-by: Daniele Palmas <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    dnlplm authored and davem330 committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    670c0d6 View commit details
    Browse the repository at this point in the history
  14. net: usb: cdc_ncm: Adding Dell DW5813 LTE AT&T Mobile Broadband Card

    Unlike DW5550, Dell DW5813 is a mobile broadband card with no ARP
    capabilities: the patch makes this device to use wwan_noarp_info struct
    
    Signed-off-by: Daniele Palmas <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    dnlplm authored and davem330 committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    fb83d5f View commit details
    Browse the repository at this point in the history
  15. Merge branch 'cdc_ncm-new-Dell-devices'

    Daniele Palmas says:
    
    ====================
    net: usb: cdc_ncm: Adding support for two new Dell devices
    
    This patch series add support in the cdc_ncm driver for two devices
    based on the same platform, that are different only for carrier
    customization.
    
    V2: Added comment for highlighting FLAG_NOARP usage for those devices
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 21, 2015
    Configuration menu
    Copy the full SHA
    987aaad View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2015

  1. sd: Reject optimal transfer length smaller than page size

    Eryu Guan reported that loading scsi_debug would fail. This turned out
    to be caused by scsi_debug reporting an optimal I/O size of 32KB which
    is smaller than the 64KB page size on the PowerPC system in question.
    
    Add a check to ensure that we only use the device-reported OPTIMAL
    TRANSFER LENGTH if it is bigger than or equal to the page cache size.
    
    Reported-by: Eryu Guan <[email protected]>
    Reported-by: Ming Lei <[email protected]>
    Reviewed-by: Douglas Gilbert <[email protected]>
    Reviewed-by: Ewan Milne <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    martinkpetersen committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    9c1d9c2 View commit details
    Browse the repository at this point in the history
  2. ALSA: hda/realtek - Fix silent headphone output on MacPro 4,1 (v2)

    Without this patch, internal speaker and line-out work,
    but front headphone output jack stays silent on the
    Mac Pro 4,1.
    
    This code path also gets executed on the MacPro 5,1 due
    to identical codec SSID, but i don't know if it has any
    positive or adverse effects there or not.
    
    (v2) Implement feedback from Takashi Iwai: Reuse
         alc889_fixup_mbp_vref and just add a new nid
         0x19 for the MacPro 4,1.
    
    Signed-off-by: Mario Kleiner <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    kleinerm authored and tiwai committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    9f660a1 View commit details
    Browse the repository at this point in the history
  3. drm/i915: Drop the broken cursor base==0 special casing

    The cursor code tries to treat base==0 to mean disabled. That fails
    when the cursor bo gets bound at ggtt offset 0, and the user is left
    looking at an invisible cursor.
    
    We lose the disabled->disabled optimization, but that seems like
    something better handled at a slightly higher level.
    
    Cc: [email protected]
    Cc: Takashi Iwai <[email protected]>
    Cc: Jani Nikula <[email protected]>
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Chris Wilson <[email protected]>
    (cherry picked from commit 663f3122d00c0b412d429f105dca129aa8f4f094)
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    615cb24 View commit details
    Browse the repository at this point in the history
  4. drm/i915: Set the map-and-fenceable flag for preallocated objects

    As we mark the preallocated objects as bound, we should also flag them
    correctly as being map-and-fenceable (if appropriate!) so that later
    users do not get confused and try and rebind the pinned vma in order to
    get a map-and-fenceable binding.
    
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: "Goel, Akash" <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Jesse Barnes <[email protected]>
    Cc: [email protected]
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Jesse Barnes <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    (cherry picked from commit d0710abbcd88b1ff17760e97d74a673e67b49ea1)
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    62d622c View commit details
    Browse the repository at this point in the history
  5. drm/i915: Disable primary plane if we fail to reconstruct BIOS fb (v2)

    If we fail to reconstruct the BIOS fb (e.g., because the FB is too
    large), we'll be left with plane state that indicates the primary plane
    is visible yet has a NULL fb.  This mismatch causes problems later on
    (e.g., for the watermark code).  Since we've failed to reconstruct the
    BIOS FB, the best solution is to just disable the primary plane and
    pretend the BIOS never had it enabled.
    
    v2: Add intel_pre_disable_primary() call (Maarten)
    
    Cc: Daniel Vetter <[email protected]>
    Cc: Ville Syrjälä <[email protected]>
    Cc: Maarten Lankhorst <[email protected]>
    Cc: [email protected]
    Signed-off-by: Matt Roper <[email protected]>
    Reviewed-by: Maarten Lankhorst <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 200757f5d7c6f7f7032a0a07bbb8c02a840bbf7d)
    Signed-off-by: Jani Nikula <[email protected]>
    mattrope authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    a59fac6 View commit details
    Browse the repository at this point in the history
  6. MIPS: uaccess: Fix strlen_user with EVA

    The strlen_user() function calls __strlen_kernel_asm in both branches of
    the eva_kernel_access() conditional. For EVA it should be calling
    __strlen_user_eva for user accesses, otherwise it will load from the
    kernel address space instead of the user address space, and the access
    checking will likely be ineffective at preventing it due to EVA's
    overlapping user and kernel address spaces.
    
    This was found after extending the test_user_copy module to cover user
    string access functions, which gave the following error with EVA:
    
    test_user_copy: illegal strlen_user passed
    
    Fortunately the use of strlen_user() has been all but eradicated from
    the mainline kernel, so only out of tree modules could be affected.
    
    Fixes: e3a9b07 ("MIPS: asm: uaccess: Add EVA support for str*_user operations")
    Signed-off-by: James Hogan <[email protected]>
    Cc: Markos Chandras <[email protected]>
    Cc: Paul Burton <[email protected]>
    Cc: Leonid Yegoshin <[email protected]>
    Cc: [email protected]
    Cc: <[email protected]> # 3.15.x-
    Patchwork: https://patchwork.linux-mips.org/patch/10842/
    Signed-off-by: Ralf Baechle <[email protected]>
    James Hogan authored and ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    5dc62fd View commit details
    Browse the repository at this point in the history
  7. drm/i915: Break busywaiting for requests on pending signals

    The busywait in __i915_spin_request() does not respect pending signals
    and so may consume the entire timeslice for the task instead of
    returning to userspace to handle the signal.
    
    In the worst case this could cause a delay in signal processing of 20ms,
    which would be a noticeable jitter in cursor tracking. If a higher
    resolution signal was being used, for example to provide fairness of a
    server timeslices between clients, we could expect to detect some
    unfairness between clients (i.e. some windows not updating as fast as
    others). This issue was noticed when inspecting a report of poor
    interactivity resulting from excessively high __i915_spin_request usage.
    
    Fixes regression from
    commit 2def4ad [v4.2]
    Author: Chris Wilson <[email protected]>
    Date:   Tue Apr 7 16:20:41 2015 +0100
    
         drm/i915: Optimistically spin for the request completion
    
    v2: Try to assess the impact of the bug
    
    Signed-off-by: Chris Wilson <[email protected]>
    Reviewed-by: Tvrtko Ursulin <[email protected]>
    Cc: Jens Axboe <[email protected]>
    Cc; "Rogozhkin, Dmitry V" <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Cc: Eero Tamminen <[email protected]>
    Cc: "Rantala, Valtteri" <[email protected]>
    Cc: [email protected]
    Signed-off-by: Daniel Vetter <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 91b0c352ace9afec1fb51590c7b8bd60e0eb9fbd)
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    e7571f7 View commit details
    Browse the repository at this point in the history
  8. MIPS: uaccess: Take EVA into account in __copy_from_user()

    When EVA is in use, __copy_from_user() was unconditionally using the EVA
    instructions to read the user address space, however this can also be
    used for kernel access. If the address isn't a valid user address it
    will cause an address error or TLB exception, and if it is then user
    memory may be read instead of kernel memory.
    
    For example in the following stack trace from Linux v3.10 (changes since
    then will prevent this particular one still happening) kernel_sendmsg()
    set the user address limit to KERNEL_DS, and tcp_sendmsg() goes on to
    use __copy_from_user() with a kernel address in KSeg0.
    
    [<8002d434>] __copy_fromuser_common+0x10c/0x254
    [<805710e0>] tcp_sendmsg+0x5f4/0xf00
    [<804e8e3c>] sock_sendmsg+0x78/0xa0
    [<804e8f28>] kernel_sendmsg+0x24/0x38
    [<804ee0f8>] sock_no_sendpage+0x70/0x7c
    [<8017c820>] pipe_to_sendpage+0x80/0x98
    [<8017c6b0>] splice_from_pipe_feed+0xa8/0x198
    [<8017cc54>] __splice_from_pipe+0x4c/0x8c
    [<8017e844>] splice_from_pipe+0x58/0x78
    [<8017e884>] generic_splice_sendpage+0x20/0x2c
    [<8017d690>] do_splice_from+0xb4/0x110
    [<8017d710>] direct_splice_actor+0x24/0x30
    [<8017d394>] splice_direct_to_actor+0xd8/0x208
    [<8017d51c>] do_splice_direct+0x58/0x7c
    [<8014eaf4>] do_sendfile+0x1dc/0x39c
    [<8014f82c>] SyS_sendfile+0x90/0xf8
    
    Add the eva_kernel_access() check in __copy_from_user() like the one in
    copy_from_user().
    
    Signed-off-by: James Hogan <[email protected]>
    Cc: Markos Chandras <[email protected]>
    Cc: Paul Burton <[email protected]>
    Cc: Leonid Yegoshin <[email protected]>
    Cc: [email protected]
    Patchwork: https://patchwork.linux-mips.org/patch/10843/
    Signed-off-by: Ralf Baechle <[email protected]>
    James Hogan authored and ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    6f06a2c View commit details
    Browse the repository at this point in the history
  9. drm/i915: Limit the busy wait on requests to 5us not 10ms!

    When waiting for high frequency requests, the finite amount of time
    required to set up the irq and wait upon it limits the response rate. By
    busywaiting on the request completion for a short while we can service
    the high frequency waits as quick as possible. However, if it is a slow
    request, we want to sleep as quickly as possible. The tradeoff between
    waiting and sleeping is roughly the time it takes to sleep on a request,
    on the order of a microsecond. Based on measurements of synchronous
    workloads from across big core and little atom, I have set the limit for
    busywaiting as 10 microseconds. In most of the synchronous cases, we can
    reduce the limit down to as little as 2 miscroseconds, but that leaves
    quite a few test cases regressing by factors of 3 and more.
    
    The code currently uses the jiffie clock, but that is far too coarse (on
    the order of 10 milliseconds) and results in poor interactivity as the
    CPU ends up being hogged by slow requests. To get microsecond resolution
    we need to use a high resolution timer. The cheapest of which is polling
    local_clock(), but that is only valid on the same CPU. If we switch CPUs
    because the task was preempted, we can also use that as an indicator that
     the system is too busy to waste cycles on spinning and we should sleep
    instead.
    
    __i915_spin_request was introduced in
    commit 2def4ad [v4.2]
    Author: Chris Wilson <[email protected]>
    Date:   Tue Apr 7 16:20:41 2015 +0100
    
         drm/i915: Optimistically spin for the request completion
    
    v2: Drop full u64 for unsigned long - the timer is 32bit wraparound safe,
    so we can use native register sizes on smaller architectures. Mention
    the approximate microseconds units for elapsed time and add some extra
    comments describing the reason for busywaiting.
    
    v3: Raise the limit to 10us
    v4: Now 5us.
    
    Reported-by: Jens Axboe <[email protected]>
    Link: https://lkml.org/lkml/2015/11/12/621
    Reviewed-by: Tvrtko Ursulin <[email protected]>
    Cc: "Rogozhkin, Dmitry V" <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Cc: Eero Tamminen <[email protected]>
    Cc: "Rantala, Valtteri" <[email protected]>
    Cc: [email protected]
    Signed-off-by: Daniel Vetter <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit ca5b721e238226af1d767103ac852aeb8e4c0764)
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    f87a780 View commit details
    Browse the repository at this point in the history
  10. drm/i915: Only spin whilst waiting on the current request

    Limit busywaiting only to the request currently being processed by the
    GPU. If the request is not currently being processed by the GPU, there
    is a very low likelihood of it being completed within the 2 microsecond
    spin timeout and so we will just be wasting CPU cycles.
    
    v2: Check for logical inversion when rebasing - we were incorrectly
    checking for this request being active, and instead busywaiting for
    when the GPU was not yet processing the request of interest.
    
    v3: Try another colour for the seqno names.
    v4: Another colour for the function names.
    
    v5: Remove the forced coherency when checking for the active request. On
    reflection and plenty of recent experimentation, the issue is not a
    cache coherency problem - but an irq/seqno ordering problem (timing issue).
    Here, we do not need the w/a to force ordering of the read with an
    interrupt.
    
    Signed-off-by: Chris Wilson <[email protected]>
    Reviewed-by: Tvrtko Ursulin <[email protected]>
    Cc: "Rogozhkin, Dmitry V" <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Cc: Eero Tamminen <[email protected]>
    Cc: "Rantala, Valtteri" <[email protected]>
    Cc: [email protected]
    Signed-off-by: Daniel Vetter <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 821485dc2ad665f136c57ee589bf7a8210160fe2)
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    0f0cd47 View commit details
    Browse the repository at this point in the history
  11. drm/i915: Workaround CHV pipe C cursor fail

    Turns out CHV pipe C was glued on somewhat poorly, and there's something
    wrong with the cursor. If the cursor straddles the left screen edge,
    and is then moved away from the edge or disabled, the pipe will often
    underrun. If enough underruns are triggered quickly enough the pipe
    will fall over and die (it just scans out a solid color and reports
    a constant underrun). We need to turn the disp2d power well off and
    on again to recover the pipe.
    
    None of that is very nice for the user, so let's just refuse to place
    the cursor in the compromised position. The ddx appears to fall back
    to swcursor when the ioctl returns an error, so theoretically there's
    no loss of functionality for the user (discounting swcursor bugs).
    I suppose most cursors images actually have the hotspot not exactly
    at 0,0 so under typical conditions the fallback will in fact kick in
    as soon as the cursor touches the left edge of the screen.
    
    Any atomic compositor should anyway be prepared to fall back to
    GPU composition when things don't work out, so there should be no
    problem with those.
    
    Other things that I tried to solve this include flipping all
    display related clock gating knobs I could find, increasing the
    minimum gtt alignment all the way up to 512k. I also tried to see
    if there are more specific screen coordinates that hit the bug, but
    the findings were somewhat inconclusive. Sometimes the failures
    happen almost across the whole left edge, sometimes more at the very
    top and around the bottom half. I wasn't able to find any real pattern
    to these variations, so it seems our only choice is to just refuse
    to straddle the left screen edge at all.
    
    Cc: [email protected]
    Cc: Jason Plum <[email protected]>
    Testcase: igt/kms_chv_cursor_fail
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92826
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Daniel Vetter <[email protected]>
    (cherry picked from commit b29ec92c4f5e6d45d8bae8194e664427a01c6687)
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ef8dd37 View commit details
    Browse the repository at this point in the history
  12. MIPS: uaccess: Take EVA into account in [__]clear_user

    __clear_user() (and clear_user() which uses it), always access the user
    mode address space, which results in EVA store instructions when EVA is
    enabled even if the current user address limit is KERNEL_DS.
    
    Fix this by adding a new symbol __bzero_kernel for the normal kernel
    address space bzero in EVA mode, and call that from __clear_user() if
    eva_kernel_access().
    
    Signed-off-by: James Hogan <[email protected]>
    Cc: Markos Chandras <[email protected]>
    Cc: Paul Burton <[email protected]>
    Cc: Leonid Yegoshin <[email protected]>
    Cc: [email protected]
    Patchwork: https://patchwork.linux-mips.org/patch/10844/
    Signed-off-by: Ralf Baechle <[email protected]>
    James Hogan authored and ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    d6a428f View commit details
    Browse the repository at this point in the history
  13. drm/i915: Kill intel_crtc->cursor_bo

    The vma may have been rebound between the last time the cursor was
    enabled and now, so skipping the cursor gtt offset deduction is not
    safe unless we would also reset cursor_bo to NULL when disabling the
    cursor. Just thow cursor_bo to the bin instead since it's lost all
    other uses thanks to universal plane support.
    
    Chris pointed out that cursor updates are currently too slow
    via universal planes that micro optimizations like these wouldn't
    even help.
    
    v2: Add a note about futility of micro optimizations (Chris)
    
    Cc: [email protected]
    References: http://lists.freedesktop.org/archives/intel-gfx/2015-December/082976.html
    Cc: Chris Wilson <[email protected]>
    Cc: Takashi Iwai <[email protected]>
    Cc: Jani Nikula <[email protected]>
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Chris Wilson <[email protected]>
    (cherry picked from commit 1264859d648c4bdc9f0a098efbff90cbf462a075)
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    57a2af6 View commit details
    Browse the repository at this point in the history
  14. drm/i915: mdelay(10) considered harmful

    I missed this myself when reviewing
    
    commit 237ed86
    Author: Sonika Jindal <[email protected]>
    Date:   Tue Sep 15 09:44:20 2015 +0530
    
        drm/i915: Check live status before reading edid
    
    Long sleeps like this really shouldn't waste cpu cycles spinning.
    
    Cc: Sonika Jindal <[email protected]>
    Cc: "Wang, Gary C" <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Sonika Jindal <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    (cherry picked from commit 71a199bacb398ee54eeac001699257dda083a455)
    Signed-off-by: Jani Nikula <[email protected]>
    danvet authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    97f9010 View commit details
    Browse the repository at this point in the history
  15. drm/i915: Correct max delay for HDMI hotplug live status checking

    The total delay of HDMI hotplug detecting with 30ms have already
    been split into a resolution of 3 retries of 10ms each, for the worst
    cases. But it still suffered from only waiting 10ms at most in
    intel_hdmi_detect(). This patch corrects it by reading hotplug status
    with 4 times at most for 30ms delay.
    
    v2:
    - straight up to loop execution for more clear in code readability
    - mdelay will replace with msleep by Daniel's new patch
    
    	drm/i915: mdelay(10) considered harmful
    
    - suggest to re-evaluate try times for being compatible to old HDMI monitor
    
    Reviewed-by: Cooper Chiou <[email protected]>
    Tested-by: Gary Wang <[email protected]>
    Cc: Jani Nikula <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Gavin Hindman <[email protected]>
    Cc: Sonika Jindal <[email protected]>
    Cc: Shashank Sharma <[email protected]>
    Signed-off-by: Gary Wang <[email protected]>
    [danvet: fixup conflict with s/mdelay/msleep/ patch.]
    Cc: [email protected]
    Signed-off-by: Daniel Vetter <[email protected]>
    (cherry picked from commit 61fb3980dd396880ffba48523b1e27579868b82b)
    Signed-off-by: Jani Nikula <[email protected]>
    zcwang authored and jnikula committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    a98728e View commit details
    Browse the repository at this point in the history
  16. MIPS: CPS: drop .set mips64r2 directives

    Commit 977e043 ("MIPS: kernel: cps-vec: Replace mips32r2 ISA level
    with mips64r2") leads to .set mips64r2 directives being present in 32
    bit (ie. CONFIG_32BIT=y) kernels. This is incorrect & leads to MIPS64
    instructions being emitted by the assembler when expanding
    pseudo-instructions. For example the "move" instruction can legitimately
    be expanded to a "daddu". This causes problems when the kernel is run on
    a MIPS32 CPU, as CONFIG_32BIT kernels of course often are...
    
    Fix this by dropping the .set <ISA> directives entirely now that Kconfig
    should be ensuring that kernels including this code are built with a
    suitable -march= compiler flag.
    
    Signed-off-by: Paul Burton <[email protected]>
    Cc: Markos Chandras <[email protected]>
    Cc: James Hogan <[email protected]>
    Cc: <[email protected]> # 3.16+
    Cc: [email protected]
    Cc: [email protected]
    Patchwork: https://patchwork.linux-mips.org/patch/10869/
    Signed-off-by: Ralf Baechle <[email protected]>
    paulburton authored and ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    f3575e2 View commit details
    Browse the repository at this point in the history
  17. MIPS: VDSO: Fix build error

    Commit ebb5e78 ("MIPS: Initial implementation of a VDSO") introduced a
    build error.
    
    For MIPS VDSO to be compiled it requires binutils version 2.25 or above but
    the check in the Makefile had inverted logic causing it to be compiled in if
    binutils is below 2.25.
    
    This fixes the following compilation error:
    
    CC      arch/mips/vdso/gettimeofday.o
    /tmp/ccsExcUd.s: Assembler messages:
    /tmp/ccsExcUd.s:62: Error: can't resolve `_start' {*UND* section} - `L0' {.text section}
    /tmp/ccsExcUd.s:467: Error: can't resolve `_start' {*UND* section} - `L0' {.text section}
    make[2]: *** [arch/mips/vdso/gettimeofday.o] Error 1
    make[1]: *** [arch/mips/vdso] Error 2
    make: *** [arch/mips] Error 2
    
    [ralf@linux-mips: Fixed Sergei's complaint on the formatting of the
    cited commit and generally reformatted the log message.]
    
    Signed-off-by: Qais Yousef <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Patchwork: https://patchwork.linux-mips.org/patch/11745/
    Signed-off-by: Ralf Baechle <[email protected]>
    Qais Yousef authored and ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    2a037f3 View commit details
    Browse the repository at this point in the history
  18. crypto: algif_skcipher - Use new skcipher interface

    This patch replaces uses of ablkcipher with the new skcipher
    interface.
    
    Cc: [email protected]
    Signed-off-by: Herbert Xu <[email protected]>
    Tested-by: <[email protected]>
    herbertx committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    0d96e4b View commit details
    Browse the repository at this point in the history
  19. MIPS: Fix build error due to unused variables.

    c861519 ("MIPS: Fix delay loops which may
    be removed by GCC.") which made it upstream was an outdated version of the
    patch and is lacking some the removal of two variables that became unused
    thus resulting in further warnings and build breakage.  The commit
    from ae878615d7cee5d7346946cf1ae1b60e427013c2 was correct however.
    
    Signed-off-by: Ralf Baechle <[email protected]>
    ralfbaechle committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ec7b972 View commit details
    Browse the repository at this point in the history
  20. KVM: MTRR: fix fixed MTRR segment look up

    This fixes the slow-down of VM running with pci-passthrough, since some MTRR
    range changed from MTRR_TYPE_WRBACK to MTRR_TYPE_UNCACHABLE.  Memory in the
    0K-640K range was incorrectly treated as uncacheable.
    
    Fixes: f7bfb57
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=107561
    Cc: [email protected]
    Signed-off-by: Alexis Dambricourt <[email protected]>
    [Use correct BZ for "Fixes" annotation.  - Paolo]
    Signed-off-by: Paolo Bonzini <[email protected]>
    AlexisC0de authored and bonzini committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    a7f2d78 View commit details
    Browse the repository at this point in the history
  21. KVM: MTRR: observe maxphyaddr from guest CPUID, not host

    Conversion of MTRRs to ranges used the maxphyaddr from the boot CPU.
    This is wrong, because var_mtrr_range's mask variable then is discontiguous
    (like FF00FFFF000, where the first run of 0s corresponds to the bits
    between host and guest maxphyaddr).  Instead always set up the masks
    to be full 64-bit values---we know that the reserved bits at the top
    are zero, and we can restore them when reading the MSR.  This way
    var_mtrr_range gets a mask that just works.
    
    Fixes: a13842d
    Cc: [email protected]
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=107561
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    fa7c4eb View commit details
    Browse the repository at this point in the history
  22. KVM: MTRR: treat memory as writeback if MTRR is disabled in guest CPUID

    Virtual machines can be run with CPUID such that there are no MTRRs.
    In that case, the firmware will never enable MTRRs and it is obviously
    undesirable to run the guest entirely with UC memory.  Check out guest
    CPUID, and use WB memory if MTRR do not exist.
    
    Cc: [email protected]
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=107561
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    e24dea2 View commit details
    Browse the repository at this point in the history
  23. KVM: x86: Reload pit counters for all channels when restoring state

    Currently if userspace restores the pit counters with a count of 0
    on channels 1 or 2 and the guest attempts to read the count on those
    channels, then KVM will perform a mod of 0 and crash.  This will ensure
    that 0 values are converted to 65536 as per the spec.
    
    This is CVE-2015-7513.
    
    Signed-off-by: Andy Honig <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Andrew Honig authored and bonzini committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    0185604 View commit details
    Browse the repository at this point in the history
  24. NVMe: IO ending fixes on surprise removal

    This patch fixes a lost request discovered during IO + hot removal.
    
    The driver's pci removal deletes gendisks prior to shutting down the
    controller to allow dirty data to sync. Dirty data can not be synced on
    a surprise removal, though, and would potentially block indefinitely.
    
    The driver previously had marked the queue as dying in this scenario
    to prevent new requests from attempting, however it will still block
    for requests that already entered the queue. This patch fixes this by
    quiescing IO first, then aborting the requeued requests before deleting
    disks.
    
    Reported-by: Sujith Pandel <[email protected]>
    Signed-off-by: Keith Busch <[email protected]>
    Tested-by: Sujith Pandel <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    Keith Busch authored and axboe committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    b587522 View commit details
    Browse the repository at this point in the history
  25. block: ensure to split after potentially bouncing a bio

    blk_queue_bio() does split then bounce, which makes the segment
    counting based on pages before bouncing and could go wrong. Move
    the split to after bouncing, like we do for blk-mq, and the we
    fix the issue of having the bio count for segments be wrong.
    
    Fixes: 54efd50 ("block: make generic_make_request handle arbitrarily sized bios")
    Cc: [email protected]
    Tested-by: Artem S. Tashkinov <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    nomuranec authored and axboe committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    23688bf View commit details
    Browse the repository at this point in the history
  26. null_blk: fix use-after-free error

    blk_end_request_all may free request, so we need to save
    request_queue pointer before blk_end_request_all call.
    
    The problem was introduced in commit cf8ecc5
    ("null_blk: guarantee device restart in all irq modes")
    and causes general protection fault with slab poisoning
    enabled.
    
    Fixes: cf8ecc5 ("null_blk: guarantee device
           restart in all irq modes")
    
    Signed-off-by: Mike Krinkin <[email protected]>
    Reviewed-by: Ming Lei <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    krinkinmu authored and axboe committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    e827120 View commit details
    Browse the repository at this point in the history
  27. bus: sunxi-rsb: Fix primary PMIC mapping hardware address

    The primary PMICs use 0x3a3 as their hardware address, not 0x3e3.
    
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    wens authored and olofj committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    427d6e4 View commit details
    Browse the repository at this point in the history
  28. bus: sunxi-rsb: Fix peripheral IC mapping runtime address

    0x4e is the runtime address normally associated with perihperal ICs.
    0x45 is not a valid runtime address.
    
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    wens authored and olofj committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    bccd240 View commit details
    Browse the repository at this point in the history
  29. Merge tag 'imx-fixes-4.4-3' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/shawnguo/linux into fixes
    
    The i.MX fixes for 4.4, 3rd round:
    - Fix Ethernet PHY mode on i.MX6 Ventana boards, which can result in
      a non-functional Ethernet when Marvell phy driver rather than generic
      phy driver is selected.
    - Fix an assigned-clock configuration bug on imx6qdl-sabreauto board
      which was introduced by commit ed33936 ("ARM: dts:
      imx6qdl-sabreauto: Allow HDMI and LVDS to work simultaneously").
    
    * tag 'imx-fixes-4.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
      ARM: dts: imx6: Fix Ethernet PHY mode on Ventana boards
      ARM: dts: imx: Fix the assigned-clock mismatch issue on imx6q/dl
    olofj committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    8b9c133 View commit details
    Browse the repository at this point in the history
  30. Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf

    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following patchset contains two netfilter fixes:
    
    1) Oneliner from Florian to dump missing NFT_CT_L3PROTOCOL netlink
       attribute, from Florian Westphal.
    
    2) Another oneliner for nf_tables to use skb->protocol from the new
       netdev family, we can't assume ethernet there.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    a7c09ae View commit details
    Browse the repository at this point in the history
  31. veth: don’t modify ip_summed; doing so treats packets with bad checks…

    …ums as good.
    
    Packets that arrive from real hardware devices have ip_summed ==
    CHECKSUM_UNNECESSARY if the hardware verified the checksums, or
    CHECKSUM_NONE if the packet is bad or it was unable to verify it. The
    current version of veth will replace CHECKSUM_NONE with
    CHECKSUM_UNNECESSARY, which causes corrupt packets routed from hardware to
    a veth device to be delivered to the application. This caused applications
    at Twitter to receive corrupt data when network hardware was corrupting
    packets.
    
    We believe this was added as an optimization to skip computing and
    verifying checksums for communication between containers. However, locally
    generated packets have ip_summed == CHECKSUM_PARTIAL, so the code as
    written does nothing for them. As far as we can tell, after removing this
    code, these packets are transmitted from one stack to another unmodified
    (tcpdump shows invalid checksums on both sides, as expected), and they are
    delivered correctly to applications. We didn’t test every possible network
    configuration, but we tried a few common ones such as bridging containers,
    using NAT between the host and a container, and routing from hardware
    devices to containers. We have effectively deployed this in production at
    Twitter (by disabling RX checksum offloading on veth devices).
    
    This code dates back to the first version of the driver, commit
    <e314dbdc1c0dc6a548ecf> ("[NET]: Virtual ethernet device driver"), so I
    suspect this bug occurred mostly because the driver API has evolved
    significantly since then. Commit <0b7967503dc97864f283a> ("net/veth: Fix
    packet checksumming") (in December 2010) fixed this for packets that get
    created locally and sent to hardware devices, by not changing
    CHECKSUM_PARTIAL. However, the same issue still occurs for packets coming
    in from hardware devices.
    
    Co-authored-by: Evan Jones <[email protected]>
    Signed-off-by: Evan Jones <[email protected]>
    Cc: Nicolas Dichtel <[email protected]>
    Cc: Phil Sutter <[email protected]>
    Cc: Toshiaki Makita <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Vijay Pandurangan <[email protected]>
    Acked-by: Cong Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    2 people authored and davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ce8c839 View commit details
    Browse the repository at this point in the history
  32. sh_eth: fix 16-bit descriptor field access endianness too

    Commit 1299653 ("sh_eth: fix descriptor access endianness") only
    addressed the 32-bit buffer address field byte-swapping  but the driver
    still accesses 16-bit frame/buffer length descriptor fields without the
    necessary byte-swapping -- which should affect the big-endian kernels.
    In order to be able to use {cpu|edmac}_to_{edmac|cpu}(), we need to declare
    the RX/TX descriptor word 1 as a 32-bit field and use shifts/masking to
    access the 16-bit subfields (which gets rid of the ugly #ifdef'ery too)...
    
    Signed-off-by: Sergei Shtylyov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Sergei Shtylyov authored and davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    5cbf20c View commit details
    Browse the repository at this point in the history
  33. switchdev: bridge: Pass ageing time as clock_t instead of jiffies

    The bridge's ageing time is offloaded to hardware when:
    	1) A port joins a bridge
    	2) The ageing time of the bridge is changed
    
    In the first case the ageing time is offloaded as jiffies, but in the
    second case it's offloaded as clock_t, which is what existing switchdev
    drivers expect to receive.
    
    Fixes: 6ac311a ("Adding switchdev ageing notification on port bridged")
    Signed-off-by: Ido Schimmel <[email protected]>
    Signed-off-by: Jiri Pirko <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    idosch authored and davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ef9cdd0 View commit details
    Browse the repository at this point in the history
  34. ipv6/addrlabel: fix ip6addrlbl_get()

    ip6addrlbl_get() has never worked. If ip6addrlbl_hold() succeeded,
    ip6addrlbl_get() will exit with '-ESRCH'. If ip6addrlbl_hold() failed,
    ip6addrlbl_get() will use about to be free ip6addrlbl_entry pointer.
    
    Fix this by inverting ip6addrlbl_hold() check.
    
    Fixes: 2a8cc6c ("[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table.")
    Signed-off-by: Andrey Ryabinin <[email protected]>
    Reviewed-by: Cong Wang <[email protected]>
    Acked-by: YOSHIFUJI Hideaki <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    aryabinin authored and davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    e459dfe View commit details
    Browse the repository at this point in the history
  35. Merge tag 'omap-for-v4.4/fixes-rc6' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tmlind/linux-omap into fixes
    
    Few fixes for omaps to allow am437x only builds to boot properly with
    CPU_IDLE and ARM TWD timer. This is probably a common configuration setup
    for people making products with these SoCs so let's make sure it works.
    
    Also a wakeirq fix for duovero parlor making my life a bit easier as that
    allows me to run basic PM regression tests on it.
    
    It would be nice to have these in v4.4, but if it gets too late for that
    because of the holidays, it is not super critical if these get merged for
    v4.5.
    
    * tag 'omap-for-v4.4/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
      ARM: dts: Fix UART wakeirq for omap4 duovero parlor
      ARM: OMAP2+: AM43xx: select ARM TWD timer
      ARM: OMAP2+: am43xx: enable GENERIC_CLOCKEVENTS_BROADCAST
    
    Signed-off-by: Olof Johansson <[email protected]>
    olofj committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    741db4a View commit details
    Browse the repository at this point in the history
  36. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/klassert/ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2015-12-22
    
    Just one patch to fix dst_entries_init with multiple namespaces.
    From Dan Streetman.
    
    Please pull or let me know if there are problems.
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    024f35c View commit details
    Browse the repository at this point in the history
  37. addrconf: always initialize sysctl table data

    When sysctl performs restrict writes, it allows to write from
    a middle position of a sysctl file, which requires us to initialize
    the table data before calling proc_dostring() for the write case.
    
    Fixes: 3d1bec9 ("ipv6: introduce secret_stable to ipv6_devconf")
    Reported-by: Sasha Levin <[email protected]>
    Acked-by: Hannes Frederic Sowa <[email protected]>
    Tested-by: Sasha Levin <[email protected]>
    Signed-off-by: Cong Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    congwang authored and davem330 committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    5449a5c View commit details
    Browse the repository at this point in the history
  38. um: Fix pointer cast

    Fix a pointer cast typo introduced in v4.4-rc5 especially visible for
    the i386 subarchitecture where it results in a kernel crash.
    
    [ Also removed pointless cast as per Al Viro - Linus ]
    
    Fixes: 8090bfd ("um: Fix fpstate handling")
    Signed-off-by: Mickaël Salaün <[email protected]>
    Cc: Jeff Dike <[email protected]>
    Acked-by: Richard Weinberger <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    l0kod authored and torvalds committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    de37937 View commit details
    Browse the repository at this point in the history
  39. Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/mst/vhost
    
    Pull virtio fix from Michael Tsirkin:
     "This includes a single fix for virtio ccw error handling"
    
    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
      virtio/s390: handle error values in irb
    torvalds committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ea82813 View commit details
    Browse the repository at this point in the history
  40. ARM: tegra: Fix suspend hang on Tegra124 Chromebooks

    Enabling CPUFreq support for Tegra124 Chromebooks is causing the Tegra124
    to hang when resuming from suspend.
    
    When CPUFreq is enabled, the CPU clock is changed from the PLLX clock to
    the DFLL clock during kernel boot. When resuming from suspend the CPU
    clock is temporarily changed back to the PLLX clock before switching back
    to the DFLL. If the DFLL is operating at a much lower frequency than the
    PLLX when we enter suspend, and so the CPU voltage rail is at a voltage
    too low for the CPUs to operate at the PLLX frequency, then the device
    will hang.
    
    Please note that the PLLX is used in the resume sequence to switch the CPU
    clock from the very slow 32K clock to a faster clock during early resume
    to speed up the resume sequence before the DFLL is resumed.
    
    Ideally, we should fix this by setting the suspend frequency so that it
    matches the PLLX frequency, however, that would be a bigger change. For
    now simply disable CPUFreq support for Tegra124 Chromebooks to avoid the
    hang when resuming from suspend.
    
    Fixes: 9a0baee ("ARM: tegra: Enable CPUFreq support for Tegra124
    		      Chromebooks")
    
    Signed-off-by: Jon Hunter <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    jonhunter authored and olofj committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    80373d3 View commit details
    Browse the repository at this point in the history
  41. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "Two late bug fixes for kernel 4.4.
    
      Merry Christmas"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/dis: Fix handling of format specifiers
      s390/zcrypt: Fix AP queue handling if queue is full
    torvalds committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    ad3d1ab View commit details
    Browse the repository at this point in the history
  42. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm fixes from Paolo Bonzini:
    
     - A series of fixes to the MTRR emulation, tested in the BZ by several
       users so they should be safe this late
    
     - A fix for a division by zero
    
     - Two very simple ARM and PPC fixes
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: x86: Reload pit counters for all channels when restoring state
      KVM: MTRR: treat memory as writeback if MTRR is disabled in guest CPUID
      KVM: MTRR: observe maxphyaddr from guest CPUID, not host
      KVM: MTRR: fix fixed MTRR segment look up
      KVM: VMX: Fix host initiated access to guest MSR_TSC_AUX
      KVM: arm/arm64: vgic: Fix kvm_vgic_map_is_active's dist check
      kvm: x86: move tracepoints outside extended quiescent state
      KVM: PPC: Book3S HV: Prohibit setting illegal transaction state in MSR
    torvalds committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    e73a317 View commit details
    Browse the repository at this point in the history
  43. Merge tag 'nfsd-4.4-1' of git://linux-nfs.org/~bfields/linux

    Pull nfsd fix from Bruce Fields:
     "Just one fix for a NFSv4 callback bug introduced in 4.4"
    
    * tag 'nfsd-4.4-1' of git://linux-nfs.org/~bfields/linux:
      nfsd: don't hold ls_mutex across a layout recall
    torvalds committed Dec 22, 2015
    Configuration menu
    Copy the full SHA
    0bee6ec View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2015

  1. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block layer fixes from Jens Axboe:
     "Three small fixes for 4.4 final. Specifically:
    
       - The segment issue fix from Junichi, where the old IO path does a
         bio limit split before potentially bouncing the pages.  We need to
         do that in the right order, to ensure that limitations are met.
    
       - A NVMe surprise removal IO hang fix from Keith.
    
       - A use-after-free in null_blk, introduced by a previous patch in
         this series.  From Mike Krinkin"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      null_blk: fix use-after-free error
      block: ensure to split after potentially bouncing a bio
      NVMe: IO ending fixes on surprise removal
    torvalds committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    24bc3ea View commit details
    Browse the repository at this point in the history
  2. block: Split bios on chunk boundaries

    For h/w that advertise their block storage's underlying chunk size, it's
    a big performance win to not submit commands that cross them. This patch
    uses that criteria if it is provided. If it is not provided, this patch
    uses the max sectors as before.
    
    Signed-off-by: Keith Busch <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    Keith Busch authored and axboe committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    d380561 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/es8328',…

    … 'asoc/fix/fsl-sai', 'asoc/fix/rockchip', 'asoc/fix/sgtl5000' and 'asoc/fix/wm8974' into asoc-linus
    broonie committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    3dd5fc0 View commit details
    Browse the repository at this point in the history
  4. IB/cma: cma_match_net_dev needs to take into account port_num

    Previously, cma_match_net_dev called cma_protocol_roce which
    tried to verify that the IB device uses RoCE protocol. However,
    if rdma_id wasn't bound to a port, then the check would occur
    against the first port of the device without regard to whether
    that port was even of the same type as the type of port the
    incoming packet was received on.
    
    Fix this by passing the port of the request and only checking
    against the same port of the device.
    
    Reported-by: Or Gerlitz <[email protected]>
    Fixes: b8cab5d ('IB/cma: Accept connection without a valid netdev on RoCE')
    Signed-off-by: Matan Barak <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    matanb10 authored and dledford committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    fac5159 View commit details
    Browse the repository at this point in the history
  5. IB/mlx4: Replace kfree with kvfree in mlx4_ib_destroy_srq

    Commit 0ef2f05 uses vmalloc for WR buffers
    when needed and uses kvfree to free the buffers. It missed changing kfree
    to kvfree in mlx4_ib_destroy_srq().
    
    Reported-by: Matthew Finaly <[email protected]>
    Signed-off-by: Wengang Wang <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    Wengang-oracle authored and dledford committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    df41766 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'asoc-fix-v4.4-rc6' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v4.4
    
    A collection of small driver specific fixes here, nothing that'll affect
    users who don't have the devices concerned.  At least the wm8974 bug
    indicates that there's not too many users of some of these devices.
    tiwai committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    0fb0b82 View commit details
    Browse the repository at this point in the history
  7. drm/i915: Unbreak check_digital_port_conflicts()

    Atomic changes broke check_digital_port_conflicts(). It needs to look
    at the global situation instead of just trying to find a conflict
    within the current atomic state.
    
    This bug made my HSW explode spectacularly after I had split the DDI
    encoders into separate DP and HDMI encoders. With the fix, things
    seem much more solid.
    
    I hope holding the connection_mutex is enough protection that we can
    actually walk the connectors even if they're not part of the current
    atomic state...
    
    v2: Regenerate the patch so that it actually applies (Jani)
    
    Cc: [email protected]
    Cc: Ander Conselvan de Oliveira <[email protected]>
    Fixes: 5448a00 ("drm/i915: Don't use staged config in check_digital_port_conflicts()")
    Signed-off-by: Ville Syrjälä <[email protected]>
    Reviewed-by: Daniel Vetter <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 0bff4858653312a10c83709e0009c3adb87e6f1e)
    Signed-off-by: Jani Nikula <[email protected]>
    vsyrjala authored and jnikula committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    ae35b56 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Pull drm fixes from Dave Airlie:
     "Not much happening, should have dequeued this lot earlier.
    
      One amdgpu, one nouveau and one exynos fix"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
      drm/exynos: atomic check only enabled crtc states
      drm/nouveau/bios/fan: hardcode the fan mode to linear
      drm/amdgpu: fix user fence handling
    torvalds committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    2bfd43d View commit details
    Browse the repository at this point in the history
  9. Merge tag 'drm-intel-fixes-2015-12-23' of git://anongit.freedesktop.o…

    …rg/drm-intel
    
    Pull i915 drm fixes from Jani Nikula:
     "Here's a batch of i915 fixes all around.  It may be slightly bigger
      than one would hope for at this stage, but they've all been through
      testing in our -next before being picked up for v4.4.  Also, I missed
      Dave's fixes pull earlier today just because I wanted an extra testing
      round on this.  So I'm fairly confident.
    
      Wishing you all the things it is customary to wish this time of the
      year"
    
    * tag 'drm-intel-fixes-2015-12-23' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Correct max delay for HDMI hotplug live status checking
      drm/i915: mdelay(10) considered harmful
      drm/i915: Kill intel_crtc->cursor_bo
      drm/i915: Workaround CHV pipe C cursor fail
      drm/i915: Only spin whilst waiting on the current request
      drm/i915: Limit the busy wait on requests to 5us not 10ms!
      drm/i915: Break busywaiting for requests on pending signals
      drm/i915: Disable primary plane if we fail to reconstruct BIOS fb (v2)
      drm/i915: Set the map-and-fenceable flag for preallocated objects
      drm/i915: Drop the broken cursor base==0 special casing
    torvalds committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    5b726e0 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'sound-4.4-rc7' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "This shouldn't be a nightmare before Christmas: just a handful small
      device-specific fixes for various ASoC and HD-audio drivers.  Most of
      them are stable fixes"
    
    * tag 'sound-4.4-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: hda/realtek - Fix silent headphone output on MacPro 4,1 (v2)
      ASoC: fsl_sai: fix no frame clk in master mode
      ALSA: hda - Set SKL+ hda controller power at freeze() and thaw()
      ASoC: sgtl5000: fix VAG power up timing
      ASoC: rockchip: spdif: Set transmit data level to 16 samples
      ASoC: wm8974: set cache type for regmap
      ASoC: es8328: Fix shifts for mixer switches
      ASoC: davinci-mcasp: Fix XDATA check in mcasp_start_tx
      ASoC: es8328: Fix deemphasis values
    torvalds committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    a881643 View commit details
    Browse the repository at this point in the history
  11. sparc: Hook up userfaultfd system call

    After hooking up system call, userfaultfd selftest was successful for
    both 32 and 64 bit version of test.
    
    Signed-off-by: Mike Kravetz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    mjkravetz authored and davem330 committed Dec 23, 2015
    Configuration menu
    Copy the full SHA
    9bcfd78 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2015

  1. cpufreq: scpi-cpufreq: signedness bug in scpi_get_dvfs_info()

    The "domain" variable needs to be signed for the error handling to work.
    
    Fixes: 8def310 (cpufreq: arm_big_little: add SCPI interface driver)
    Signed-off-by: Dan Carpenter <[email protected]>
    Acked-by: Viresh Kumar <[email protected]>
    Acked-by: Sudeep Holla <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Dan Carpenter authored and rafaeljw committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    a7def56 View commit details
    Browse the repository at this point in the history
  2. ipv6: honor ifindex in case we receive ll addresses in router adverti…

    …sements
    
    Marc Haber reported we don't honor interface indexes when we receive link
    local router addresses in router advertisements. Luckily the non-strict
    version of ipv6_chk_addr already does the correct job here, so we can
    simply use it to lighten the checks and use those addresses by default
    without any configuration change.
    
    Link: <http://permalink.gmane.org/gmane.linux.network/391348>
    Reported-by: Marc Haber <[email protected]>
    Cc: Marc Haber <[email protected]>
    Signed-off-by: Hannes Frederic Sowa <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    strssndktn authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    c1a9a29 View commit details
    Browse the repository at this point in the history
  3. geneve: initialize needed_headroom

    Currently the needed_headroom field for the geneve device is left
    to the default value.
    
    This patch set it to space required for basic geneve encapsulation,
    so that we can avoid the skb head re-allocation on xmit.
    
    This give a 6% speedup for unsegment traffic on geneve tunnel.
    
    v1 -> v2:
      - add ETH_HLEN for the lower device to the needed headroom
    
    Signed-off-by: Paolo Abeni <[email protected]>
    Acked-by: Hannes Frederic Sowa <[email protected]>
    Acked-by: John W. Linville <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Paolo Abeni authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    184fc8b View commit details
    Browse the repository at this point in the history
  4. net: cdc_ncm: avoid changing RX/TX buffers on MTU changes

    NCM buffer sizes are negotiated with the device independently of
    the network device MTU.  The RX buffers are allocated by the
    usbnet framework based on the rx_urb_size value set by cdc_ncm. A
    single RX buffer can hold a number of MTU sized packets.
    
    The default usbnet change_mtu ndo only modifies rx_urb_size if it
    is equal to hard_mtu.  And the cdc_ncm driver will set rx_urb_size
    and hard_mtu independently of each other, based on dwNtbInMaxSize
    and dwNtbOutMaxSize respectively. It was therefore assumed that
    usbnet_change_mtu() would never touch rx_urb_size.  This failed to
    consider the case where dwNtbInMaxSize and dwNtbOutMaxSize happens
    to be equal.
    
    Fix by implementing an NCM specific change_mtu ndo, modifying the
    netdev MTU without touching the buffer size settings.
    
    Signed-off-by: Bjørn Mork <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    bmork authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    1dfddff View commit details
    Browse the repository at this point in the history
  5. qlcnic: fix a loop exit condition better

    In the original code, if we succeeded on the last iteration through the
    loop then we still returned failure.
    
    Fixes: 389e4e0 ('qlcnic: fix a timeout loop')
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Dan Carpenter authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    3358a5c View commit details
    Browse the repository at this point in the history
  6. tty: serial: constify sunhv_ops structs

    Constifies sunhv_ops structures in tty's serial
    driver since they are not modified after their
    initialization.
    
    Detected and found using Coccinelle.
    
    Suggested-by: Julia Lawall <[email protected]>
    Signed-off-by: Aya Mahfouz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Aya Mahfouz authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    01fd3c2 View commit details
    Browse the repository at this point in the history
  7. sparc64: Add ADI capability to cpu capabilities

    Add ADI (Application Data Integrity) capability to cpu capabilities list.
    ADI capability allows virtual addresses to be encoded with a tag in
    bits 63-60. This tag serves as an access control key for the regions
    of virtual address with ADI enabled and a key set on them. Hypervisor
    encodes this capability as "adp" in "hwcap-list" property in machine
    description.
    
    Signed-off-by: Khalid Aziz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    hikerockies authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    82924e5 View commit details
    Browse the repository at this point in the history
  8. sparc64: Don't set %pil in rtrap_nmi too early

    Commit 28a1f53 delays setting %pil to avoid potential
    hardirq stack overflow in the common rtrap_irq path.
    Setting %pil also needs to be delayed in the rtrap_nmi
    path for the same reason.
    
    Signed-off-by: Rob Gardner <[email protected]>
    Signed-off-by: Dave Aldridge <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Rob Gardner authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    1ca04a4 View commit details
    Browse the repository at this point in the history
  9. sparc64: Ensure perf can access user stacks

    When an interrupt (such as a perf counter interrupt) is delivered
    while executing in user space, the trap entry code puts ASI_AIUS in
    %asi so that copy_from_user() and copy_to_user() will access the
    correct memory. But if a perf counter interrupt is delivered while the
    cpu is already executing in kernel space, then the trap entry code
    will put ASI_P in %asi, and this will prevent copy_from_user() from
    reading any useful stack data in either of the perf_callchain_user_X
    functions, and thus no user callgraph data will be collected for this
    sample period. An additional problem is that a fault is guaranteed
    to occur, and though it will be silently covered up, it wastes time
    and could perturb state.
    
    In perf_callchain_user(), we ensure that %asi contains ASI_AIUS
    because we know for a fact that the subsequent calls to
    copy_from_user() are intended to read the user's stack.
    
    [ Use get_fs()/set_fs() -DaveM ]
    
    Signed-off-by: Rob Gardner <[email protected]>
    Signed-off-by: Dave Aldridge <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Rob Gardner authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    3f74306 View commit details
    Browse the repository at this point in the history
  10. sparc64: Perf should save/restore fault info

    There have been several reports of random processes being killed with
    a bus error or segfault during userspace stack walking in perf.  One
    of the root causes of this problem is an asynchronous modification to
    thread_info fault_address and fault_code, which stems from a perf
    counter interrupt arriving during kernel processing of a "benign"
    fault, such as a TSB miss. Since perf_callchain_user() invokes
    copy_from_user() to read user stacks, a fault is not only possible,
    but probable. Validity checks on the stack address merely cover up the
    problem and reduce its frequency.
    
    The solution here is to save and restore fault_address and fault_code
    in perf_callchain_user() so that the benign fault handler is not
    disturbed by a perf interrupt.
    
    Signed-off-by: Rob Gardner <[email protected]>
    Signed-off-by: Dave Aldridge <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Rob Gardner authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    8335269 View commit details
    Browse the repository at this point in the history
  11. sparc64: fix FP corruption in user copy functions

    Short story: Exception handlers used by some copy_to_user() and
    copy_from_user() functions do not diligently clean up floating point
    register usage, and this can result in a user process seeing invalid
    values in floating point registers. This sometimes makes the process
    fail.
    
    Long story: Several cpu-specific (NG4, NG2, U1, U3) memcpy functions
    use floating point registers and VIS alignaddr/faligndata to
    accelerate data copying when source and dest addresses don't align
    well. Linux uses a lazy scheme for saving floating point registers; It
    is not done upon entering the kernel since it's a very expensive
    operation. Rather, it is done only when needed. If the kernel ends up
    not using FP regs during the course of some trap or system call, then
    it can return to user space without saving or restoring them.
    
    The various memcpy functions begin their FP code with VISEntry (or a
    variation thereof), which saves the FP regs. They conclude their FP
    code with VISExit (or a variation) which essentially marks the FP regs
    "clean", ie, they contain no unsaved values. fprs.FPRS_FEF is turned
    off so that a lazy restore will be triggered when/if the user process
    accesses floating point regs again.
    
    The bug is that the user copy variants of memcpy, copy_from_user() and
    copy_to_user(), employ an exception handling mechanism to detect faults
    when accessing user space addresses, and when this handler is invoked,
    an immediate return from the function is forced, and VISExit is not
    executed, thus leaving the fprs register in an indeterminate state,
    but often with fprs.FPRS_FEF set and one or more dirty bits. This
    results in a return to user space with invalid values in the FP regs,
    and since fprs.FPRS_FEF is on, no lazy restore occurs.
    
    This bug affects copy_to_user() and copy_from_user() for NG4, NG2,
    U3, and U1. All are fixed by using a new exception handler for those
    loads and stores that are done during the time between VISEnter and
    VISExit.
    
    n.b. In NG4memcpy, the problematic code can be triggered by a copy
    size greater than 128 bytes and an unaligned source address.  This bug
    is known to be the cause of random user process memory corruptions
    while perf is running with the callgraph option (ie, perf record -g).
    This occurs because perf uses copy_from_user() to read user stacks,
    and may fault when it follows a stack frame pointer off to an
    invalid page. Validation checks on the stack address just obscure
    the underlying problem.
    
    Signed-off-by: Rob Gardner <[email protected]>
    Signed-off-by: Dave Aldridge <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Rob Gardner authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    a7c5724 View commit details
    Browse the repository at this point in the history
  12. tty/serial: Skip 'NULL' char after console break when sysrq enabled

    When sysrq is triggered from console, serial driver for SUN hypervisor
    console receives a console break and enables the sysrq. It expects a valid
    sysrq char following with break. Meanwhile if driver receives 'NULL'
    ASCII char then it disables sysrq and sysrq handler will never be invoked.
    
    This fix skips calling uart sysrq handler when 'NULL' is received while
    sysrq is enabled.
    
    Signed-off-by: Vijay Kumar <[email protected]>
    Acked-by: Karl Volz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    vijaykumar-s authored and davem330 committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    079317a View commit details
    Browse the repository at this point in the history
  13. ASoC: arizona: Fix bclk for sample rates that are multiple of 4kHz

    For a sample rate of 12kHz the bclk was taken from the 44.1kHz table as
    we test for a multiple of 8kHz. This patch fixes this issue by testing
    for multiples of 4kHz instead.
    
    Signed-off-by: Nikesh Oswal <[email protected]>
    Signed-off-by: Charles Keepax <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Nikesh Oswal authored and broonie committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    e73694d View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2015

  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    Pull sparc fixes from David Miller:
    
     1) Finally make perf stack backtraces stable on sparc, several problems
        (mostly due to the context in which the user copies from the stack
        are done) contributed to this.
    
        From Rob Gardner.
    
     2) Export ADI capability if the cpu supports it.
    
     3) Hook up userfaultfd system call.
    
     4) When faults happen during user copies we really have to clean up and
        restore the FPU state fully.  Also from Rob Gardner
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      tty/serial: Skip 'NULL' char after console break when sysrq enabled
      sparc64: fix FP corruption in user copy functions
      sparc64: Perf should save/restore fault info
      sparc64: Ensure perf can access user stacks
      sparc64: Don't set %pil in rtrap_nmi too early
      sparc64: Add ADI capability to cpu capabilities
      tty: serial: constify sunhv_ops structs
      sparc: Hook up userfaultfd system call
    torvalds committed Dec 25, 2015
    Configuration menu
    Copy the full SHA
    682cb0c View commit details
    Browse the repository at this point in the history
  2. Merge branch 'parisc-4.4-4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/deller/parisc-linux
    
    Pull parisc system call restart fix from Helge Deller:
     "The architectural design of parisc always uses two instructions to
      call kernel syscalls (delayed branch feature).  This means that the
      instruction following the branch (located in the delay slot of the
      branch instruction) is executed before control passes to the branch
      destination.
    
      Depending on which assembler instruction and how it is used in
      usersapce in the delay slot, this sometimes made restarted syscalls
      like futex() and poll() failing with -ENOSYS"
    
    * 'parisc-4.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: Fix syscall restarts
    torvalds committed Dec 25, 2015
    Configuration menu
    Copy the full SHA
    8db7b3c View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2015

  1. Merge branches 'acpi-processor' and 'pm-cpufreq'

    * acpi-processor:
      ACPI / processor: Fix thermal cooling device regression
    
    * pm-cpufreq:
      cpufreq: scpi-cpufreq: signedness bug in scpi_get_dvfs_info()
    rafaeljw committed Dec 26, 2015
    Configuration menu
    Copy the full SHA
    43b28ca View commit details
    Browse the repository at this point in the history
  2. Merge tag 'arc-4.4-rc7-fixes' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/vgupta/arc
    
    Pull ARC fixes from Vineet Gupta:
     "Sorry for this late pull request, but these are all important fixes
      for code introduced/updated in this release which we will otherwise
      end up back porting.
    
       - Unwinder rework (A revert followed by better fix)
       - Build errors: MMUv2, modules with -Os
       - highmem section mismatch build splat"
    
    * tag 'arc-4.4-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
      ARC: dw2 unwind: Catch Dwarf SNAFUs early
      ARC: dw2 unwind: Don't bail for CIE.version != 1
      Revert "ARC: dw2 unwind: Ignore CIE version !=1 gracefully instead of bailing"
      ARC: Fix linking errors with CONFIG_MODULE + CONFIG_CC_OPTIMIZE_FOR_SIZE
      ARC: mm: fix building for MMU v2
      ARC: mm: HIGHMEM: Fix section mismatch splat
    torvalds committed Dec 26, 2015
    Configuration menu
    Copy the full SHA
    12261f4 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2015

  1. Merge tag 'trace-v4.4-rc4-2' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rostedt/linux-trace
    
    Pull ftrace/recordmcount fix from Steven Rostedt:
     "Russell King was reporting lots of warnings when he compiled his
      kernel with ftrace enabled.  With some investigation it was discovered
      that it was his compile setup.  He was using ccache with hard links,
      which allowed recordmcount to process the same .o twice.  When this
      happens, recordmcount will detect that it was already done and give a
      warning about it.
    
      Russell fixed this by having recordmcount detect that the object file
      has more than one hard link, and if it does, it unlinks the object
      file after it maps it and processes then.  This appears to fix the
      issue.
    
      As you did not like the fact that recordmcount modified the file in
      place and thought that it should do the modifications in memory and
      then write it out to disk and move it over the old file to prevent
      other more subtle issues like the one above, a second patch is added
      on top of Russell's to do just that.  Luckily the original code had
      write and lseek wrappers that I was able to modify to not do inplace
      writes, but simply keep track of the changes made in memory.  When a
      write is made, a "update" flag is set, and at the end of processing,
      if the update is set, then it writes the file with changes out to a
      new file, and then renames it over the original one.
    
      The file descriptor is still passed to the write and lseek wrappers
      because removing that would cause the change to be more intrusive.
      That can be removed in a follow up cleanup patch that can wait till
      the next merge window"
    
    * tag 'trace-v4.4-rc4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      ftrace/scripts: Have recordmcount copy the object file
      scripts: recordmcount: break hardlinks
    torvalds committed Dec 27, 2015
    Configuration menu
    Copy the full SHA
    e2b0a16 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'upstream-4.4-rc7' of git://git.infradead.org/linux-ubifs

    Pull UBI bug fixes from Richard Weinberger:
     "This contains four bug fixes for UBI"
    
    * tag 'upstream-4.4-rc7' of git://git.infradead.org/linux-ubifs:
      mtd: ubi: don't leak e if schedule_erase() fails
      mtd: ubi: fixup error correction in do_sync_erase()
      UBI: fix use of "VID" vs. "EC" in header self-check
      UBI: fix return error code
    torvalds committed Dec 27, 2015
    Configuration menu
    Copy the full SHA
    3bef22e View commit details
    Browse the repository at this point in the history
  3. Merge tag 'md/4.4-rc6-fix' of git://neil.brown.name/md

    Pull md bugfix from Neil Brown:
     "One more md fix for 4.4-rc
    
      Fix a regression which causes reshape to not start properly sometimes"
    
    * tag 'md/4.4-rc6-fix' of git://neil.brown.name/md:
      md: remove check for MD_RECOVERY_NEEDED in action_store.
    torvalds committed Dec 27, 2015
    Configuration menu
    Copy the full SHA
    f0cf008 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'pm+acpi-4.4-rc7' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rafael/linux-pm
    
    Pull power management and ACPI fixes from Rafael Wysocki:
     "These fix an ACPI processor driver regression introduced during the
      4.3 cycle and a mistake in the recently added SCPI support in the
      arm_big_little cpufreq driver.
    
      Specifics:
    
       - Fix a thermal management issue introduced by an ACPI processor
         driver change made during the 4.3 development cycle that failed to
         return 0 from a function on success which triggered an error
         cleanup path every time it had been called that deleted useful data
         structures created previously (Srinivas Pandruvada).
    
       - Fix a variable data type issue in the arm_big_little cpufreq
         driver's SCPI support code added recently that prevents error
         handling in there from working correctly (Dan Carpenter)"
    
    * tag 'pm+acpi-4.4-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      cpufreq: scpi-cpufreq: signedness bug in scpi_get_dvfs_info()
      ACPI / processor: Fix thermal cooling device regression
    torvalds committed Dec 27, 2015
    Configuration menu
    Copy the full SHA
    2c96961 View commit details
    Browse the repository at this point in the history
  5. MIPS: Fix bitrot in __get_user_unaligned()

    Signed-off-by: Al Viro <[email protected]>
    Signed-off-by: Ralf Baechle <[email protected]>
    Al Viro authored and ralfbaechle committed Dec 27, 2015
    Configuration menu
    Copy the full SHA
    930c0f7 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2015

  1. Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/arm/arm-soc
    
    Pull ARM SoC fixes from Olof Johansson:
     "A smallish set of fixes that we've been sitting on for a while now,
      flushing the queue here so they go in.  Summary:
    
      A handful of fixes for OMAP, i.MX, Allwinner and Tegra:
    
       - A clock rate and a PHY setup fix for i.MX6Q/DL
       - A couple of fixes for the reduced serial bus (sunxi-rsb) on
         Allwinner
       - UART wakeirq fix for an OMAP4 board, timer config fixes for AM43XX.
       - Suspend fix for Tegra124 Chromebooks
       - Fix for missing implicit include that's different between
         ARM/ARM64"
    
    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      ARM: tegra: Fix suspend hang on Tegra124 Chromebooks
      bus: sunxi-rsb: Fix peripheral IC mapping runtime address
      bus: sunxi-rsb: Fix primary PMIC mapping hardware address
      ARM: dts: Fix UART wakeirq for omap4 duovero parlor
      ARM: OMAP2+: AM43xx: select ARM TWD timer
      ARM: OMAP2+: am43xx: enable GENERIC_CLOCKEVENTS_BROADCAST
      fsl-ifc: add missing include on ARM64
      ARM: dts: imx6: Fix Ethernet PHY mode on Ventana boards
      ARM: dts: imx: Fix the assigned-clock mismatch issue on imx6q/dl
      bus: sunxi-rsb: unlock on error in sunxi_rsb_read()
      ARM: dts: sunxi: sun6i-a31s-primo81.dts: add touchscreen axis swapping property
    torvalds committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    db06650 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    …ream-linus
    
    Pull MIPS fixes from Ralf Baechle:
    
     - Fix bitrot in __get_user_unaligned()
     - EVA userspace accessor bug fixes.
     - Fix for build issues with certain toolchains.
     - Fix build error for VDSO with particular toolchain versions.
     - Fix build error due to a variable that should have been removed by an
       earlier patch
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
      MIPS: Fix bitrot in __get_user_unaligned()
      MIPS: Fix build error due to unused variables.
      MIPS: VDSO: Fix build error
      MIPS: CPS: drop .set mips64r2 directives
      MIPS: uaccess: Take EVA into account in [__]clear_user
      MIPS: uaccess: Take EVA into account in __copy_from_user()
      MIPS: uaccess: Fix strlen_user with EVA
    torvalds committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    3ae86f1 View commit details
    Browse the repository at this point in the history
  3. Linux 4.4-rc7

    torvalds committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    74bf8ef View commit details
    Browse the repository at this point in the history
  4. sctp: use GFP_USER for user-controlled kmalloc

    Commit cacc062 ("sctp: use GFP_USER for user-controlled kmalloc")
    missed two other spots.
    
    For connectx, as it's more likely to be used by kernel users of the API,
    it detects if GFP_USER should be used or not.
    
    Fixes: cacc062 ("sctp: use GFP_USER for user-controlled kmalloc")
    Reported-by: Dmitry Vyukov <[email protected]>
    Signed-off-by: Marcelo Ricardo Leitner <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    marceloleitner authored and davem330 committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    9ba0b96 View commit details
    Browse the repository at this point in the history
  5. sctp: label accepted/peeled off sockets

    Accepted or peeled off sockets were missing a security label (e.g.
    SELinux) which means that socket was in "unlabeled" state.
    
    This patch clones the sock's label from the parent sock and resolves the
    issue (similar to AF_BLUETOOTH protocol family).
    
    Cc: Paul Moore <[email protected]>
    Cc: David Teigland <[email protected]>
    Signed-off-by: Marcelo Ricardo Leitner <[email protected]>
    Acked-by: Paul Moore <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    marceloleitner authored and davem330 committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    3538a5c View commit details
    Browse the repository at this point in the history
  6. Merge remote-tracking branch 'mkp-scsi/4.4/scsi-fixes' into fixes

    James Bottomley authored and James Bottomley committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    f9ec0d5 View commit details
    Browse the repository at this point in the history
  7. iommu/dma: Add some missing #includes

    dma-iommu.c was naughtily relying on an implicit transitive #include of
    linux/vmalloc.h, which is apparently not present on some architectures.
    Add that, plus a couple more headers for other functions which are used
    similarly.
    
    Reported-by: kbuild test robot <[email protected]>
    Signed-off-by: Robin Murphy <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    rmurphy-arm authored and joergroedel committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    5b11e9c View commit details
    Browse the repository at this point in the history
  8. iommu/dma: Avoid unlikely high-order allocations

    Doug reports that the equivalent page allocator on 32-bit ARM exhibits
    particularly pathalogical behaviour under memory pressure when
    fragmentation is high, where allocating a 4MB buffer takes tens of
    seconds and the number of calls to alloc_pages() is over 9000![1]
    
    We can drastically improve that situation without losing the other
    benefits of high-order allocations when they would succeed, by assuming
    memory pressure is relatively constant over the course of an allocation,
    and not retrying allocations at orders we know to have failed before.
    This way, the best-case behaviour remains unchanged, and in the worst
    case we should see at most a dozen or so (MAX_ORDER - 1) failed attempts
    before falling back to single pages for the remainder of the buffer.
    
    [1]:http://lists.infradead.org/pipermail/linux-arm-kernel/2015-December/394660.html
    
    Reported-by: Douglas Anderson <[email protected]>
    Signed-off-by: Robin Murphy <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    rmurphy-arm authored and joergroedel committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    0a9afed View commit details
    Browse the repository at this point in the history
  9. iommu/ipmmu-vmsa: Don't truncate ttbr if LPAE is not enabled

    If CONFIG_PHYS_ADDR_T_64BIT=n:
    
        drivers/iommu/ipmmu-vmsa.c: In function 'ipmmu_domain_init_context':
        drivers/iommu/ipmmu-vmsa.c:434:2: warning: right shift count >= width of type
          ipmmu_ctx_write(domain, IMTTUBR0, ttbr >> 32);
          ^
    
    As io_pgtable_cfg.arm_lpae_s1_cfg.ttbr[] is an array of u64s, assigning
    it to a phys_addr_t may truncates it.  Make ttbr u64 to fix this.
    
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    geertu authored and joergroedel committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    f64232e View commit details
    Browse the repository at this point in the history
  10. RDMA/ocrdma: Fix vlan-id assignment in qp parameters

    vlan-id is wrongly getting as 0 when PFC is enabled.
    Set vlan-id configured by user in QP parameters.
    In case vlan interface is not used, flash a warning to
    user to configure vlan and assign vlan-id as 0 in qp params.
    
    Fixes: dbf727d ('IB/core: Use GID table in AH creation and dmac resolution')
    Cc: Matan Barak <[email protected]>
    Signed-off-by: Devesh Sharma <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    Devesh Sharma authored and dledford committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    c6002d5 View commit details
    Browse the repository at this point in the history
  11. RDMA/ocrdma: Dispatch only port event when port state changes

    Dispatch only port event to IB stack when port state changes.
    Don't explicitly modify qps to error. Let application listen to
    port events on async event queue or let QP fail with retry-exceeded
    completion error.
    
    Signed-off-by: Padmanabh Ratnakar <[email protected]>
    Signed-off-by: Devesh Sharma <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    Devesh Sharma authored and dledford committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    36ac0db View commit details
    Browse the repository at this point in the history
  12. RDMA/ocrdma: Depend on async link events from CNA

    Recently Dough Ledford reported a deadlock happening
    between ocrdma-load sequence and NetworkManager service
    issuing "open" on be2net interface.
    
    The deadlock happens when any be2net hook (e.g. open/close) is called
    in parallel to insmod ocrdma.ko.
    
    A. be2net is sending administrative open/close event to ocrdma holding
       device_list_mutex. It does this from ndo_open/ndo_stop hooks of be2net.
       So sequence of locks is rtnl_lock---> device_list lock
    
    B.  When new ocrdma roce device gets registered, infiniband stack now
        takes rtnl_lock in ib_register_device() in GID initialization routines.
        So sequence of locks in this path is device_list lock ---> rtnl_lock.
    
    This improper locking sequence causes deadlock.
    
    With this patch we stop using administrative open and close events
    injected by be2net driver. These events were used to dispatch PORT_ACTIVE
    and PORT_ERROR events to the IB-stack. This patch implements a logic
    to receive async-link-events generated from CNA whenever link-state-change
    is detected. Now on, these async-events will be used to dispatch
    PORT_ACTIVE and PORT_ERROR events to IB-stack.
    
    Depending on async-events from CNA removes the need to hold device-list-mutex
    and thus breaks the busy-wait scenario.
    
    Reported-by: Doug Ledford <[email protected]>
    CC: Sathya Perla <[email protected]>
    Signed-off-by: Padmanabh Ratnakar <[email protected]>
    Signed-off-by: Selvin Xavier <[email protected]>
    Signed-off-by: Devesh Sharma <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    Devesh Sharma authored and dledford committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    10a214d View commit details
    Browse the repository at this point in the history
  13. RDMA/be2net: Remove open and close entry points

    Recently Dough Ledford reported a deadlock happening
    between ocrdma-load sequence and NetworkManager service
    issueing "open" on be2net interface.
    
    The deadlock happens when any be2net hook (e.g. open/close) is called
    in parallel to insmod ocrdma.ko.
    
    A. be2net is sending administrative open/close event to ocrdma holding
       device_list_mutex. It does this from ndo_open/ndo_stop hooks of be2net.
       So sequence of locks is rtnl_lock---> device_list lock
    
    B.  When new ocrdma roce device gets registered, infiniband stack now
        takes rtnl_lock in ib_register_device() in GID initialization routines.
        So sequence of locks in this path is device_list lock ---> rtnl_lock.
    
    This improper locking sequence causes deadlock.
    
    In order to resolve the above deadlock condition, ocrdma intorduced a
    patch to stop listening to administrative open/close events generated from
    be2net driver. It now depends on link-state-change async-event generated from
    CNA. This change leaves behind dead code which used to generate administrative
    open/close events. This patch cleans-up all that dead code from be2net.
    
    Reported-by: Doug Ledford <[email protected]>
    CC: Sathya Perla <[email protected]>
    Signed-off-by: Padmanabh Ratnakar <[email protected]>
    Signed-off-by: Selvin Xavier <[email protected]>
    Signed-off-by: Devesh Sharma <[email protected]>
    Signed-off-by: Doug Ledford <[email protected]>
    Devesh Sharma authored and dledford committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    f41647e View commit details
    Browse the repository at this point in the history
  14. Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/jmorris/linux-security
    
    Pull key handling bugfix from James Morris:
     "Fix a race between keyctl_read() and keyctl_revoke()"
    
    * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      KEYS: Fix race between read and revoke
    torvalds committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    2c7143d View commit details
    Browse the repository at this point in the history
  15. Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    Pull crypto fix from Herbert Xu:
     "This fixes a bug in the algif_skcipher interface that can trigger a
      kernel WARN_ON from user-space.  It does so by using the new skcipher
      interface which unlike the previous ablkcipher does not need to create
      extra geniv objects which is what was used to trigger the WARN_ON"
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: algif_skcipher - Use new skcipher interface
    torvalds committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    8513342 View commit details
    Browse the repository at this point in the history
  16. block: add blk_start_queue_async()

    We currently only have an inline/sync helper to restart a stopped
    queue. If drivers need an async version, they have to roll their
    own. Add a generic helper instead.
    
    Signed-off-by: Jens Axboe <[email protected]>
    axboe committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    2149141 View commit details
    Browse the repository at this point in the history
  17. null_blk: use async queue restart helper

    If null_blk is run in NULL_IRQ_TIMER mode and with queue_mode NULL_Q_RQ,
    we need to restart the queue from the hrtimer interrupt. We can't
    directly invoke the request_fn from that context, so punt the queue run
    to async kblockd context.
    
    Tested-by: Rabin Vincent <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    axboe committed Dec 28, 2015
    Configuration menu
    Copy the full SHA
    48cc661 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2015

  1. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/dledford/rdma
    
    Pull rdma fixes from Doug Ledford:
     "Three late 4.4-rc fixes.
    
      The first two were very small in terms of number of lines, the third
      is more lines of change than I like this late in the cycle, but there
      are positive test results from Avagotech and from my own test setup
      with the target hardware, and given the problem was a 100% failure
      case, I sent it through.
    
       - A previous patch updated the mlx4 driver to use vmalloc when there
         was not enough memory to get a contiguous region large enough for
         our needs, so we need kvfree() whenever we free that item.  We
         missed one place, so fix that now.
    
       - A previous patch added code to match incoming packets against a
         specific device, but failed to compensate for devices that have
         both InfiniBand and Ethernet ports.  Fix that.
    
       - Under certain vlan conditions, the ocrdma driver would fail to
         bring up any vlan interfaces and would print out a circular locking
         failure.  Fix that"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
      RDMA/be2net: Remove open and close entry points
      RDMA/ocrdma: Depend on async link events from CNA
      RDMA/ocrdma: Dispatch only port event when port state changes
      RDMA/ocrdma: Fix vlan-id assignment in qp parameters
      IB/mlx4: Replace kfree with kvfree in mlx4_ib_destroy_srq
      IB/cma: cma_match_net_dev needs to take into account port_num
    torvalds committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    1e60508 View commit details
    Browse the repository at this point in the history
  2. ALSA: hda - Add mic mute hotkey quirk for Lenovo ThinkCentre AIO

    The Lenovo ThinkCenter AIO uses Line2 (NID 0x1b) to implement the
    micmute hotkey, here we register an input device and use Line2 unsol
    event to collect the hotkey pressing or releasing.
    
    In the meanwhile, the micmute led is controlled by GPIO2, so we
    use an existing function alc_fixup_gpio_mic_mute_hook() to control
    the led.
    
    [Hui: And there are two places to register the input device, to make
    the code simple and clean, move the two same code sections into a
    function.]
    
    Cc: <[email protected]>
    Signed-off-by: Kailang <[email protected]>
    Signed-off-by: Hui Wang <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    kailangyang authored and tiwai committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    3694cb2 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda - Add keycode map for alc input device

    Then users can remap the keycode from userspace. If without the remap,
    the input device will pass KEY_MICMUTE to userspace, but in X11 layer,
    it uses KEY_F20 rather than KEY_MICMUTE for XF86AudioMicMute. After
    adding the keycode map, users can remap the keycode to any value users
    want.
    
    Cc: <[email protected]>
    Signed-off-by: Hui Wang <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    jason77-wang authored and tiwai committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    c7b60a8 View commit details
    Browse the repository at this point in the history
  4. lightnvm: wrong offset in bad blk lun calculation

    dev->nr_luns reports the total number of luns available in a device
    while dev->luns_per_chnl is the number of luns per channel.
    
    When multiple channels are available, the offset is calculated from a
    channel and lun id into a linear array. As it multiplies with
    the total number of luns, we go out of bound when channel id > 0 and
    causes the kernel to panic when we read a protected kernel memory area.
    
    Signed-off-by: Matias Bjørling <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    MatiasBjorling authored and axboe committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    c3293a9 View commit details
    Browse the repository at this point in the history
  5. [PATCH] arm: fix handling of F_OFD_... in oabi_fcntl64()

    Cc: [email protected] # 3.15+
    Reviewed-by: Jeff Layton <[email protected]>
    Signed-off-by: Al Viro <[email protected]>
    Al Viro committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    76cc404 View commit details
    Browse the repository at this point in the history
  6. openvswitch: Fix template leak in error cases.

    Commit 5b48bb8506c5 ("openvswitch: Fix helper reference leak") fixed a
    reference leak on helper objects, but inadvertently introduced a leak on
    the ct template.
    
    Previously, ct_info.ct->general.use was initialized to 0 by
    nf_ct_tmpl_alloc() and only incremented when ovs_ct_copy_action()
    returned successful. If an error occurred while adding the helper or
    adding the action to the actions buffer, the __ovs_ct_free_action()
    cleanup would use nf_ct_put() to free the entry; However, this relies on
    atomic_dec_and_test(ct_info.ct->general.use). This reference must be
    incremented first, or nf_ct_put() will never free it.
    
    Fix the issue by acquiring a reference to the template immediately after
    allocation.
    
    Fixes: cae3a26 ("openvswitch: Allow attaching helpers to ct action")
    Fixes: 5b48bb8506c5 ("openvswitch: Fix helper reference leak")
    Signed-off-by: Joe Stringer <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    joestringer authored and davem330 committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    90c7afc View commit details
    Browse the repository at this point in the history
  7. drivers: net: cpsw: fix error return code

    Propagate the return value of platform_get_irq on failure.
    
    A simplified version of the semantic match that finds the two cases where
    no error code is returned at all is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    identifier ret; expression e1,e2;
    @@
    (
    if (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    // </smpl>
    
    Signed-off-by: Julia Lawall <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    JuliaLawall authored and davem330 committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    c1e3334 View commit details
    Browse the repository at this point in the history
  8. MIPS: VDSO: Fix build error with binutils 2.24 and earlier

    Commit 2a037f3 ("MIPS: VDSO: Fix build error") tries to fix a build
    error seen with binutils 2.24 and earlier. However, the fix does not work,
    and again results in the already known build errors if the kernel is built
    with an earlier version of binutils.
    
    CC      arch/mips/vdso/gettimeofday.o
    /tmp/ccnOVbHT.s: Assembler messages:
    /tmp/ccnOVbHT.s:50: Error: can't resolve `_start' {*UND* section} - `L0 {.text section}
    /tmp/ccnOVbHT.s:374: Error: can't resolve `_start' {*UND* section} - `L0 {.text section}
    scripts/Makefile.build:258: recipe for target 'arch/mips/vdso/gettimeofday.o' failed
    make[2]: *** [arch/mips/vdso/gettimeofday.o] Error 1
    
    Fixes: 2a037f3 ("MIPS: VDSO: Fix build error")
    Cc: Qais Yousef <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Patchwork: https://patchwork.linux-mips.org/patch/11926/
    Signed-off-by: Guenter Roeck <[email protected]>
    Signed-off-by: Ralf Baechle <[email protected]>
    groeck authored and ralfbaechle committed Dec 29, 2015
    Configuration menu
    Copy the full SHA
    398c750 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2015

  1. ocfs2: fix BUG when calculate new backup super

    When resizing, it firstly extends the last gd.  Once it should backup
    super in the gd, it calculates new backup super and update the
    corresponding value.
    
    But it currently doesn't consider the situation that the backup super is
    already done.  And in this case, it still sets the bit in gd bitmap and
    then decrease from bg_free_bits_count, which leads to a corrupted gd and
    trigger the BUG in ocfs2_block_group_set_bits:
    
        BUG_ON(le16_to_cpu(bg->bg_free_bits_count) < num_bits);
    
    So check whether the backup super is done and then do the updates.
    
    Signed-off-by: Joseph Qi <[email protected]>
    Reviewed-by: Jiufei Xue <[email protected]>
    Reviewed-by: Yiwen Jiang <[email protected]>
    Cc: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    josephhz authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    5c9ee4c View commit details
    Browse the repository at this point in the history
  2. mm: memcontrol: fix possible memcg leak due to interrupted reclaim

    Memory cgroup reclaim can be interrupted with mem_cgroup_iter_break()
    once enough pages have been reclaimed, in which case, in contrast to a
    full round-trip over a cgroup sub-tree, the current position stored in
    mem_cgroup_reclaim_iter of the target cgroup does not get invalidated
    and so is left holding the reference to the last scanned cgroup.  If the
    target cgroup does not get scanned again (we might have just reclaimed
    the last page or all processes might exit and free their memory
    voluntary), we will leak it, because there is nobody to put the
    reference held by the iterator.
    
    The problem is easy to reproduce by running the following command
    sequence in a loop:
    
        mkdir /sys/fs/cgroup/memory/test
        echo 100M > /sys/fs/cgroup/memory/test/memory.limit_in_bytes
        echo $$ > /sys/fs/cgroup/memory/test/cgroup.procs
        memhog 150M
        echo $$ > /sys/fs/cgroup/memory/cgroup.procs
        rmdir test
    
    The cgroups generated by it will never get freed.
    
    This patch fixes this issue by making mem_cgroup_iter avoid taking
    reference to the current position.  In order not to hit use-after-free
    bug while running reclaim in parallel with cgroup deletion, we make use
    of ->css_released cgroup callback to clear references to the dying
    cgroup in all reclaim iterators that might refer to it.  This callback
    is called right before scheduling rcu work which will free css, so if we
    access iter->position from rcu read section, we might be sure it won't
    go away under us.
    
    [[email protected]: clean up css ref handling]
    Fixes: 5ac8fb3 ("mm: memcontrol: convert reclaim iterator to simple css refcounting")
    Signed-off-by: Vladimir Davydov <[email protected]>
    Signed-off-by: Johannes Weiner <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Acked-by: Johannes Weiner <[email protected]>
    Cc: <[email protected]>	[3.19+]
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Vladimir Davydov authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    6df3868 View commit details
    Browse the repository at this point in the history
  3. arch/x86/xen/suspend.c: include xen/xen.h

    Fix the build warning:
    
      arch/x86/xen/suspend.c: In function 'xen_arch_pre_suspend':
      arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration]
              if (xen_pv_domain())
                  ^
    
    Reported-by: kbuild test robot <[email protected]>
    Cc: Sasha Levin <[email protected]>
    Cc: Konrad Rzeszutek Wilk <[email protected]>
    Cc: Boris Ostrovsky <[email protected]>
    Cc: David Vrabel <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    akpm00 authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    facca61 View commit details
    Browse the repository at this point in the history
  4. m32r: fix build failure

    m32r allmodconfig is failing with:
    
      In file included from ../include/linux/kvm_para.h:4:0,
                       from ../kernel/watchdog.c:26:
      ../include/uapi/linux/kvm_para.h:30:26: fatal error: asm/kvm_para.h: No such file or directory
    
    kvm_para.h was not included in the build.
    
    Signed-off-by: Sudip Mukherjee <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    sudipm-mukherjee authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    6122192 View commit details
    Browse the repository at this point in the history
  5. m32r: add io*_rep helpers

    m32r allmodconfig was failing with the error:
    
      error: implicit declaration of function 'read'
    
    On checking io.h it turned out that 'read' is not defined but 'readb' is
    defined and 'ioread8' will then obviously mean 'readb'.
    
    At the same time some of the helper functions ioreadN_rep() and
    iowriteN_rep() were missing which also led to the build failure.
    
    Signed-off-by: Sudip Mukherjee <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    sudipm-mukherjee authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    92a8ed4 View commit details
    Browse the repository at this point in the history
  6. ocfs2: fix flock panic issue

    Commit 4f65636 ("Move locks API users to locks_lock_inode_wait()")
    move flock/posix lock indentify code to locks_lock_inode_wait(), but
    missed to set fl_flags to FL_FLOCK which caused the following kernel
    panic on 4.4.0_rc5.
    
      kernel BUG at fs/locks.c:1895!
      invalid opcode: 0000 [#1] SMP
      Modules linked in: ocfs2(O) ocfs2_dlmfs(O) ocfs2_stack_o2cb(O) ocfs2_dlm(O) ocfs2_nodemanager(O) ocfs2_stackglue(O) iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi xen_kbdfront xen_netfront xen_fbfront xen_blkfront
      CPU: 0 PID: 20268 Comm: flock_unit_test Tainted: G           O    4.4.0-rc5-next-20151217 #1
      Hardware name: Xen HVM domU, BIOS 4.3.1OVM 05/14/2014
      task: ffff88007b3672c0 ti: ffff880028b58000 task.ti: ffff880028b58000
      RIP: locks_lock_inode_wait+0x2e/0x160
      Call Trace:
        ocfs2_do_flock+0x91/0x160 [ocfs2]
        ocfs2_flock+0x76/0xd0 [ocfs2]
        SyS_flock+0x10f/0x1a0
        entry_SYSCALL_64_fastpath+0x12/0x71
      Code: e5 41 57 41 56 49 89 fe 41 55 41 54 53 48 89 f3 48 81 ec 88 00 00 00 8b 46 40 83 e0 03 83 f8 01 0f 84 ad 00 00 00 83 f8 02 74 04 <0f> 0b eb fe 4c 8d ad 60 ff ff ff 4c 8d 7b 58 e8 0e 8e 73 00 4d
      RIP  locks_lock_inode_wait+0x2e/0x160
       RSP <ffff880028b5bce8>
      ---[ end trace dfca74ec9b5b274c ]---
    
    Fixes: 4f65636 ("Move locks API users to locks_lock_inode_wait()")
    Signed-off-by: Junxiao Bi <[email protected]>
    Cc: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Cc: Joseph Qi <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    biger410 authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    b5a8bc3 View commit details
    Browse the repository at this point in the history
  7. mm/memory_hotplug.c: check for missing sections in test_pages_in_a_zo…

    …ne()
    
    test_pages_in_a_zone() does not account for the possibility of missing
    sections in the given pfn range.  pfn_valid_within always returns 1 when
    CONFIG_HOLES_IN_ZONE is not set, allowing invalid pfns from missing
    sections to pass the test, leading to a kernel oops.
    
    Wrap an additional pfn loop with PAGES_PER_SECTION granularity to check
    for missing sections before proceeding into the zone-check code.
    
    This also prevents a crash from offlining memory devices with missing
    sections.  Despite this, it may be a good idea to keep the related patch
    '[PATCH 3/3] drivers: memory: prohibit offlining of memory blocks with
    missing sections' because missing sections in a memory block may lead to
    other problems not covered by the scope of this fix.
    
    Signed-off-by: Andrew Banman <[email protected]>
    Acked-by: Alex Thorlton <[email protected]>
    Cc: Russ Anderson <[email protected]>
    Cc: Alex Thorlton <[email protected]>
    Cc: Yinghai Lu <[email protected]>
    Cc: Greg KH <[email protected]>
    Cc: Seth Jennings <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Andrew Banman authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    5f0f288 View commit details
    Browse the repository at this point in the history
  8. ocfs2/dlm: clear migration_pending when migration target goes down

    We have found a BUG on res->migration_pending when migrating lock
    resources.  The situation is as follows.
    
    dlm_mark_lockres_migration
      res->migration_pending = 1;
      __dlm_lockres_reserve_ast
      dlm_lockres_release_ast returns with res->migration_pending remains
          because other threads reserve asts
      wait dlm_migration_can_proceed returns 1
      >>>>>>> o2hb found that target goes down and remove target
              from domain_map
      dlm_migration_can_proceed returns 1
      dlm_mark_lockres_migrating returns -ESHOTDOWN with
          res->migration_pending still remains.
    
    When reentering dlm_mark_lockres_migrating(), it will trigger the BUG_ON
    with res->migration_pending.  So clear migration_pending when target is
    down.
    
    Signed-off-by: Jiufei Xue <[email protected]>
    Reviewed-by: Joseph Qi <[email protected]>
    Cc: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Cc: Junxiao Bi <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    xuejiufei authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    cc28d6d View commit details
    Browse the repository at this point in the history
  9. mm/vmstat: fix overflow in mod_zone_page_state()

    mod_zone_page_state() takes a "delta" integer argument.  delta contains
    the number of pages that should be added or subtracted from a struct
    zone's vm_stat field.
    
    If a zone is larger than 8TB this will cause overflows.  E.g.  for a
    zone with a size slightly larger than 8TB the line
    
        mod_zone_page_state(zone, NR_ALLOC_BATCH, zone->managed_pages);
    
    in mm/page_alloc.c:free_area_init_core() will result in a negative
    result for the NR_ALLOC_BATCH entry within the zone's vm_stat, since 8TB
    contain 0x8xxxxxxx pages which will be sign extended to a negative
    value.
    
    Fix this by changing the delta argument to long type.
    
    This could fix an early boot problem seen on s390, where we have a 9TB
    system with only one node.  ZONE_DMA contains 2GB and ZONE_NORMAL the
    rest.  The system is trying to allocate a GFP_DMA page but ZONE_DMA is
    completely empty, so it tries to reclaim pages in an endless loop.
    
    This was seen on a heavily patched 3.10 kernel.  One possible
    explaination seem to be the overflows caused by mod_zone_page_state().
    Unfortunately I did not have the chance to verify that this patch
    actually fixes the problem, since I don't have access to the system
    right now.  However the overflow problem does exist anyway.
    
    Given the description that a system with slightly less than 8TB does
    work, this seems to be a candidate for the observed problem.
    
    Signed-off-by: Heiko Carstens <[email protected]>
    Cc: Christoph Lameter <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    heicarst authored and torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    6cdb18a View commit details
    Browse the repository at this point in the history
  10. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull vfs fix from Al Viro:
     "Fix for 3.15 breakage of fcntl64() in arm OABI compat.  -stable
      fodder"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      [PATCH] arm: fix handling of F_OFD_... in oabi_fcntl64()
    torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    e25bd6c View commit details
    Browse the repository at this point in the history
  11. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "9 fixes"
    
    * emailed patches from Andrew Morton <[email protected]>:
      mm/vmstat: fix overflow in mod_zone_page_state()
      ocfs2/dlm: clear migration_pending when migration target goes down
      mm/memory_hotplug.c: check for missing sections in test_pages_in_a_zone()
      ocfs2: fix flock panic issue
      m32r: add io*_rep helpers
      m32r: fix build failure
      arch/x86/xen/suspend.c: include xen/xen.h
      mm: memcontrol: fix possible memcg leak due to interrupted reclaim
      ocfs2: fix BUG when calculate new backup super
    torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    866be88 View commit details
    Browse the repository at this point in the history
  12. drm/i915: increase the tries for HDMI hotplug live status checking

    The total delay of HDMI hotplug detecting with 30ms is sometimes not
    enoughtfor HDMI live status up with specific HDMI monitors in BSW platform.
    
    After doing experiments for following monitors, it needs 80ms at least
    for those worst cases.
    
    Lenovo L246 1xwA (4 failed, necessary hot-plug delay: 58/40/60/40ms)
    Philips HH2AP (9 failed, necessary hot-plug delay: 80/50/50/60/46/40/58/58/39ms)
    BENQ ET-0035-N (6 failed, necessary hot-plug delay: 60/50/50/80/80/40ms)
    DELL U2713HM (2 failed, necessary hot-plug delay: 58/59ms)
    HP HP-LP2475w (5 failed, necessary hot-plug delay: 70/50/40/60/40ms)
    
    It looks like 70-80 ms is BSW platform needs in some bad cases of the
    monitors at this end (8 times delay at most). Keep less than 100ms for
    HDCP pulse HPD low (with at least 100ms) to respond a plug out.
    
    Reviewed-by: Cooper Chiou <[email protected]>
    Tested-by: Gary Wang <[email protected]>
    Cc: Gavin Hindman <[email protected]>
    Cc: Sonika Jindal <[email protected]>
    Cc: Shashank Sharma <[email protected]>
    Cc: Shobhit Kumar <[email protected]>
    Signed-off-by: Gary Wang <[email protected]>
    Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
    Tested-by: Shobhit Kumar <[email protected]>
    Cc: [email protected]
    Fixes: 237ed86 ("drm/i915: Check live status before reading edid")
    Signed-off-by: Daniel Vetter <[email protected]>
    (cherry picked from commit f8d03ea0053b23de42c828d559016eabe0b91523)
    [Jani: undo the file mode change of the original commit]
    Signed-off-by: Jani Nikula <[email protected]>
    zcwang authored and jnikula committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    3d8acd1 View commit details
    Browse the repository at this point in the history
  13. ASoC: rt5645: add sys clk detection

    Add system clock detection to prevent output DC from SPO.
    
    Signed-off-by: Bard Liao <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Bard Liao authored and broonie committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    ca8457b View commit details
    Browse the repository at this point in the history
  14. ASoC: Use nested lock for snd_soc_dapm_mutex_lock

    snd_soc_dapm_mutex_lock currently uses the un-nested call which can
    cause lockdep warnings when called from control handlers (a relatively
    common usage) and using modules. As creating the control causes a
    potential mutex inversion with the handler, creating the control will
    take the controls_rwsem under the dapm_mutex and accessing the control
    will take the dapm_mutex under controls_rwsem.
    
    All the users look like they want to be using the runtime class of the
    lock anyway, so this patch just changes snd_soc_dapm_mutex_lock to use
    the nested call, with the SND_SOC_DAPM_CLASS_RUNTIME class.
    
    Fixes: f6d5e58 ("ASoC: dapm: Add helpers to lock/unlock DAPM mutex")
    Signed-off-by: Charles Keepax <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    charleskeepax authored and broonie committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    783513e View commit details
    Browse the repository at this point in the history
  15. x86/numachip: Fix NumaConnect2 MMCFG PCI access

    The MMCFG PCI accessors weren't being setup for NumacConnect2
    correctly due to over-early assignment; this would create the
    potential for the wrong PCI domain to be accessed.
    
    Fix this by using the correct arch-specific PCI init function.
    
    Signed-off-by: Daniel J Blueman <[email protected]>
    Acked-by: Steffen Persvold <[email protected]>
    Cc: Daniel Lezcano <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Thomas Gleixner <[email protected]>
    dblueman authored and KAGA-KOKO committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    dd7a5ab View commit details
    Browse the repository at this point in the history
  16. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
     "Make the block layer great again.
    
      Basically three amazing fixes in this pull request, split into 4
      patches.  Believe me, they should go into 4.4.  Two of them fix a
      regression, the third and last fixes an easy-to-trigger bug.
    
       - Fix a bad irq enable through null_blk, for queue_mode=1 and using
         timer completions.  Add a block helper to restart a queue
         asynchronously, and use that from null_blk.  From me.
    
       - Fix a performance issue in NVMe.  Some devices (Intel Pxxxx) expose
         a stripe boundary, and performance suffers if we cross it.  We took
         that into account for merging, but not for the newer splitting
         code.  Fix from Keith.
    
       - Fix a kernel oops in lightnvm with multiple channels.  From Matias"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      lightnvm: wrong offset in bad blk lun calculation
      null_blk: use async queue restart helper
      block: add blk_start_queue_async()
      block: Split bios on chunk boundaries
    torvalds committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    c616920 View commit details
    Browse the repository at this point in the history
  17. net, socket, socket_wq: fix missing initialization of flags

    Commit ceb5d58 ("net: fix sock_wake_async() rcu protection") from
    the current 4.4 release cycle introduced a new flags member in
    struct socket_wq and moved SOCKWQ_ASYNC_NOSPACE and SOCKWQ_ASYNC_WAITDATA
    from struct socket's flags member into that new place.
    
    Unfortunately, the new flags field is never initialized properly, at least
    not for the struct socket_wq instance created in sock_alloc_inode().
    
    One particular issue I encountered because of this is that my GNU Emacs
    failed to draw anything on my desktop -- i.e. what I got is a transparent
    window, including the title bar. Bisection lead to the commit mentioned
    above and further investigation by means of strace told me that Emacs
    is indeed speaking to my Xorg through an O_ASYNC AF_UNIX socket. This is
    reproducible 100% of times and the fact that properly initializing the
    struct socket_wq ->flags fixes the issue leads me to the conclusion that
    somehow SOCKWQ_ASYNC_WAITDATA got set in the uninitialized ->flags,
    preventing my Emacs from receiving any SIGIO's due to data becoming
    available and it got stuck.
    
    Make sock_alloc_inode() set the newly created struct socket_wq's ->flags
    member to zero.
    
    Fixes: ceb5d58 ("net: fix sock_wake_async() rcu protection")
    Signed-off-by: Nicolai Stange <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    nicstange authored and davem330 committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    574aab1 View commit details
    Browse the repository at this point in the history
  18. Merge tag 'wireless-drivers-for-davem-2015-12-28' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
    
    Kalle Valo says:
    
    ====================
    iwlwifi
    
    * don't load firmware that won't exist for 7260
    * fix RCU splat
    ====================
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    a0ccc3f View commit details
    Browse the repository at this point in the history
  19. sctp: sctp should release assoc when sctp_make_abort_user return NULL…

    … in sctp_close
    
    In sctp_close, sctp_make_abort_user may return NULL because of memory
    allocation failure. If this happens, it will bypass any state change
    and never free the assoc. The assoc has no chance to be freed and it
    will be kept in memory with the state it had even after the socket is
    closed by sctp_close().
    
    So if sctp_make_abort_user fails to allocate memory, we should abort
    the asoc via sctp_primitive_ABORT as well. Just like the annotation in
    sctp_sf_cookie_wait_prm_abort and sctp_sf_do_9_1_prm_abort said,
    "Even if we can't send the ABORT due to low memory delete the TCB.
    This is a departure from our typical NOMEM handling".
    
    But then the chunk is NULL (low memory) and the SCTP_CMD_REPLY cmd would
    dereference the chunk pointer, and system crash. So we should add
    SCTP_CMD_REPLY cmd only when the chunk is not NULL, just like other
    places where it adds SCTP_CMD_REPLY cmd.
    
    Signed-off-by: Xin Long <[email protected]>
    Acked-by: Marcelo Ricardo Leitner <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    lxin authored and davem330 committed Dec 30, 2015
    Configuration menu
    Copy the full SHA
    068d8bd View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2015

  1. ARM: Fix broken USB support in sunxi_defconfig

    Commit 69fb4dc ("power: Add an axp20x-usb-power driver") introduced a new
    driver for the USB power supply used on various Allwinner based SBCs. However,
    the driver was not added to sunxi_defconfig which breaks USB support for some
    boards (e.g. LeMaker BananaPi) as the kernel will now turn off the USB power
    supply during boot by default if the driver isn't present. (This was not the
    case in linux 4.3 or lower where the USB power was always left on.)
    
    Hence, add the driver to sunxi_defconfig in order to keep USB support working
    on those boards that require it.
    
    Signed-off-by: Timo Sigurdsson <[email protected]>
    Reported-by: David Tulloh <[email protected]>
    Tested-by: David Tulloh <[email protected]>
    Tested-by: Timo Sigurdsson <[email protected]>
    Signed-off-by: Arnd Bergmann <[email protected]>
    Acked-by: Maxime Ripard <[email protected]>
    silentcreek authored and arndb committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    694341c View commit details
    Browse the repository at this point in the history
  2. sparc: Add all necessary direct socket system calls.

    The GLIBC folks would like to eliminate socketcall support
    eventually, and this makes sense regardless so wire them
    all up.
    
    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    8b30ca7 View commit details
    Browse the repository at this point in the history
  3. sparc: Wire up mlock2 system call.

    Signed-off-by: David S. Miller <[email protected]>
    davem330 committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    42d85c5 View commit details
    Browse the repository at this point in the history
  4. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Prevent XFRM per-cpu counter updates for one namespace from being
        applied to another namespace.  Fix from DanS treetman.
    
     2) Fix RCU de-reference in iwl_mvm_get_key_sta_id(), from Johannes
        Berg.
    
     3) Remove ethernet header assumption in nft_do_chain_netdev(), from
        Pablo Neira Ayuso.
    
     4) Fix cpsw PHY ident with multiple slaves and fixed-phy, from Pascal
        Speck.
    
     5) Fix use after free in sixpack_close and mkiss_close.
    
     6) Fix VXLAN fw assertion on bnx2x, from Yuval Mintz.
    
     7) natsemi doesn't check for DMA mapping errors, from Alexey
        Khoroshilov.
    
     8) Fix inverted test in ip6addrlbl_get(), from ANdrey Ryabinin.
    
     9) Missing initialization of needed_headroom in geneve tunnel driver,
        from Paolo Abeni.
    
    10) Fix conntrack template leak in openvswitch, from Joe Stringer.
    
    11) Mission initialization of wq->flags in sock_alloc_inode(), from
        Nicolai Stange.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
      sctp: sctp should release assoc when sctp_make_abort_user return NULL in sctp_close
      net, socket, socket_wq: fix missing initialization of flags
      drivers: net: cpsw: fix error return code
      openvswitch: Fix template leak in error cases.
      sctp: label accepted/peeled off sockets
      sctp: use GFP_USER for user-controlled kmalloc
      qlcnic: fix a loop exit condition better
      net: cdc_ncm: avoid changing RX/TX buffers on MTU changes
      geneve: initialize needed_headroom
      ipv6: honor ifindex in case we receive ll addresses in router advertisements
      addrconf: always initialize sysctl table data
      ipv6/addrlabel: fix ip6addrlbl_get()
      switchdev: bridge: Pass ageing time as clock_t instead of jiffies
      sh_eth: fix 16-bit descriptor field access endianness too
      veth: don’t modify ip_summed; doing so treats packets with bad checksums as good.
      net: usb: cdc_ncm: Adding Dell DW5813 LTE AT&T Mobile Broadband Card
      net: usb: cdc_ncm: Adding Dell DW5812 LTE Verizon Mobile Broadband Card
      natsemi: add checks for dma mapping errors
      rhashtable: Kill harmless RCU warning in rhashtable_walk_init
      openvswitch: correct encoding of set tunnel action attributes
      ...
    torvalds committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    8f5daf2 View commit details
    Browse the repository at this point in the history
  5. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    Pull sparc fixes from David Miller:
     "Just some missing syscall wire ups"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      sparc: Wire up mlock2 system call.
      sparc: Add all necessary direct socket system calls.
    torvalds committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    7c672dd View commit details
    Browse the repository at this point in the history
  6. Merge tag 'pci-v4.4-fixes-3' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/helgaas/pci
    
    Pull PCI bugfix from Bjorn Helgaas:
     "Here's another fix for v4.4.
    
      This fixes 32-bit config reads for the HiSilicon driver.  Obviously
      the driver is completely broken without this fix (apparently it
      actually was tested internally, but got broken somehow in the process
      of upstreaming it).
    
      Summary:
    
      HiSilicon host bridge driver
        Fix 32-bit config reads (Dongdong Liu)"
    
    * tag 'pci-v4.4-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
      PCI: hisi: Fix hisi_pcie_cfg_read() 32-bit reads
    torvalds committed Dec 31, 2015
    Configuration menu
    Copy the full SHA
    9c982e8 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2016

  1. Merge tag 'drm-intel-fixes-2016-01-02' of git://anongit.freedesktop.o…

    …rg/drm-intel
    
    Pull i915 drm fixes from Jani Nikula:
     "Two display fixes still for v4.4.
    
      The new year's resolution is to start using signed tags per Linus'
      request.  This one is still unsigned; I want to fix this up in our
      maintainer scripts instead of doing it one-off"
    
    * tag 'drm-intel-fixes-2016-01-02' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: increase the tries for HDMI hotplug live status checking
      drm/i915: Unbreak check_digital_port_conflicts()
    torvalds committed Jan 3, 2016
    Configuration menu
    Copy the full SHA
    4e5e384 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    …ream-linus
    
    Pull MIPS build fix from Ralf Baechle:
     "Fix a makefile issue resulting in build breakage with older binutils.
    
      This has sat in -next for a few days, testers and buildbot are happy
      with it, too though if you are going for another -rc that'd certainly
      help ironing out a few more issues"
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
      MIPS: VDSO: Fix build error with binutils 2.24 and earlier
    torvalds committed Jan 3, 2016
    Configuration menu
    Copy the full SHA
    4294616 View commit details
    Browse the repository at this point in the history
  3. Linux 4.4-rc8

    torvalds committed Jan 3, 2016
    Configuration menu
    Copy the full SHA
    1683098 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2016

  1. ftrace/scripts: Fix incorrect use of sprintf in recordmcount

    Fix build warning:
    
    scripts/recordmcount.c:589:4: warning: format not a string
    literal and no format arguments [-Wformat-security]
        sprintf("%s: failed\n", file);
    
    Fixes: a50bd43 ("ftrace/scripts: Have recordmcount copy the object file")
    Link: http://lkml.kernel.org/r/[email protected]
    
    Cc: Li Bin <[email protected]>
    Cc: Russell King <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: [email protected] # 2.6.37+
    Signed-off-by: Colin Ian King <[email protected]>
    Signed-off-by: Steven Rostedt <[email protected]>
    Colin Ian King authored and rostedt committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    713a3e4 View commit details
    Browse the repository at this point in the history
  2. mtd: fix cmdlinepart parser, early naming for auto-filled MTD

    Commit 807f16d ("mtd: core: set some defaults when dev.parent is
    set") attempted to provide some default settings for MTDs that
     (a) assign the parent device and
     (b) don't provide their own name or owner
    
    However, this isn't a perfect drop-in replacement for the boilerplate
    found in some drivers, because the MTD name is used by partition
    parsers like cmdlinepart, but the name isn't set until add_mtd_device(),
    after the parsing is completed. This means cmdlinepart sees a NULL name
    and therefore will not work properly.
    
    Fix this by moving the default name and owner assignment to be first in
    the MTD registration process.
    
    [Note: this does not fix all reported issues, particularly with NAND
    drivers. Will require an additional fix for drivers/mtd/nand/]
    
    Fixes: 807f16d ("mtd: core: set some defaults when dev.parent is set")
    Reported-by: Heiko Schocher <[email protected]>
    Signed-off-by: Brian Norris <[email protected]>
    Cc: Heiko Schocher <[email protected]>
    Cc: Frans Klaver <[email protected]>
    computersforpeace committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    472b444 View commit details
    Browse the repository at this point in the history
  3. tracing: Fix setting of start_index in find_next()

    When we do cat /sys/kernel/debug/tracing/printk_formats, we hit kernel
    panic at t_show.
    
    general protection fault: 0000 [#1] PREEMPT SMP
    CPU: 0 PID: 2957 Comm: sh Tainted: G W  O 3.14.55-x86_64-01062-gd4acdc7 #2
    RIP: 0010:[<ffffffff811375b2>]
     [<ffffffff811375b2>] t_show+0x22/0xe0
    RSP: 0000:ffff88002b4ebe80  EFLAGS: 00010246
    RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000004
    RDX: 0000000000000004 RSI: ffffffff81fd26a6 RDI: ffff880032f9f7b1
    RBP: ffff88002b4ebe98 R08: 0000000000001000 R09: 000000000000ffec
    R10: 0000000000000000 R11: 000000000000000f R12: ffff880004d9b6c0
    R13: 7365725f6d706400 R14: ffff880004d9b6c0 R15: ffffffff82020570
    FS:  0000000000000000(0000) GS:ffff88003aa00000(0063) knlGS:00000000f776bc40
    CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
    CR2: 00000000f6c02ff0 CR3: 000000002c2b3000 CR4: 00000000001007f0
    Call Trace:
     [<ffffffff811dc076>] seq_read+0x2f6/0x3e0
     [<ffffffff811b749b>] vfs_read+0x9b/0x160
     [<ffffffff811b7f69>] SyS_read+0x49/0xb0
     [<ffffffff81a3a4b9>] ia32_do_call+0x13/0x13
     ---[ end trace 5bd9eb630614861e ]---
    Kernel panic - not syncing: Fatal exception
    
    When the first time find_next calls find_next_mod_format, it should
    iterate the trace_bprintk_fmt_list to find the first print format of
    the module. However in current code, start_index is smaller than *pos
    at first, and code will not iterate the list. Latter container_of will
    get the wrong address with former v, which will cause mod_fmt be a
    meaningless object and so is the returned mod_fmt->fmt.
    
    This patch will fix it by correcting the start_index. After fixed,
    when the first time calls find_next_mod_format, start_index will be
    equal to *pos, and code will iterate the trace_bprintk_fmt_list to
    get the right module printk format, so is the returned mod_fmt->fmt.
    
    Link: http://lkml.kernel.org/r/[email protected]
    
    Cc: [email protected] # 3.12+
    Fixes: 102c932 "tracing: Add __tracepoint_string() to export string pointers"
    Signed-off-by: Qiu Peiyang <[email protected]>
    Signed-off-by: Steven Rostedt <[email protected]>
    QiuPeiyang authored and rostedt committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    f36d1be View commit details
    Browse the repository at this point in the history
  4. drm/nouveau/gr/nv40: fix oops in interrupt handler

    fdo#93557
    
    Signed-off-by: Ben Skeggs <[email protected]>
    Cc: [email protected]
    Ben Skeggs committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    9daf38f View commit details
    Browse the repository at this point in the history
  5. qlcnic: correctly handle qlcnic_alloc_mbx_args

    Since qlcnic_alloc_mbx_args can be failed,
    return value should be checked.
    
    Signed-off-by: Insu Yun <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    insuyun authored and davem330 committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    b77357b View commit details
    Browse the repository at this point in the history
  6. cxgb4: correctly handling failed allocation

    Since t4_alloc_mem can be failed in memory pressure,
    if not properly handled, NULL dereference could be happened.
    
    Signed-off-by: Insu Yun <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    insuyun authored and davem330 committed Jan 4, 2016
    Configuration menu
    Copy the full SHA
    3934aa4 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2016

  1. connector: bump skb->users before callback invocation

    Dmitry reports memleak with syskaller program.
    Problem is that connector bumps skb usecount but might not invoke callback.
    
    So move skb_get to where we invoke the callback.
    
    Reported-by: Dmitry Vyukov <[email protected]>
    Signed-off-by: Florian Westphal <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Florian Westphal authored and davem330 committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    55285bf View commit details
    Browse the repository at this point in the history
  2. r8152: add reset_resume function

    When the reset_resume() is called, the flag of SELECTIVE_SUSPEND should be
    cleared and reinitialize the device, whether the SELECTIVE_SUSPEND is set
    or not. If reset_resume() is called, it means the power supply is cut or the
    device is reset. That is, the device wouldn't be in runtime suspend state and
    the reinitialization is necessary.
    
    Signed-off-by: Hayes Wang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    hayesorz authored and davem330 committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    7ec2541 View commit details
    Browse the repository at this point in the history
  3. net: Propagate lookup failure in l3mdev_get_saddr to caller

    Commands run in a vrf context are not failing as expected on a route lookup:
        root@kenny:~# ip ro ls table vrf-red
        unreachable default
    
        root@kenny:~# ping -I vrf-red -c1 -w1 10.100.1.254
        ping: Warning: source address might be selected on device other than vrf-red.
        PING 10.100.1.254 (10.100.1.254) from 0.0.0.0 vrf-red: 56(84) bytes of data.
    
        --- 10.100.1.254 ping statistics ---
        2 packets transmitted, 0 received, 100% packet loss, time 999ms
    
    Since the vrf table does not have a route for 10.100.1.254 the ping
    should have failed. The saddr lookup causes a full VRF table lookup.
    Propogating a lookup failure to the user allows the command to fail as
    expected:
    
        root@kenny:~# ping -I vrf-red -c1 -w1 10.100.1.254
        connect: No route to host
    
    Signed-off-by: David Ahern <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    David Ahern authored and davem330 committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    b5bdacf View commit details
    Browse the repository at this point in the history
  4. af_unix: Fix splice-bind deadlock

    On 2015/11/06, Dmitry Vyukov reported a deadlock involving the splice
    system call and AF_UNIX sockets,
    
    http://lists.openwall.net/netdev/2015/11/06/24
    
    The situation was analyzed as
    
    (a while ago) A: socketpair()
    B: splice() from a pipe to /mnt/regular_file
    	does sb_start_write() on /mnt
    C: try to freeze /mnt
    	wait for B to finish with /mnt
    A: bind() try to bind our socket to /mnt/new_socket_name
    	lock our socket, see it not bound yet
    	decide that it needs to create something in /mnt
    	try to do sb_start_write() on /mnt, block (it's
    	waiting for C).
    D: splice() from the same pipe to our socket
    	lock the pipe, see that socket is connected
    	try to lock the socket, block waiting for A
    B:	get around to actually feeding a chunk from
    	pipe to file, try to lock the pipe.  Deadlock.
    
    on 2015/11/10 by Al Viro,
    
    http://lists.openwall.net/netdev/2015/11/10/4
    
    The patch fixes this by removing the kern_path_create related code from
    unix_mknod and executing it as part of unix_bind prior acquiring the
    readlock of the socket in question. This means that A (as used above)
    will sb_start_write on /mnt before it acquires the readlock, hence, it
    won't indirectly block B which first did a sb_start_write and then
    waited for a thread trying to acquire the readlock. Consequently, A
    being blocked by C waiting for B won't cause a deadlock anymore
    (effectively, both A and B acquire two locks in opposite order in the
    situation described above).
    
    Dmitry Vyukov(<[email protected]>) tested the original patch.
    
    Signed-off-by: Rainer Weikusat <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Rainer Weikusat authored and davem330 committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    c845acb View commit details
    Browse the repository at this point in the history
  5. ASoC: Intel: Skylake: Revert previous broken fix memory leak fix

    This reverts commit 87b5ed8 ("ASoC: Intel:
    Skylake: fix memory leak") as it causes regression on Skylake devices
    
    The SKL drivers can be deferred probe. The topology file based widgets can
    have references to topology file so this can't be freed until card is fully
    created, so revert this patch for now
    
    [   66.682767] BUG: unable to handle kernel paging request at ffffc900001363fc
    [   66.690735] IP: [<ffffffff806c94dd>] strnlen+0xd/0x40
    [   66.696509] PGD 16e035067 PUD 16e036067 PMD 16e038067 PTE 0
    [   66.702925] Oops: 0000 [#1] PREEMPT SMP
    [   66.768390] CPU: 3 PID: 57 Comm: kworker/u16:3 Tainted: G O 4.4.0-rc7-skl #62
    [   66.778869] Hardware name: Intel Corporation Skylake Client platform
    [   66.793201] Workqueue: deferwq deferred_probe_work_func
    [   66.799173] task: ffff88008b700f40 ti: ffff88008b704000 task.ti: ffff88008b704000
    [   66.807692] RIP: 0010:[<ffffffff806c94dd>]  [<ffffffff806c94dd>] strnlen+0xd/0x40
    [   66.816243] RSP: 0018:ffff88008b707878  EFLAGS: 00010286
    [   66.822293] RAX: ffffffff80e60a82 RBX: 000000000000000e RCX: fffffffffffffffe
    [   66.830406] RDX: ffffc900001363fc RSI: ffffffffffffffff RDI: ffffc900001363fc
    [   66.838520] RBP: ffff88008b707878 R08: 000000000000ffff R09: 000000000000ffff
    [   66.846649] R10: 0000000000000001 R11: ffffffffa01c6368 R12: ffffc900001363fc
    [   66.854765] R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
    [   66.862910] FS:  0000000000000000(0000) GS:ffff88016ecc0000(0000) knlGS:0000000000000000
    [   66.872150] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   66.878696] CR2: ffffc900001363fc CR3: 0000000002c09000 CR4: 00000000003406e0
    [   66.886820] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [   66.894938] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [   66.903052] Stack:
    [   66.905346]  ffff88008b7078b0 ffffffff806cb1db 000000000000000e 0000000000000000
    [   66.913854]  ffff88008b707928 ffffffffa00d1050 ffffffffa00d104e ffff88008b707918
    [   66.922353]  ffffffff806ccbd6 ffff88008b707948 0000000000000046 ffff88008b707940
    [   66.930855] Call Trace:
    [   66.933646]  [<ffffffff806cb1db>] string.isra.4+0x3b/0xd0
    [   66.939793]  [<ffffffff806ccbd6>] vsnprintf+0x116/0x540
    [   66.945742]  [<ffffffff806d02f0>] kvasprintf+0x40/0x80
    [   66.951591]  [<ffffffff806d0370>] kasprintf+0x40/0x50
    [   66.957359]  [<ffffffffa00c085f>] dapm_create_or_share_kcontrol+0x1cf/0x300 [snd_soc_core]
    [   66.966771]  [<ffffffff8057dd1e>] ? __kmalloc+0x16e/0x2a0
    [   66.972931]  [<ffffffffa00c0dab>] snd_soc_dapm_new_widgets+0x41b/0x4b0 [snd_soc_core]
    [   66.981857]  [<ffffffffa00be8c0>] ? snd_soc_dapm_add_routes+0xb0/0xd0 [snd_soc_core]
    [   67.007828]  [<ffffffffa00b92ed>] soc_probe_component+0x23d/0x360 [snd_soc_core]
    [   67.016244]  [<ffffffff80b14e69>] ? mutex_unlock+0x9/0x10
    [   67.022405]  [<ffffffffa00ba02f>] snd_soc_instantiate_card+0x47f/0xd10 [snd_soc_core]
    [   67.031329]  [<ffffffff8049eeb2>] ? debug_mutex_init+0x32/0x40
    [   67.037973]  [<ffffffffa00baa92>] snd_soc_register_card+0x1d2/0x2b0 [snd_soc_core]
    [   67.046619]  [<ffffffffa00c8b54>] devm_snd_soc_register_card+0x44/0x80 [snd_soc_core]
    [   67.055539]  [<ffffffffa01c303b>] skylake_audio_probe+0x1b/0x20 [snd_soc_skl_rt286]
    [   67.064292]  [<ffffffff808aa887>] platform_drv_probe+0x37/0x90
    
    Signed-off-by: Vinod Koul <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Vinod Koul authored and broonie committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    fb203ad View commit details
    Browse the repository at this point in the history
  6. ASoC: Intel: Skylake: Fix the memory leak

    This provide the fix for firmware memory by freeing the pointer in driver
    remove where it is safe to do so
    
    Signed-off-by: Vinod Koul <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Vinod Koul authored and broonie committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    d801836 View commit details
    Browse the repository at this point in the history
  7. tile: provide CONFIG_PAGE_SIZE_64KB etc for tilepro

    This allows the build system to know that it can't attempt to
    configure the Lustre virtual block device, for example, when tilepro
    is using 64KB pages (as it does by default).  The tilegx build
    already provided those symbols.
    
    Previously we required that the tilepro hypervisor be rebuilt with
    a different hardcoded page size in its headers, and then Linux be
    rebuilt using the updated hypervisor header.  Now we allow each of
    the hypervisor and Linux to be built independently.  We still check
    at boot time to ensure that the page size provided by the hypervisor
    matches what Linux expects.
    
    Signed-off-by: Chris Metcalf <[email protected]>
    Cc: [email protected] [3.19+]
    Chris Metcalf committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    c1b27ab View commit details
    Browse the repository at this point in the history
  8. Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/cmetcalf/linux-tile
    
    Pull tile bugfix from Chris Metcalf:
     "This fixes a bug that Sudip's buildbot found for tilepro allmodconfig.
    
      I've tagged it for stable only back to 3.19, which was when most of
      the other affected architectures added their support for working
      around this issue"
    
    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
      tile: provide CONFIG_PAGE_SIZE_64KB etc for tilepro
    torvalds committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    3331f99 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'trace-v4.4-rc4-3' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rostedt/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
     "Two more fixes:
    
      1. The recordmcount change had an output that used sprintf()
         (incorrectly) when it should have been a fprintf() to stderr.
    
      2. The printk_formats file could crash if someone added a
         trace_printk() in the core kernel, and also added one in a module.
         This does not affect production kernels.  Only kernels where
         developers add trace_printk() for debugging can crash"
    
    * tag 'trace-v4.4-rc4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Fix setting of start_index in find_next()
      ftrace/scripts: Fix incorrect use of sprintf in recordmcount
    torvalds committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    ee9a7d2 View commit details
    Browse the repository at this point in the history
  10. bridge: Only call /sbin/bridge-stp for the initial network namespace

    [I stole this patch from Eric Biederman. He wrote:]
    
    > There is no defined mechanism to pass network namespace information
    > into /sbin/bridge-stp therefore don't even try to invoke it except
    > for bridge devices in the initial network namespace.
    >
    > It is possible for unprivileged users to cause /sbin/bridge-stp to be
    > invoked for any network device name which if /sbin/bridge-stp does not
    > guard against unreasonable arguments or being invoked twice on the
    > same network device could cause problems.
    
    [Hannes: changed patch using netns_eq]
    
    Cc: Eric W. Biederman <[email protected]>
    Signed-off-by: Eric W. Biederman <[email protected]>
    Signed-off-by: Hannes Frederic Sowa <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    strssndktn authored and davem330 committed Jan 5, 2016
    Configuration menu
    Copy the full SHA
    ff62198 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    7a78d94 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    449af26 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    84a5347 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    bc42f36 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2016

  1. mtd: spi-nor: fix Spansion regressions (aliased with Winbond)

    Spansion and Winbond have occasionally used the same manufacturer ID,
    and they don't support the same features. Particularly, writing SR=0
    seems to break read access for Spansion's s25fl064k. Unfortunately, we
    don't currently have a way to differentiate these Spansion and Winbond
    parts, so rather than regressing support for these Spansion flash, let's
    drop the new Winbond lock/unlock support for now. We can try to address
    Winbond support during the next release cycle.
    
    Original discussion:
    
    http://patchwork.ozlabs.org/patch/549173/
    http://patchwork.ozlabs.org/patch/553683/
    
    Fixes: 357ca38 ("mtd: spi-nor: support lock/unlock/is_locked for Winbond")
    Fixes: c6fc217 ("mtd: spi-nor: disable protection for Winbond flash at startup")
    Signed-off-by: Brian Norris <[email protected]>
    Reported-by: Felix Fietkau <[email protected]>
    Cc: Felix Fietkau <[email protected]>
    computersforpeace committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    67b9bcd View commit details
    Browse the repository at this point in the history
  2. mtd: spi-nor: fix stm_is_locked_sr() parameters

    stm_is_locked_sr() takes the status register (SR) value as the last
    parameter, not the second.
    
    Reported-by: Bayi Cheng <[email protected]>
    Signed-off-by: Brian Norris <[email protected]>
    Cc: Bayi Cheng <[email protected]>
    computersforpeace committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    a32d5b7 View commit details
    Browse the repository at this point in the history
  3. net: filter: make JITs zero A for SKF_AD_ALU_XOR_X

    The SKF_AD_ALU_XOR_X ancillary is not like the other ancillary data
    instructions since it XORs A with X while all the others replace A with
    some loaded value.  All the BPF JITs fail to clear A if this is used as
    the first instruction in a filter.  This was found using american fuzzy
    lop.
    
    Add a helper to determine if A needs to be cleared given the first
    instruction in a filter, and use this in the JITs.  Except for ARM, the
    rest have only been compile-tested.
    
    Fixes: 3480593 ("net: filter: get rid of BPF_S_* enum")
    Signed-off-by: Rabin Vincent <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Acked-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    vitkyrka authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    55795ef View commit details
    Browse the repository at this point in the history
  4. 6pack: fix free memory scribbles

    commit acf673a fixed a user triggerable free
    memory scribble but in doing so replaced it with a different one that allows
    the user to control the data and scribble even more.
    
    sixpack_close is called by the tty layer in tty context. The tty context is
    protected by sp_get() and sp_put(). However network layer activity via
    sp_xmit() is not protected this way. We must therefore stop the queue
    otherwise the user gets to dump a buffer mostly of their choice into freed
    kernel pages.
    
    Signed-off-by: Alan Cox <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    One Thousand Gnomes authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    60aa3b0 View commit details
    Browse the repository at this point in the history
  5. ARM: net: bpf: fix zero right shift

    The LSR instruction cannot be used to perform a zero right shift since a
    0 as the immediate value (imm5) in the LSR instruction encoding means
    that a shift of 32 is perfomed.  See DecodeIMMShift() in the ARM ARM.
    
    Make the JIT skip generation of the LSR if a zero-shift is requested.
    
    This was found using american fuzzy lop.
    
    Signed-off-by: Rabin Vincent <[email protected]>
    Acked-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    vitkyrka authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    f941461 View commit details
    Browse the repository at this point in the history
  6. net: sched: fix missing free per cpu on qstats

    When a qdisc is using per cpu stats (currently just the ingress
    qdisc) only the bstats are being freed. This also free's the qstats.
    
    Fixes: b0ab6f9 ("net: sched: enable per cpu qstats")
    Signed-off-by: John Fastabend <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Acked-by: Daniel Borkmann <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    jrfastab authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    73c20a8 View commit details
    Browse the repository at this point in the history
  7. dmaengine: Revert "dmaengine: mic_x100: add missing spin_unlock"

    This reverts commit e958e07 ("dmaengine: mic_x100: add missing
    spin_unlock").
    
    The above patch is incorrect. There is nothing wrong with the original
    code. The spin_lock is acquired in the "prep" functions and released
    in "submit".
    
    Signed-off-by: Ashutosh Dixit <[email protected]>
    Signed-off-by: Vinod Koul <[email protected]>
    ashutoshx authored and Vinod Koul committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    16605e8 View commit details
    Browse the repository at this point in the history
  8. perf: Fix race in perf_event_exec()

    I managed to tickle this warning:
    
      [ 2338.884942] ------------[ cut here ]------------
      [ 2338.890112] WARNING: CPU: 13 PID: 35162 at ../kernel/events/core.c:2702 task_ctx_sched_out+0x6b/0x80()
      [ 2338.900504] Modules linked in:
      [ 2338.903933] CPU: 13 PID: 35162 Comm: bash Not tainted 4.4.0-rc4-dirty #244
      [ 2338.911610] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
      [ 2338.923071]  ffffffff81f1468e ffff8807c6457cb8 ffffffff815c680c 0000000000000000
      [ 2338.931382]  ffff8807c6457cf0 ffffffff810c8a56 ffffe8ffff8c1bd0 ffff8808132ed400
      [ 2338.939678]  0000000000000286 ffff880813170380 ffff8808132ed400 ffff8807c6457d00
      [ 2338.947987] Call Trace:
      [ 2338.950726]  [<ffffffff815c680c>] dump_stack+0x4e/0x82
      [ 2338.956474]  [<ffffffff810c8a56>] warn_slowpath_common+0x86/0xc0
      [ 2338.963195]  [<ffffffff810c8b4a>] warn_slowpath_null+0x1a/0x20
      [ 2338.969720]  [<ffffffff811a49cb>] task_ctx_sched_out+0x6b/0x80
      [ 2338.976244]  [<ffffffff811a62d2>] perf_event_exec+0xe2/0x180
      [ 2338.982575]  [<ffffffff8121fb6f>] setup_new_exec+0x6f/0x1b0
      [ 2338.988810]  [<ffffffff8126de83>] load_elf_binary+0x393/0x1660
      [ 2338.995339]  [<ffffffff811dc772>] ? get_user_pages+0x52/0x60
      [ 2339.001669]  [<ffffffff8121e297>] search_binary_handler+0x97/0x200
      [ 2339.008581]  [<ffffffff8121f8b3>] do_execveat_common.isra.33+0x543/0x6e0
      [ 2339.016072]  [<ffffffff8121fcea>] SyS_execve+0x3a/0x50
      [ 2339.021819]  [<ffffffff819fc165>] stub_execve+0x5/0x5
      [ 2339.027469]  [<ffffffff819fbeb2>] ? entry_SYSCALL_64_fastpath+0x12/0x71
      [ 2339.034860] ---[ end trace ee1337c59a0ddeac ]---
    
    Which is a WARN_ON_ONCE() indicating that cpuctx->task_ctx is not
    what we expected it to be.
    
    This is because context switches can swap the task_struct::perf_event_ctxp[]
    pointer around. Therefore you have to either disable preemption when looking
    at current, or hold ctx->lock.
    
    Fix perf_event_enable_on_exec(), it loads current->perf_event_ctxp[]
    before disabling interrupts, therefore a preemption in the right place
    can swap contexts around and we're using the wrong one.
    
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Alexander Potapenko <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Dmitry Vyukov <[email protected]>
    Cc: Eric Dumazet <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Kostya Serebryany <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Sasha Levin <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: Vince Weaver <[email protected]>
    Cc: syzkaller <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    c127449 View commit details
    Browse the repository at this point in the history
  9. perf: Fix race in swevent hash

    There's a race on CPU unplug where we free the swevent hash array
    while it can still have events on. This will result in a
    use-after-free which is BAD.
    
    Simply do not free the hash array on unplug. This leaves the thing
    around and no use-after-free takes place.
    
    When the last swevent dies, we do a for_each_possible_cpu() iteration
    anyway to clean these up, at which time we'll free it, so no leakage
    will occur.
    
    Reported-by: Sasha Levin <[email protected]>
    Tested-by: Sasha Levin <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Frederic Weisbecker <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Stephane Eranian <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: Vince Weaver <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    12ca6ad View commit details
    Browse the repository at this point in the history
  10. sched/fair: Fix multiplication overflow on 32-bit systems

    Make 'r' 64-bit type to avoid overflow in 'r * LOAD_AVG_MAX'
    on 32-bit systems:
    
    	UBSAN: Undefined behaviour in kernel/sched/fair.c:2785:18
    	signed integer overflow:
    	87950 * 47742 cannot be represented in type 'int'
    
    The most likely effect of this bug are bad load average numbers
    resulting in weird scheduling. It's also likely that this can
    persist for a longer time - until the system goes idle for
    a long time so that all load avg numbers get reset.
    
    [ This is the CFS load average metric, not the procfs output, which
      is separate. ]
    
    Signed-off-by: Andrey Ryabinin <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Fixes: 9d89c25 ("sched/fair: Rewrite runnable load and utilization average tracking")
    Link: http://lkml.kernel.org/r/[email protected]
    [ Improved the changelog. ]
    Signed-off-by: Ingo Molnar <[email protected]>
    aryabinin authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    9e0e83a View commit details
    Browse the repository at this point in the history
  11. sched/core: Check tgid in is_global_init()

    Our global init task can have sub-threads, so ->pid check is not reliable
    enough for is_global_init(), we need to check tgid instead. This has been
    spotted by Oleg and a fix was proposed by Richard a long time ago (see the
    link below).
    
    Oleg wrote:
    
      : Because is_global_init() is only true for the main thread of /sbin/init.
      :
      : Just look at oom_unkillable_task(). It tries to not kill init. But, say,
      : select_bad_process() can happily find a sub-thread of is_global_init()
      : and still kill it.
    
    I recently hit the problem in question; re-sending the patch (to the
    best of my knowledge it has never been submitted) with updated function
    comment. Credit goes to Oleg and Richard.
    
    Suggested-by: Richard Guy Briggs <[email protected]>
    Reported-by: Oleg Nesterov <[email protected]>
    Signed-off-by: Sergey Senozhatsky <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Acked-by: Serge Hallyn <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: Eric W . Biederman <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Serge E . Hallyn <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html
    Signed-off-by: Ingo Molnar <[email protected]>
    sergey-senozhatsky authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    570f524 View commit details
    Browse the repository at this point in the history
  12. sched/core: Fix unserialized r-m-w scribbling stuff

    Some of the sched bitfieds (notably sched_reset_on_fork) can be set
    on other than current, this can cause the r-m-w to race with other
    updates.
    
    Since all the sched bits are serialized by scheduler locks, pull them
    in a separate word.
    
    Reported-by: Tejun Heo <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Dmitry Vyukov <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Sasha Levin <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    be958bd View commit details
    Browse the repository at this point in the history
  13. sched/core: Reset task's lockless wake-queues on fork()

    In the following commit:
    
      7675104 ("sched: Implement lockless wake-queues")
    
    we gained lockless wake-queues.
    
    The -RT kernel managed to lockup itself with those. There could be multiple
    attempts for task X to enqueue it for a wakeup _even_ if task X is already
    running.
    
    The reason is that task X could be runnable but not yet on CPU. The the
    task performing the wakeup did not leave the CPU it could performe
    multiple wakeups.
    
    With the proper timming task X could be running and enqueued for a
    wakeup. If this happens while X is performing a fork() then its its
    child will have a !NULL `wake_q` member copied.
    
    This is not a problem as long as the child task does not participate in
    lockless wakeups :)
    
    Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Davidlohr Bueso <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Steven Rostedt <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Fixes: 7675104 ("sched: Implement lockless wake-queues")
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Sebastian Andrzej Siewior authored and Ingo Molnar committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    093e584 View commit details
    Browse the repository at this point in the history
  14. ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption

    Commit 63aa945 ("memory: omap-gpmc: Add Kconfig option for debug")
    unified the GPMC debug for the SoCs with GPMC. The commit also left out
    the option for HWMOD_INIT_NO_RESET as we now require proper timings for
    GPMC to be able to remap GPMC devices out of address 0.
    
    Unfortunately on Nokia N900, onenand now only partially works with the
    device tree provided timings. It works enough to get detected but the
    clock rate supported by the onenand chip gets misdetected. This in turn
    causes the GPMC timings to be miscalculated and this leads into file
    system corruption on N900.
    
    Looks like onenand needs CS_CONFIG1 bit 27 WRITETYPE set for for sync
    write. This is needed also for async timings when we write to onenand
    with omap2_onenand_set_async_mode(). Without sync write bit set, the
    async read for the onenand ONENAND_REG_VERSION_ID will return 0xfff.
    
    Let's exit with an error if onenand rate is not detected. And let's
    remove the extra call to omap2_onenand_set_async_mode() as we only need
    to do this once at the end of omap2_onenand_setup_async().
    
    Fixes: 63aa945 ("memory: omap-gpmc: Add Kconfig option for debug")
    Cc: [email protected] # v4.2+
    Reported-by: Ivaylo Dimitrov <[email protected]>
    Tested-by: Ivaylo Dimitrov <[email protected]>
    Tested-by: Aaro Koskinen <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    tmlind committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    e7b11dc View commit details
    Browse the repository at this point in the history
  15. Merge tag 'asoc-fix-v4.4-rc8' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/sound into for-linus
    
    ASoC: Last minute fixes for v4.4
    
    A few final fixes for v4.4, the main one being the two patches to the
    new Sky Lake drivers which fix a previous incorrect fix that went in
    during an earlier -rc.
    tiwai committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    3f37b26 View commit details
    Browse the repository at this point in the history
  16. net: possible use after free in dst_release

    dst_release should not access dst->flags after decrementing
    __refcnt to 0. The dst_entry may be in dst_busy_list and
    dst_gc_task may dst_destroy it before dst_release gets a chance
    to access dst->flags.
    
    Fixes: d69bbf8 ("net: fix a race in dst_release()")
    Fixes: 27b75c9 ("net: avoid RCU for NOCACHE dst")
    Signed-off-by: Francesco Ruggeri <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Francesco Ruggeri authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    07a5d38 View commit details
    Browse the repository at this point in the history
  17. mkiss: fix scribble on freed memory

    commit d79f16c fixed a user triggerable
    scribble on free memory but added a new one which allows the user to
    scribble even more and user controlled data into freed space.
    
    As with 6pack we need to halt the queue before we free the buffers, because
    the transmit logic is not protected by the semaphore.
    
    Signed-off-by: Alan Cox <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Alan authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    fde55c4 View commit details
    Browse the repository at this point in the history
  18. net: qmi_wwan: Add WeTelecom-WPD600N

    The WeTelecom-WPD600N is an LTE module that, in addition to supporting most
    "normal" bands, also supports LTE over 450MHz. Manual testing showed that
    only interface number three replies to QMI messages.
    
    Cc: Bjørn Mork <[email protected]>
    Signed-off-by: Kristian Evensen <[email protected]>
    Acked-by: Bjørn Mork <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    kristrev authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    e439bd4 View commit details
    Browse the repository at this point in the history
  19. Driver: Vmxnet3: Fix regression caused by 5738a09

    Reported-by: Bingkuo Liu <[email protected]>
    Signed-off-by: Shrikrishna Khare <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Shrikrishna Khare authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    58caf63 View commit details
    Browse the repository at this point in the history
  20. tcp: fix zero cwnd in tcp_cwnd_reduction

    Patch 3759824 ("tcp: PRR uses CRB mode by default and SS mode
    conditionally") introduced a bug that cwnd may become 0 when both
    inflight and sndcnt are 0 (cwnd = inflight + sndcnt). This may lead
    to a div-by-zero if the connection starts another cwnd reduction
    phase by setting tp->prior_cwnd to the current cwnd (0) in
    tcp_init_cwnd_reduction().
    
    To prevent this we skip PRR operation when nothing is acked or
    sacked. Then cwnd must be positive in all cases as long as ssthresh
    is positive:
    
    1) The proportional reduction mode
       inflight > ssthresh > 0
    
    2) The reduction bound mode
      a) inflight == ssthresh > 0
    
      b) inflight < ssthresh
         sndcnt > 0 since newly_acked_sacked > 0 and inflight < ssthresh
    
    Therefore in all cases inflight and sndcnt can not both be 0.
    We check invalid tp->prior_cwnd to avoid potential div0 bugs.
    
    In reality this bug is triggered only with a sequence of less common
    events.  For example, the connection is terminating an ECN-triggered
    cwnd reduction with an inflight 0, then it receives reordered/old
    ACKs or DSACKs from prior transmission (which acks nothing). Or the
    connection is in fast recovery stage that marks everything lost,
    but fails to retransmit due to local issues, then receives data
    packets from other end which acks nothing.
    
    Fixes: 3759824 ("tcp: PRR uses CRB mode by default and SS mode conditionally")
    Reported-by: Oleksandr Natalenko <[email protected]>
    Signed-off-by: Yuchung Cheng <[email protected]>
    Signed-off-by: Neal Cardwell <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    yuchungcheng authored and davem330 committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    8b8a321 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2016

  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
     "As usual, there are a couple straggler bug fixes:
    
       1) qlcnic_alloc_mbx_args() error returns are not checked in qlcnic
          driver.  Fix from Insu Yun.
    
       2) SKB refcounting bug in connector, from Florian Westphal.
    
       3) vrf_get_saddr() has to propagate fib_lookup() errors to it's
          callers, from David Ahern.
    
       4) Fix AF_UNIX splice/bind deadlock, from Rainer Weikusat.
    
       5) qdisc_rcu_free() fails to free the per-cpu qstats.  Fix from John
          Fastabend.
    
       6) vmxnet3 driver passes wrong page to dma_map_page(), fix from
         Shrikrishna Khare.
    
       7) Don't allow zero cwnd in tcp_cwnd_reduction(), from Yuchung Cheng"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
      tcp: fix zero cwnd in tcp_cwnd_reduction
      Driver: Vmxnet3: Fix regression caused by 5738a09
      net: qmi_wwan: Add WeTelecom-WPD600N
      mkiss: fix scribble on freed memory
      net: possible use after free in dst_release
      net: sched: fix missing free per cpu on qstats
      ARM: net: bpf: fix zero right shift
      6pack: fix free memory scribbles
      net: filter: make JITs zero A for SKF_AD_ALU_XOR_X
      bridge: Only call /sbin/bridge-stp for the initial network namespace
      af_unix: Fix splice-bind deadlock
      net: Propagate lookup failure in l3mdev_get_saddr to caller
      r8152: add reset_resume function
      connector: bump skb->users before callback invocation
      cxgb4: correctly handling failed allocation
      qlcnic: correctly handle qlcnic_alloc_mbx_args
    torvalds committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    51cb67c View commit details
    Browse the repository at this point in the history
  2. Merge tag 'for-linus-20160106' of git://git.infradead.org/linux-mtd

    Pull MTD fixes from Brian Norris:
     "Three last MTD fixes for v4.4.  These are all fixes for regressions
      and bugs reported mid cycle.  Unfortunately, some of them took a bit
      long to get proper testing and feedback.
    
       - Assign the default MTD name earlier in the registration process, so
         partition parsers (like cmdlinepart) see the right name.  Without
         this, some systems may come up with unpartitioned flash.  This was
         a v4.4-rc1 regression.
    
       - Revert some new Winbond SPI NOR flash unlocking/locking support;
         new code in v4.4 caused regressions on some Spansion flash.
    
       - Fix mis-typed parameter ordering in SPI NOR unlock function; this
         bug was introduced in v4.4-rc1"
    
    * tag 'for-linus-20160106' of git://git.infradead.org/linux-mtd:
      mtd: spi-nor: fix stm_is_locked_sr() parameters
      mtd: spi-nor: fix Spansion regressions (aliased with Winbond)
      mtd: fix cmdlinepart parser, early naming for auto-filled MTD
    torvalds committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    b06f3a1 View commit details
    Browse the repository at this point in the history
  3. ARM: nomadik: set latencies to 8 cycles

    The Nomadik has sporadic crashes because of these latencies, setting
    them to max makes the platform work nicely, so use this values for
    now.
    
    These latencies were set to 2 since the Nomadik platform was merged,
    but I suspect they never took effect until the right size and
    associativity for the cache was specified in the device tree and
    that is why the crash comes now.
    
    Cc: [email protected]
    Signed-off-by: Linus Walleij <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    linusw authored and olofj committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    a461a3e View commit details
    Browse the repository at this point in the history
  4. ARM: versatile: fix MMC/SD interrupt assignment

    Commit 0976c94
    "arm/versatile: Fix versatile irq specifications"
    has an off-by-one error on the Versatile AB that has
    been regressing the Versatile AB hardware for some time.
    
    However it seems like the interrupt assignments have
    never been correct and I have now adjusted them according
    to the specification. The masks for the valid interrupts
    made it impossible to assign the right SIC interrupt
    for the MMCI, so I went in and fixed these to correspond
    to the specifications, and added references if anyone
    wants to double-check.
    
    Due to the Versatile PB including the Versatile AB
    as a base DTS file, we need to override and correct
    some values to correspond to the actual changes in the
    hardware.
    
    For the Versatile PB I don't think the IRQ line
    assignment for MMCI has ever been correct for either of
    the two MMCI blocks. It would be nice if someone with the
    physical PB board could test this.
    
    Patch tested on the Versatile AB, QEMU for Versatile AB
    and QEMU for Versatile PB.
    
    Cc: Rob Herring <[email protected]>
    Cc: Grant Likely <[email protected]>
    Cc: [email protected]
    Fixes: 0976c94 ("arm/versatile: Fix versatile irq specifications")
    Signed-off-by: Linus Walleij <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    linusw authored and olofj committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    20f1275 View commit details
    Browse the repository at this point in the history
  5. async_tx: use GFP_NOWAIT rather than GFP_IO

    These async_XX functions are called from md/raid5 in an atomic
    section, between get_cpu() and put_cpu(), so they must not sleep.
    So use GFP_NOWAIT rather than GFP_IO.
    
    Dan Williams writes: Longer term async_tx needs to be merged into md
    directly as we can allocate this unmap data statically per-stripe
    rather than per request.
    
    Fixed: 7476bd7 ("async_pq: convert to dmaengine_unmap_data")
    Cc: [email protected] (v3.13+)
    Reported-and-tested-by: Stanislav Samsonov <[email protected]>
    Acked-by: Dan Williams <[email protected]>
    Signed-off-by: NeilBrown <[email protected]>
    Signed-off-by: Vinod Koul <[email protected]>
    NeilBrown authored and Vinod Koul committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    b02bab6 View commit details
    Browse the repository at this point in the history
  6. dmaengine: xgene-dma: Fix double IRQ issue by setting IRQ_DISABLE_UNL…

    …AZY flag
    
    For interrupt controller that doesn't support irq_disable and hardware
    with level interrupt, an extra interrupt can be pending. This patch fixes
    the issue by setting IRQ_DISABLE_UNLAZY flag for the interrupt line.
    
    Reference: http://git.kernel.org/tip/e9849777d0e27cdd2902805be51da73e7c79578c
    
    Signed-off-by: Rameshwar Prasad Sahu <[email protected]>
    Signed-off-by: Vinod Koul <[email protected]>
    Rameshwar Prasad Sahu authored and Vinod Koul committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    b0b7902 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'linux-4.4' of git://github.com/skeggsb/linux into drm-f…

    …ixes
    
    single nv40 oops fix.
    
    * 'linux-4.4' of git://github.com/skeggsb/linux:
      drm/nouveau/gr/nv40: fix oops in interrupt handler
    airlied committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    3bea6a4 View commit details
    Browse the repository at this point in the history
  8. iommu/dma: Use correct offset in map_sg

    When mapping a non-page-aligned scatterlist entry, we copy the original
    offset to the output DMA address before aligning it to hand off to
    iommu_map_sg(), then later adding the IOVA page address portion to get
    the final mapped address. However, when the IOVA page size is smaller
    than the CPU page size, it is the offset within the IOVA page we want,
    not that within the CPU page, which can easily be larger than an IOVA
    page and thus result in an incorrect final address.
    
    Fix the bug by taking only the IOVA-aligned part of the offset as the
    basis of the DMA address, not the whole thing.
    
    Signed-off-by: Robin Murphy <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    rmurphy-arm authored and joergroedel committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    164afb1 View commit details
    Browse the repository at this point in the history
  9. kvm: x86: only channel 0 of the i8254 is linked to the HPET

    While setting the KVM PIT counters in 'kvm_pit_load_count', if
    'hpet_legacy_start' is set, the function disables the timer on
    channel[0], instead of the respective index 'channel'. This is
    because channels 1-3 are not linked to the HPET.  Fix the caller
    to only activate the special HPET processing for channel 0.
    
    Reported-by: P J P <[email protected]>
    Fixes: 0185604
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    e5e57e7 View commit details
    Browse the repository at this point in the history
  10. ARM: Fix broken USB support in multi_v7_defconfig for sunxi devices

    Commit 69fb4dc ("power: Add an axp20x-usb-power driver") introduced a
    new driver for the USB power supply used on various Allwinner based SBCs.
    However, the driver was not added to multi_v7_defconfig which breaks USB
    support for some boards (e.g. LeMaker BananaPi) as the kernel will now
    turn off the USB power supply during boot by default if the driver isn't
    present. (This was not the case in linux 4.3 or lower where the USB power
    was always left on.)
    
    Hence, add the driver to multi_v7_defconfig in order to keep USB support
    working on those boards that require it.
    
    Signed-off-by: Timo Sigurdsson <[email protected]>
    Tested-by: Timo Sigurdsson <[email protected]>
    Acked-by: Maxime Ripard <[email protected]>
    Signed-off-by: Arnd Bergmann <[email protected]>
    silentcreek authored and arndb committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    5b1a618 View commit details
    Browse the repository at this point in the history
  11. dts: vt8500: Add SDHC node to DTS file for WM8650

    Since WM8650 has the same 'WMT' SDHC controller as WM8505, and the driver
    is already in the kernel, this node enables the controller support for
    WM8650
    
    Signed-off-by: Roman Volkov <[email protected]>
    Reviewed-by: Alexey Charkov <[email protected]>
    Cc: [email protected]
    Signed-off-by: Arnd Bergmann <[email protected]>
    Roman Volkov authored and arndb committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    0f090bf View commit details
    Browse the repository at this point in the history
  12. ftrace/module: Call clean up function when module init fails early

    If the module init code fails after calling ftrace_module_init() and before
    calling do_init_module(), we can suffer from a memory leak. This is because
    ftrace_module_init() allocates pages to store the locations that ftrace
    hooks are placed in the module text. If do_init_module() fails, it still
    calls the MODULE_GOING notifiers which will tell ftrace to do a clean up of
    the pages it allocated for the module. But if load_module() fails before
    then, the pages allocated by ftrace_module_init() will never be freed.
    
    Call ftrace_release_mod() on the module if load_module() fails before
    getting to do_init_module().
    
    Link: http://lkml.kernel.org/r/[email protected]
    
    Reported-by: "Qiu, PeiyangX" <[email protected]>
    Fixes: a949ae5 "ftrace/module: Hardcode ftrace_module_init() call into load_module()"
    Cc: [email protected] # v2.6.38+
    Acked-by: Rusty Russell <[email protected]>
    Signed-off-by: Steven Rostedt <[email protected]>
    rostedt committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    049fb9b View commit details
    Browse the repository at this point in the history
  13. Merge tag 'trace-v4.4-rc4-4' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rostedt/linux-trace
    
    Pull ftrace fix from Steven Rostedt:
     "PeiyangX Qiu reported that if a module fails to load between calling
      ftrace_module_init() and do_init_module() that the allocations made in
      ftrace_module_init() will not be freed, resulting in a memory leak.
    
      The solution is to call ftrace_release_mod() on the failing module in
      the fail path befor do_init_module() is called.  This will remove any
      allocations made for that module, and nothing if ftrace_module_init()
      wasn't called yet for that module.
    
      Note, once do_init_module() is called, the MODULE_GOING notifiers are
      called for the failed module, which calls into the ftrace code to do
      the proper clean up (basically calling ftrace_release_mod())"
    
    * tag 'trace-v4.4-rc4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      ftrace/module: Call clean up function when module init fails early
    torvalds committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    2626820 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'iommu-fixes-v4.4-rc8' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/joro/iommu
    
    Pull IOMMU fixes from Joerg Roedel:
    
     - Two build issues, one in the ipmmu-vmsa driver and one for the new
       generic dma-api implemention used on arm64
    
     - A performance fix for said dma-api implemention
    
     - An issue caused by a wrong offset in map_sg in the same code as above
    
    * tag 'iommu-fixes-v4.4-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
      iommu/dma: Use correct offset in map_sg
      iommu/ipmmu-vmsa: Don't truncate ttbr if LPAE is not enabled
      iommu/dma: Avoid unlikely high-order allocations
      iommu/dma: Add some missing #includes
    torvalds committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    1d8b0e7 View commit details
    Browse the repository at this point in the history
  15. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Pull drm nouveau fix from Dave Airlie:
     "Still not back to work, but I decided to forward this fix"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
      drm/nouveau/gr/nv40: fix oops in interrupt handler
    torvalds committed Jan 7, 2016
    Configuration menu
    Copy the full SHA
    02006f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2016

  1. ACPI / property: avoid leaking format string into kobject name

    The dn->name is expected to be used as a literal, so add the missing
    "%s".
    
    Fixes: 263b4c1 (ACPI / property: Expose data-only subnodes via sysfs)
    Signed-off-by: Kees Cook <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    kees authored and rafaeljw committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    9db22d9 View commit details
    Browse the repository at this point in the history
  2. firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6

    The dmi_ver wasn't updated correctly before the dmi_decode method run
    to save the uuid.
    
    That resulted in "dmidecode -s system-uuid" and
    /sys/class/dmi/id/product_uuid disagreeing. The latter was buggy and
    this fixes it.
    
    Reported-by: Federico Simoncelli <[email protected]>
    Fixes: 9f9c9cb ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists")
    Fixes: 79bae42 ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()")
    Signed-off-by: Andrea Arcangeli <[email protected]>
    Signed-off-by: Jean Delvare <[email protected]>
    aagit authored and jdelvare committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    ff4319d View commit details
    Browse the repository at this point in the history
  3. PCI: dra7xx: Mark driver as broken

    Mark the dra7xx PCI host driver as broken.  This driver was first merged in
    v3.17 and has never worked.  Although the driver compiles just fine, it is
    missing an essential device reset.  If the driver is included, the kernel
    locks up hard shortly after booting, before any console output appears.
    
    Signed-off-by: Richard Cochran <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    richardcochran authored and bjorn-helgaas committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    5c3b99d View commit details
    Browse the repository at this point in the history
  4. Revert "block: Split bios on chunk boundaries"

    This reverts commit d380561.
    
    If we end up splitting on the first segment, we don't adjust
    the sector count. That results in hitting a BUG() with attempting
    to split 0 sectors.
    
    As this is just a performance issue and not a regression since
    4.3 release, let's just rever this change. That gives us more
    time to test a real fix for 4.5, which would be marked for
    stable anyway.
    axboe committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    6126eb2 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'omap-for-v4.4/onenand-corruption' of git://git.kernel.org/…

    …pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
    
    Pull "urgent onenand file system corruption fix for n900" from Tony Lindgren:
    
    Last minute urgent pull request to prevent file system corruption
    on Nokia N900.
    
    Looks like we have a GPMC bus timing bug that has gone unnoticed
    because of bootloader configured registers until few days ago. We
    are not detecting the onenand clock rate properly unless we have
    CONFIG_OMAP_GPMC_DEBUG set and this causes onenand corruption
    that can be easily be reproduced.
    
    There seems to be also an additional bug still lurking around for
    onenand corruption. But that is still being investigated and
    it does not seem to be GPMC timings related.
    
    Meanwhile, it would be good to get this fix into v4.4 to prevent
    wrong timings from corrupting onenand.
    
    * tag 'omap-for-v4.4/onenand-corruption' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
      ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption
    arndb committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    841bcd2 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'sound-4.4' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "A slightly higher volume than a new year's wish, but not too
      worrisome: a large LOC is only for HD-audio device-specific quirks, so
      fairly safe to apply.  The rest ASoC fixes are all trivial and small;
      a simple replacement of mutex call with nested lock version, a few
      Arizona and Realtek codec fixes, and a regression fix for Skylake
      firmware handling"
    
    * tag 'sound-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ASoC: Intel: Skylake: Fix the memory leak
      ASoC: Intel: Skylake: Revert previous broken fix memory leak fix
      ASoC: Use nested lock for snd_soc_dapm_mutex_lock
      ASoC: rt5645: add sys clk detection
      ALSA: hda - Add keycode map for alc input device
      ALSA: hda - Add mic mute hotkey quirk for Lenovo ThinkCentre AIO
      ASoC: arizona: Fix bclk for sample rates that are multiple of 4kHz
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    4054f64 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/jdelvare/staging
    
    Pull dmi fix from Jean Delvare.
    
    * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
      firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    436950a View commit details
    Browse the repository at this point in the history
  8. Merge tag 'dmaengine-fix-4.4' of git://git.infradead.org/users/vkoul/…

    …slave-dma
    
    Pull dmaengine fixes from Vinod Koul:
     "Late fixes for 4.4 are three fixes for drivers which include a revert
      of mic-x100 fix which is causing regression, xgene fix for double IRQ
      and async_tx fix to use GFP_NOWAIT"
    
    * tag 'dmaengine-fix-4.4' of git://git.infradead.org/users/vkoul/slave-dma:
      dmaengine: xgene-dma: Fix double IRQ issue by setting IRQ_DISABLE_UNLAZY flag
      async_tx: use GFP_NOWAIT rather than GFP_IO
      dmaengine: Revert "dmaengine: mic_x100: add missing spin_unlock"
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    212c7f6 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block revert from Jens Axboe:
     "The previous pull request had a split fix for NVMe, however there are
      corner cases where that ends up blowing up.
    
      So let's revert it for 4.4.  The regression isn't introduced in this
      cycle, and it's "just" a performance regression, not a
      stability/integrity issue"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      Revert "block: Split bios on chunk boundaries"
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    a6a7358 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull irq fix from Ingo Molnar:
     "Fixes a core IRQ subsystem deadlock"
    
    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      genirq: Prevent chip buslock deadlock
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    ea83ae2 View commit details
    Browse the repository at this point in the history
  11. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf fixes from Ingo Molnar:
     "Two core subsystem fixes, plus a handful of tooling fixes"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf: Fix race in swevent hash
      perf: Fix race in perf_event_exec()
      perf list: Robustify event printing routine
      perf list: Add support for PERF_COUNT_SW_BPF_OUT
      perf hists browser: Fix segfault if use symbol filter in cmdline
      perf hists browser: Reset selection when refresh
      perf hists browser: Add NULL pointer check to prevent crash
      perf buildid-list: Fix return value of perf buildid-list -k
      perf buildid-list: Show running kernel build id fix
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    3ab6d1e View commit details
    Browse the repository at this point in the history
  12. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Ingo Molnar:
     "Misc scheduler fixes"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/core: Reset task's lockless wake-queues on fork()
      sched/core: Fix unserialized r-m-w scribbling stuff
      sched/core: Check tgid in is_global_init()
      sched/fair: Fix multiplication overflow on 32-bit systems
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    de03017 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fixes from Ingo Molnar:
     "A handful of x86 fixes:
    
       - a syscall ABI fix, fixing an Android breakage
       - a Xen PV guest fix relating to the RTC device, causing a
         non-working console
       - a Xen guest syscall stack frame fix
       - an MCE hotplug CPU crash fix"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/numachip: Fix NumaConnect2 MMCFG PCI access
      x86/entry: Restore traditional SYSENTER calling convention
      x86/entry: Fix some comments
      x86/paravirt: Prevent rtc_cmos platform device init on PV guests
      x86/xen: Avoid fast syscall path for Xen PV guests
      x86/mce: Ensure offline CPUs don't participate in rendezvous process
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    650e545 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'pm+acpi-4.4-final' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/rafael/linux-pm
    
    Pull ACPI fix from Rafael Wysocki:
     "Just one obvious fix that adds a missing function argument in ACPI
      code introduced recently (Kees Cook)"
    
    * tag 'pm+acpi-4.4-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI / property: avoid leaking format string into kobject name
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    496b0b5 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull KVM fix from Paolo Bonzini:
     "A simple fix.  I'm sending it before the merge window, because it
      refines a patch found in your master branch but not yet in the
      kvm/next branch that is destined for 4.5"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      kvm: x86: only channel 0 of the i8254 is linked to the HPET
    torvalds committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    516c50c View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2016

  1. Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "This is the final small set of ARM SoC bug fixes for linux-4.4, almost
      all regressions:
    
      OMAP:
       - data corruption on the Nokia N900 flash
    
      Allwinner:
       - Two defconfig change to get USB working again
    
      ARM Versatile:
       - Interrupt numbers gone bad after an older bug fix
    
      Nomadik:
       - Crashes from incorrect L2 cache settings
    
      VIA vt8500:
       - SD/MMC support on WM8650 never worked"
    
    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      dts: vt8500: Add SDHC node to DTS file for WM8650
      ARM: Fix broken USB support in multi_v7_defconfig for sunxi devices
      ARM: versatile: fix MMC/SD interrupt assignment
      ARM: nomadik: set latencies to 8 cycles
      ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption
      ARM: Fix broken USB support in sunxi_defconfig
    torvalds committed Jan 9, 2016
    Configuration menu
    Copy the full SHA
    44d8a7d View commit details
    Browse the repository at this point in the history
  2. vmstat: allocate vmstat_wq before it is used

    kernel test robot has reported the following crash:
    
      BUG: unable to handle kernel NULL pointer dereference at 00000100
      IP: [<c1074df6>] __queue_work+0x26/0x390
      *pdpt = 0000000000000000 *pde = f000ff53f000ff53 *pde = f000ff53f000ff53
      Oops: 0000 [#1] PREEMPT PREEMPT SMP SMP
      CPU: 0 PID: 24 Comm: kworker/0:1 Not tainted 4.4.0-rc4-00139-g373ccbe #1
      Workqueue: events vmstat_shepherd
      task: cb684600 ti: cb7ba000 task.ti: cb7ba000
      EIP: 0060:[<c1074df6>] EFLAGS: 00010046 CPU: 0
      EIP is at __queue_work+0x26/0x390
      EAX: 00000046 EBX: cbb37800 ECX: cbb37800 EDX: 00000000
      ESI: 00000000 EDI: 00000000 EBP: cb7bbe68 ESP: cb7bbe38
       DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      CR0: 8005003b CR2: 00000100 CR3: 01fd5000 CR4: 000006b0
      Stack:
      Call Trace:
        __queue_delayed_work+0xa1/0x160
        queue_delayed_work_on+0x36/0x60
        vmstat_shepherd+0xad/0xf0
        process_one_work+0x1aa/0x4c0
        worker_thread+0x41/0x440
        kthread+0xb0/0xd0
        ret_from_kernel_thread+0x21/0x40
    
    The reason is that start_shepherd_timer schedules the shepherd work item
    which uses vmstat_wq (vmstat_shepherd) before setup_vmstat allocates
    that workqueue so if the further initialization takes more than HZ we
    might end up scheduling on a NULL vmstat_wq.  This is really unlikely
    but not impossible.
    
    Fixes: 373ccbe ("mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress")
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Michal Hocko <[email protected]>
    Tested-by: Tetsuo Handa <[email protected]>
    Cc: [email protected]
    Cc: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Michal Hocko authored and torvalds committed Jan 9, 2016
    Configuration menu
    Copy the full SHA
    751e5f5 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'pci-v4.4-fixes-4' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/helgaas/pci
    
    Pull PCI fixlet from Bjorn Helgaas:
     "This marks the TI DRA7xx host bridge driver as broken.  Apparently it
      has never worked without some additional out-of-tree code, so I'm
      going to mark it broken now and remove it completely next cycle unless
      it's fixed"
    
    * tag 'pci-v4.4-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
      PCI: dra7xx: Mark driver as broken
    torvalds committed Jan 9, 2016
    Configuration menu
    Copy the full SHA
    c0cb139 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fix from James Bottomley:
     "A single fix for machines with pages > 4k (PPC mostly).
    
      There's a bug in our optimal transfer size code where we don't account
      for pages > 4k and can set the transfer size to be less than the page
      size causing nasty failures"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      sd: Reject optimal transfer length smaller than page size
    torvalds committed Jan 9, 2016
    Configuration menu
    Copy the full SHA
    eac6f76 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2016

  1. Linux 4.4

    torvalds committed Jan 10, 2016
    Configuration menu
    Copy the full SHA
    afd2ff9 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2016

  1. gem5: Add gem5 instrumentation

    Export a set of symbols used for gem5 to determine sizes and locations
    of useful data structures within the kernel.
    
    Change-Id: Idcfaf5fcd91b7ea38e70f174af7f4d19c27a107e
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Curtis Dunham <[email protected]>
    Reviewed-by: Geoffrey Blake <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    e35fa92 View commit details
    Browse the repository at this point in the history
  2. gem5: Add support for gem5's extended GIC mode

    gem5's GIC model contains a gem5-specific extension that enables
    support for up to 255 CPUs. When enabled, the GIC interprets registers
    where a CPU bitmask would normally be present as a CPU ID.
    
    This extensions need to be enabled by setting the OF compatible string
    to "gem5,gic".
    
    Kudos to Matt Evans for the original version of this patch.
    
    Change-Id: I1a8776f1adcbfcd97813573050a8595176de6a7e
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Stephan Diestelhorst <[email protected]>
    Reviewed-by: Curtis Dunham <[email protected]>
    [Ported to 4.4]
    Signed-off-by: Andreas Sandberg <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    7d85279 View commit details
    Browse the repository at this point in the history
  3. gem5: Add aarch32 default configurations

    Add a default gem5 Linux configuration
    
    Change-Id: I57d1bab24bb835b872bfc9528e59a3bb029041fe
    Reviewed-by: Curtis Dunham <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    e12ffd4 View commit details
    Browse the repository at this point in the history
  4. gem5: add defconfig for arm64

    Add a default gem5 Linux configuration for arm64
    
    Change-Id: Ib3247dbf99b10078f023b7a393e71c573eccdd4e
    Signed-off-by: Geoffrey Blake <[email protected]>
    Reviewed-by: Andreas Sandberg <[email protected]>
    Geoffrey Blake authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    7ae8120 View commit details
    Browse the repository at this point in the history
  5. gem5: Add readq and writeq support to arch/arm/include/asm/io.h

    Update asm/io.h to provide known working implementations
    for writeq and readq to work with NVMe and IGB device drivers
    which perform 64-bit IO reads and writes.
    
    Signed-off-by: Geoffrey Blake <[email protected]>
    Change-Id: I1ec9bad6fc9d0ef4eda2f71200bc3e08460dcacf
    Reviewed-by: Andreas Sandberg <[email protected]>
    Geoffrey Blake authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    86a7b4a View commit details
    Browse the repository at this point in the history
  6. gem5: Add MSI and GIC_v2m build support to arm architecture

    Modify mach-vexpress/Kconfig and include/asm/Kbuild to build
    in MSI support for armv7 so we can use the GIC_V2M with PCI
    devices that support MSI and MSI-X.
    
    Signed-off-by: Geoffrey Blake <[email protected]>
    Change-Id: I0858eeb6ea713cb5725d24524dc522dfecd56e45
    Reviewed-by: Andreas Sandberg <[email protected]>
    Geoffrey Blake authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    795add6 View commit details
    Browse the repository at this point in the history
  7. gem5: Update armv7 gem5_defconfig to support MSI and GIC_v2m

    Update gem5_defconfig to build in support for MSI-X and
    the GIC_V2M for default gem5 armv7 kernel builds.
    
    Signed-off-by: Geoffrey Blake <[email protected]>
    Change-Id: If330eb467bf3cebbaee677d817e5202913642aee
    Reviewed-by: Andreas Sandberg <[email protected]>
    Geoffrey Blake authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    4bfd6d0 View commit details
    Browse the repository at this point in the history
  8. drm: Add support for ARM's HDLCD controller.

    The HDLCD controller is a display controller that supports resolutions
    up to 4096x4096 pixels. It is present on various development boards
    produced by ARM Ltd and emulated by the latest Fast Models from the
    company.
    
    Cc: David Airlie <[email protected]>
    Cc: Robin Murphy <[email protected]>
    
    Signed-off-by: Liviu Dudau <[email protected]>
    [Kconfig cleanup and !CONFIG_PM fixes]
    Signed-off-by: Arnd Bergmann <[email protected]>
    Acked-by: Daniel Vetter <[email protected]>
    [Backported to gem5's 4.3 kernel]
    Signed-off-by: Andreas Sandberg <[email protected]>
    dliviu authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    c7b7dc2 View commit details
    Browse the repository at this point in the history
  9. drm: ARM HDLCD - get rid of devm_clk_put()

    Clock is acquired with devm_clk_get() which already manages
    corresponding resource.
    
    I.e. in case of driver removal or failure on installaiton
    clock resources will be automatically released and explicit
    call of devm_clk_put() is not required.
    
    Cc: Arnd Bergmann <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: David Airlie <[email protected]>
    Cc: Robin Murphy <[email protected]>
    
    Signed-off-by: Alexey Brodkin <[email protected]>
    Signed-off-by: Liviu Dudau <[email protected]>
    abrodkin authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    9e633bb View commit details
    Browse the repository at this point in the history
  10. drm: ARM HDLCD - fix an error code

    We accidentally return PTR_ERR(NULL) which is success instead of a
    negative error code.
    
    Fixes: 879e40bea6f2 ('drm: ARM HDLCD - get rid of devm_clk_put()')
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: Liviu Dudau <[email protected]>
    Dan Carpenter authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    fbae3f4 View commit details
    Browse the repository at this point in the history
  11. Documentation: drm: Add DT bindings for ARM HDLCD

    Cc: Pawel Moll <[email protected]>
    Cc: Mark Rutland <[email protected]>
    Cc: Ian Campbell <[email protected]>
    Cc: Kumar Gala <[email protected]>
    Acked-by: Rob Herring <[email protected]>
    Signed-off-by: Liviu Dudau <[email protected]>
    dliviu authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    edd74f2 View commit details
    Browse the repository at this point in the history
  12. dt/bindings: display: Add DT bindings for the DRM virtual encoder

    Add DT bindings for a simple DRM encoder that gets the display timings
    information from the DT and can be connected to a driver via the
    OF graph bindings.
    
    Signed-off-by: Liviu Dudau <[email protected]>
    dliviu authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    2fe5557 View commit details
    Browse the repository at this point in the history
  13. drm: Add component-aware simple encoder

    This is a simple DRM encoder that gets its connector timings information
    from a OF subnode in the device tree and exposes that as a "discovered"
    panel. It can be used together with component-based DRM drivers in an
    emulated environment where no real encoder or connector hardware exists
    and the display output is configured outside the kernel.
    
    Signed-off-by: Liviu Dudau <[email protected]>
    [Backported to gem5's 4.3 kernel]
    Signed-off-by: Andreas Sandberg <[email protected]>
    dliviu authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    443c2d9 View commit details
    Browse the repository at this point in the history
  14. fbdev: add dma-buf support

    Add support for the dma-buf exporter role to the frame buffer API. The
    importer role isn't meaningful for frame buffer devices, as the frame
    buffer device model doesn't allow using externally allocated memory.
    
    Taken from an RFC on the linaro-mm-sig mailing list:
    http://lists.linaro.org/pipermail/linaro-mm-sig/2012-June/002167.html
    
    Signed-off-by: Guillaume Tucker <[email protected]>
    [Ported to gem5's 4.3 kernel]
    Signed-off-by: Andreas Sandberg <[email protected]>
    Jamie Nicol authored and andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    ea23f2f View commit details
    Browse the repository at this point in the history
  15. fbdev: Add missing dependency on CONFIG_DMA_SHARED_BUFFER

    The change that added dma-buf support to fbdev (fbdev: add dma-buf
    support) didn't correctly list dma-buf as a dependency. List it as a
    dependency of CONFIG_FB to avoid build errors.
    
    Change-Id: I8539b51c36c202a03b04a6888d03e8d28b0a78c4
    Signed-off-by: Andreas Sandberg <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    e8c0cf8 View commit details
    Browse the repository at this point in the history
  16. drm/fb_cma_helper: Add support for the fbdev dma-buf API

    Add support for the new semi-standard fbdev API for dma-buf exports to
    user space.
    
    Change-Id: I8df10b2d214bb75a0c3f42f4c6ce58da9e9573b8
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Liviu Dudau <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    ed48cad View commit details
    Browse the repository at this point in the history
  17. gem5: Enable the HDLCD driver by default on v7

    Change-Id: Ib5889feb5af659cecafcdd6ec896c0ca2e6370db
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Liviu Dudau <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    09d200b View commit details
    Browse the repository at this point in the history
  18. gem5: Update defconfigs with defaults for 4.4

    Change-Id: I2b13286c48a095f74c32f80b0338062fa2cb9e9e
    Signed-off-by: Andreas Sandberg <[email protected]>
    andysan committed May 6, 2016
    Configuration menu
    Copy the full SHA
    8062a3b View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2016

  1. gem5: Fix initialization of gem5 GIC extensions

    The gem5 GIC extensions weren't initialized correctly after the 4.4
    rebase. This was caused by the distributor being initialized before
    the extensions were probed and enabled. This changeset moves the
    initialization from the OF-specific initialization code (gic_of_init)
    to the common path (__gic_init_bases).
    
    Change-Id: I31666c787675cddbb26858ec594702075d7775ac
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Geoffrey Blake <[email protected]>
    andysan committed Sep 5, 2016
    Configuration menu
    Copy the full SHA
    e16f94e View commit details
    Browse the repository at this point in the history
  2. drm: Add missing dependency for the component-aware simple encoder

    The simple encoder depends on the DRM video mode helpers. Add this as
    a Kconfig dependency.
    
    Change-Id: I9fdc41fa9aca4a1a7ec08f22435086508ec2a133
    Signed-off-by: Andreas Sandberg <[email protected]>
    andysan committed Sep 5, 2016
    Configuration menu
    Copy the full SHA
    25f51f6 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2016

  1. drm/fb_cma_helper: Increase ref count when exporting dma-buf

    The fbdev helper that exports a dma-buf to user space didn't correctly
    increase the reference count of the DRM driver. Increase the reference
    count if exporting was successful.
    
    Change-Id: Id0239e10b7cd46b146dd596f78ee4690910ea747
    Signed-off-by: Andreas Sandberg <[email protected]>
    Reviewed-by: Liviu Dudau <[email protected]>
    andysan committed Sep 8, 2016
    Configuration menu
    Copy the full SHA
    2e54922 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2017

  1. gem5, ARM: Add support for the gem5 energy controller

    The energy controller enables DVFS (dynamic voltage and frequency
    scaling support) of gem5 for up to 32 independent domains (or
    clusters).  The changes are modelled somewhat after the VExpress SPC
    component, but are specific to gem5.
    
    Change-Id: I161913cb72bd9a8515f4e63686452e94ef222106
    Signed-off-by: Sascha Bischoff <[email protected]>
    Reviewed-by: Geoffrey Blake <[email protected]>
    Signed-off-by: Andreas Sandberg <[email protected]>
    Sticklyman1936 authored and andysan committed Sep 1, 2017
    Configuration menu
    Copy the full SHA
    6a5a789 View commit details
    Browse the repository at this point in the history
  2. gem5, ARM: Enable the CPUFreq framework and corresponding drivers

    In this changeset we enable the CPUFreq framework, as well as the
    corresponding gem5 drivers, in the gem5_defconfig for arm. We enable
    the following goverors:
    
    * Performance (Default)
    * Powersave
    * Userspace
    * Ondemand
    * Conservative
    
    The default governor is Performance as this will not adjust the
    frequency, and will leave it at the maximum frequency. Therefore,
    unless the governor is changed, future simulations should run as
    before.
    
    Change-Id: I02f2bac7e38824a9b4273dce58c1fda512e15176
    Signed-off-by: Sascha Bischoff <[email protected]>
    Reviewed-by: Geoffrey Blake <[email protected]>
    Signed-off-by: Andreas Sandberg <[email protected]>
    Sticklyman1936 authored and andysan committed Sep 1, 2017
    Configuration menu
    Copy the full SHA
    5b15712 View commit details
    Browse the repository at this point in the history
  3. gem5, ARM64: Enable the CPUFreq framework and corresponding drivers

    In this changeset we enable the CPUFreq framework, as well as the
    corresponding gem5 drivers, in the gem5_defconfig for arm64. We enable
    the following goverors:
    
    * Performance (Default)
    * Powersave
    * Userspace
    * Ondemand
    * Conservative
    
    The default governor is Performance as this will not adjust the
    frequency, and will leave it at the maximum frequency. Therefore,
    unless the governor is changed, future simulations should run as
    before.
    
    Change-Id: Iffe1734b92cc0421c2844b0e784b0ba34143d28d
    Signed-off-by: Sascha Bischoff <[email protected]>
    Reviewed-by: Geoffrey Blake <[email protected]>
    Signed-off-by: Andreas Sandberg <[email protected]>
    Sticklyman1936 authored and andysan committed Sep 1, 2017
    Configuration menu
    Copy the full SHA
    5c8b411 View commit details
    Browse the repository at this point in the history