26 Jan, 2015

1 commit

  • Pull timer fixes from Thomas Gleixner:
    "A set of small fixes:

    - regression fix for exynos_mct clocksource

    - trivial build fix for kona clocksource

    - functional one liner fix for the sh_tmu clocksource

    - two validation fixes to prevent (root only) data corruption in the
    kernel via settimeofday and adjtimex. Tagged for stable"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    time: adjtimex: Validate the ADJ_FREQUENCY values
    time: settimeofday: Validate the values of tv from user
    clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
    clocksource: kona: fix __iomem annotation
    clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write

    Linus Torvalds
     

24 Jan, 2015

3 commits

  • Pull PCI fixes from Bjorn Helgaas:
    "These are fixes for:

    - a resource management problem that causes a Radeon "Fatal error
    during GPU init" on machines where the BIOS programmed an invalid
    Root Port window. This was a regression in v3.16.

    - an Atheros AR93xx device that doesn't handle PCI bus resets
    correctly. This was a regression in v3.14.

    - an out-of-date email address"

    * tag 'pci-v3.19-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    MAINTAINERS: Update Richard Zhu's email address
    sparc/PCI: Clip bridge windows to fit in upstream windows
    powerpc/PCI: Clip bridge windows to fit in upstream windows
    parisc/PCI: Clip bridge windows to fit in upstream windows
    mn10300/PCI: Clip bridge windows to fit in upstream windows
    microblaze/PCI: Clip bridge windows to fit in upstream windows
    ia64/PCI: Clip bridge windows to fit in upstream windows
    frv/PCI: Clip bridge windows to fit in upstream windows
    alpha/PCI: Clip bridge windows to fit in upstream windows
    x86/PCI: Clip bridge windows to fit in upstream windows
    PCI: Add pci_claim_bridge_resource() to clip window if necessary
    PCI: Add pci_bus_clip_resource() to clip to fit upstream window
    PCI: Pass bridge device, not bus, when updating bridge windows
    PCI: Mark Atheros AR93xx to avoid bus reset
    PCI: Add flag for devices where we can't use bus reset

    Linus Torvalds
     
  • Pull devicetree bug fixes and documentation updates from Grant Likely:
    "A few bugfixes for the new DT overlay feature, documentation updates,
    spelling corrections, and changes to MAINTAINERS. Nothing earth
    shattering here"

    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
    of/unittest: Overlays with sub-devices tests
    of/platform: Handle of_populate drivers in notifier
    of/overlay: Do not generate duplicate nodes
    devicetree: document the "qemu" and "virtio" vendor prefixes
    devicetree: document ARM bindings for QEMU's Firmware Config interface
    Documentation: of: fix typo in graph bindings
    dma-mapping: fix debug print to display correct dma_pfn_offset
    of: replace Asahi Kasei Corp vendor prefix
    ARM: dt: GIC: Spelling s/specific/specifier/, s/flaggs/flags/
    dt/bindings: arm-boards: Spelling s/pointong/pointing/
    MAINTAINERS: Update DT website and git repository
    MAINTAINERS: drop DT regex matching on of_get_property and of_match_table

    Linus Torvalds
     
  • Pull kvm fixes from Paolo Bonzini:
    "Three small fixes.

    Two for x86 and one avoids that sparse bails out"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: x86: SYSENTER emulation is broken
    KVM: x86: Fix of previously incomplete fix for CVE-2014-8480
    KVM: fix sparse warning in include/trace/events/kvm.h

    Linus Torvalds
     

23 Jan, 2015

1 commit

  • Pull module and param fixes from Rusty Russell:
    "Surprising number of fixes this merge window :(

    The first two are minor fallout from the param rework which went in
    this merge window.

    The next three are a series which fixes a longstanding (but never
    previously reported and unlikely , so no CC stable) race between
    kallsyms and freeing the init section.

    Finally, a minor cleanup as our module refcount will now be -1 during
    unload"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    module: make module_refcount() a signed integer.
    module: fix race in kallsyms resolution during module load success.
    module: remove mod arg from module_free, rename module_memfree().
    module_arch_freeing_init(): new hook for archs before module->module_init freed.
    param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC
    param: initialize store function to NULL if not available.

    Linus Torvalds
     

22 Jan, 2015

2 commits


21 Jan, 2015

1 commit

  • Pull libata fixes from Tejun Heo:

    - Bartlomiej will be co-maintaining PATA portion of libata. git
    workflow will stay the same.

    - sata_sil24 wasn't happy with tag ordered submission. An option to
    restore the old tag allocation behavior is implemented for sil24.

    - a very old race condition in PIO host state machine which can trigger
    BUG fixed.

    - other driver-specific changes

    * 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    libata: prevent HSM state change race between ISR and PIO
    libata: allow sata_sil24 to opt-out of tag ordered submission
    ata: pata_at91: depend on !ARCH_MULTIPLATFORM
    ahci: Remove Device ID for Intel Sunrise Point PCH
    ahci: Use dev_info() to inform about the lack of Device Sleep support
    libata: Whitelist SSDs that are known to properly return zeroes after TRIM
    sata_dwc_460ex: fix resource leak on error path
    ata: add MAINTAINERS entry for libata PATA drivers
    libata: clean up MAINTAINERS entries
    libata: export ata_get_cmd_descript()
    ahci_xgene: Fix the DMA state machine lockup for the ATA_CMD_PACKET PIO mode command.
    ahci_xgene: Fix the endianess issue in APM X-Gene SoC AHCI SATA controller driver.

    Linus Torvalds
     

20 Jan, 2015

3 commits

  • Pull networking fixes from David Miller:

    1) Socket addresses returned in the error queue need to be fully
    initialized before being passed on to userspace, fix from Willem de
    Bruijn.

    2) Interrupt handling fixes to davinci_emac driver from Tony Lindgren.

    3) Fix races between receive packet steering and cpu hotplug, from Eric
    Dumazet.

    4) Allowing netlink sockets to subscribe to unknown multicast groups
    leads to crashes, don't allow it. From Johannes Berg.

    5) One to many socket races in SCTP fixed by Daniel Borkmann.

    6) Put in a guard against the mis-use of ipv6 atomic fragments, from
    Hagen Paul Pfeifer.

    7) Fix promisc mode and ethtool crashes in sh_eth driver, from Ben
    Hutchings.

    8) NULL deref and double kfree fix in sxgbe driver from Girish K.S and
    Byungho An.

    9) cfg80211 deadlock fix from Arik Nemtsov.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (36 commits)
    s2io: use snprintf() as a safety feature
    r8152: remove sram_read
    r8152: remove generic_ocp_read before writing
    bgmac: activate irqs only if there is nothing to poll
    bgmac: register napi before the device
    sh_eth: Fix ethtool operation crash when net device is down
    sh_eth: Fix promiscuous mode on chips without TSU
    ipv6: stop sending PTB packets for MTU < 1280
    net: sctp: fix race for one-to-many sockets in sendmsg's auto associate
    genetlink: synchronize socket closing and family removal
    genetlink: disallow subscribing to unknown mcast groups
    genetlink: document parallel_ops
    net: rps: fix cpu unplug
    net: davinci_emac: Add support for emac on dm816x
    net: davinci_emac: Fix ioremap for devices with MDIO within the EMAC address space
    net: davinci_emac: Fix incomplete code for getting the phy from device tree
    net: davinci_emac: Free clock after checking the frequency
    net: davinci_emac: Fix runtime pm calls for davinci_emac
    net: davinci_emac: Fix hangs with interrupts
    ip: zero sockaddr returned on error queue
    ...

    Linus Torvalds
     
  • Nothing needs the module pointer any more, and the next patch will
    call it from RCU, where the module itself might no longer exist.
    Removing the arg is the safest approach.

    This just codifies the use of the module_alloc/module_free pattern
    which ftrace and bpf use.

    Signed-off-by: Rusty Russell
    Acked-by: Alexei Starovoitov
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: Ralf Baechle
    Cc: Ley Foon Tan
    Cc: Benjamin Herrenschmidt
    Cc: Chris Metcalf
    Cc: Steven Rostedt
    Cc: x86@kernel.org
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: Masami Hiramatsu
    Cc: linux-cris-kernel@axis.com
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: nios2-dev@lists.rocketboards.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: sparclinux@vger.kernel.org
    Cc: netdev@vger.kernel.org

    Rusty Russell
     
  • Archs have been abusing module_free() to clean up their arch-specific
    allocations. Since module_free() is also (ab)used by BPF and trace code,
    let's keep it to simple allocations, and provide a hook called before
    that.

    This means that avr32, ia64, parisc and s390 no longer need to implement
    their own module_free() at all. avr32 doesn't need module_finalize()
    either.

    Signed-off-by: Rusty Russell
    Cc: Chris Metcalf
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linux-s390@vger.kernel.org

    Rusty Russell
     

19 Jan, 2015

3 commits

  • Ronny reports: https://bugzilla.kernel.org/show_bug.cgi?id=87101
    "Since commit 8a4aeec8d "libata/ahci: accommodate tag ordered
    controllers" the access to the harddisk on the first SATA-port is
    failing on its first access. The access to the harddisk on the
    second port is working normal.

    When reverting the above commit, access to both harddisks is working
    fine again."

    Maintain tag ordered submission as the default, but allow sata_sil24 to
    continue with the old behavior.

    Cc:
    Cc: Tejun Heo
    Reported-by: Ronny Hegewald
    Signed-off-by: Dan Williams
    Signed-off-by: Tejun Heo

    Dan Williams
     
  • sparse complains about
    include/trace/events/kvm.h:163:1: error: directive in argument list
    include/trace/events/kvm.h:167:1: error: directive in argument list
    include/trace/events/kvm.h:169:1: error: directive in argument list
    and sparse is right. Preprocessing directives in an argument of a
    macro are undefined behaviour as of C99 6.10.3p11.

    Lets use an indirection to fix this.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Paolo Bonzini

    Christian Borntraeger
     
  • Pull input subsystem fixes from Dmitry Torokhov.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: uinput - fix ioctl nr overflow for UI_GET_SYSNAME/VERSION
    Input: I8042 - add Acer Aspire 7738 to the nomux list
    Input: elantech - support new ICs types for version 4
    Input: i8042 - reset keyboard to fix Elantech touchpad detection
    MAINTAINERS: remove Dmitry Torokhov's alternate address

    Linus Torvalds
     

17 Jan, 2015

6 commits

  • In addition to the problem Jeff Layton reported, I looked at the code
    and reproduced the same warning by subscribing and removing the genl
    family with a socket still open. This is a fairly tricky race which
    originates in the fact that generic netlink allows the family to go
    away while sockets are still open - unlike regular netlink which has
    a module refcount for every open socket so in general this cannot be
    triggered.

    Trying to resolve this issue by the obvious locking isn't possible as
    it will result in deadlocks between unregistration and group unbind
    notification (which incidentally lockdep doesn't find due to the home
    grown locking in the netlink table.)

    To really resolve this, introduce a "closing socket" reference counter
    (for generic netlink only, as it's the only affected family) in the
    core netlink code and use that in generic netlink to wait for all the
    sockets that are being closed at the same time as a generic netlink
    family is removed.

    This fixes the race that when a socket is closed, it will should call
    the unbind, but if the family is removed at the same time the unbind
    will not find it, leading to the warning. The real problem though is
    that in this case the unbind could actually find a new family that is
    registered to have a multicast group with the same ID, and call its
    mcast_unbind() leading to confusing.

    Also remove the warning since it would still trigger, but is now no
    longer a problem.

    This also moves the code in af_netlink.c to before unreferencing the
    module to avoid having the same problem in the normal non-genl case.

    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • The kernel-doc for the parallel_ops family struct member is
    missing, add it.

    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • Pull USB fixes from Greg KH:
    "Here is a bunch of USB fixes for 3.19-rc5.

    Most of these are gadget driver fixes, along with the xhci driver fix
    that we both reported having problems with, as well as some new device
    ids and other tiny fixes.

    All have been in linux-next with no problems"

    * tag 'usb-3.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (43 commits)
    usb: dwc3: gadget: Stop TRB preparation after limit is reached
    usb: dwc3: gadget: Fix TRB preparation during SG
    usb: phy: mv-usb: fix usb_phy build errors
    usb: serial: handle -ENODEV quietly in generic_submit_read_urb
    usb: serial: silence all non-critical read errors
    USB: console: fix potential use after free
    USB: console: fix uninitialised ldisc semaphore
    usb: gadget: udc: atmel: fix possible oops when unloading module
    usb: gadget: gadgetfs: fix an oops in ep_write()
    usb: phy: Fix deferred probing
    OHCI: add a quirk for ULi M5237 blocking on reset
    uas: Add US_FL_NO_ATA_1X for 2 more Seagate disk enclosures
    uas: Do not blacklist ASM1153 disk enclosures
    usb: gadget: udc: avoid dereference before NULL check in ep_queue
    usb: host: ehci-tegra: request deferred probe when failing to get phy
    uas: disable UAS on Apricorn SATA dongles
    uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS566 with usb-id 0bc2:a013
    uas: Add US_FL_NO_ATA_1X for Seagate devices with usb-id 0bc2:a013
    xhci: Add broken-streams quirk for Fresco Logic FL1000G xhci controllers
    USB: EHCI: adjust error return code
    ...

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include:

    - Stable fix for a NFSv3/lockd race
    - Fixes for several NFSv4.1 client id trunking bugs
    - Remove an incorrect test when checking for delegated opens"

    * tag 'nfs-for-3.19-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4: Remove incorrect check in can_open_delegated()
    NFS: Ignore transport protocol when detecting server trunking
    NFSv4/v4.1: Verify the client owner id during trunking detection
    NFSv4: Cache the NFSv4/v4.1 client owner_id in the struct nfs_client
    NFSv4.1: Fix client id trunking on Linux
    LOCKD: Fix a race when initialising nlmsvc_timeout

    Linus Torvalds
     
  • Add pci_claim_bridge_resource() to claim a PCI-PCI bridge window. This is
    like regular pci_claim_resource(), except that if we fail to claim the
    window, we check to see if we can reduce the size of the window and try
    again.

    This is for scenarios like this:

    pci_bus 0000:00: root bus resource [mem 0xc0000000-0xffffffff]
    pci 0000:00:01.0: bridge window [mem 0xbdf00000-0xddefffff 64bit pref]
    pci 0000:01:00.0: reg 0x10: [mem 0xc0000000-0xcfffffff pref]

    The 00:01.0 window is illegal: it starts before the host bridge window, so
    we have to assume the [0xbdf00000-0xbfffffff] region is inaccessible. We
    can make it legal by clipping it to [mem 0xc0000000-0xddefffff 64bit pref].

    Previously we discarded the 00:01.0 window and tried to reassign that part
    of the hierarchy from scratch. That is a problem because Linux doesn't
    always assign things optimally. For example, in this case, BIOS put the
    01:00.0 device in a prefetchable window below 4GB, but after 5b28541552ef,
    Linux puts the prefetchable window above 4GB where the 32-bit 01:00.0
    device can't use it.

    Clipping the 00:01.0 window is less intrusive than completely reassigning
    things and is sufficient to let us use most of the BIOS configuration. Of
    course, it's possible that devices below 00:01.0 will no longer fit. If
    that's the case, we'll have to reassign things. But that's a separate
    problem.

    [bhelgaas: changelog, split into separate patch]
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491
    Reported-by: Marek Kordik
    Fixes: 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources")
    Signed-off-by: Yinghai Lu
    Signed-off-by: Bjorn Helgaas
    CC: stable@vger.kernel.org # v3.16+

    Yinghai Lu
     
  • Enable a mechanism for devices to quirk that they do not behave when
    doing a PCI bus reset. We require a modest level of spec compliant
    behavior in order to do a reset, for instance the device should come
    out of reset without throwing errors and PCI config space should be
    accessible after reset. This is too much to ask for some devices.

    Link: http://lkml.kernel.org/r/20140923210318.498dacbd@dualc.maya.org
    Signed-off-by: Alex Williamson
    Signed-off-by: Bjorn Helgaas
    CC: stable@vger.kernel.org # v3.14+

    Alex Williamson
     

15 Jan, 2015

6 commits

  • During the CAN FD standardization process within the ISO it turned out that
    the failure detection capability has to be improved.

    The CAN in Automation organization (CiA) defined the already implemented CAN
    FD controllers as 'non-ISO' and the upcoming improved CAN FD controllers as
    'ISO' compliant. See at http://www.can-cia.com/index.php?id=1937

    Finally there will be three types of CAN FD controllers in the future:

    1. ISO compliant (fixed)
    2. non-ISO compliant (fixed, like the M_CAN IP v3.0.1 in m_can.c)
    3. ISO/non-ISO CAN FD controllers (switchable, like the PEAK USB FD)

    So the current M_CAN driver for the M_CAN IP v3.0.1 has to expose its non-ISO
    implementation by setting the CAN_CTRLMODE_FD_NON_ISO ctrlmode at startup.
    As this bit cannot be switched at configuration time CAN_CTRLMODE_FD_NON_ISO
    must not be set in ctrlmode_supported of the current M_CAN driver.

    Signed-off-by: Oliver Hartkopp
    Cc: linux-stable
    Signed-off-by: Marc Kleine-Budde

    Oliver Hartkopp
     
  • …/johan/usb-serial into usb-linus

    Johan writes:

    USB-serial fixes for v3.18-rc5

    Here are a few fixes for reported problems including a possible
    null-deref on probe with keyspan, a misbehaving modem, and a couple of
    issues with the USB console.

    Some new device IDs are also added.

    Signed-off-by: Johan Hovold <johan@kernel.org>

    Greg Kroah-Hartman
     
  • Pull networking fixes from David Miller:

    1) Don't use uninitialized data in IPVS, from Dan Carpenter.

    2) conntrack race fixes from Pablo Neira Ayuso.

    3) Fix TX hangs with i40e, from Jesse Brandeburg.

    4) Fix budget return from poll calls in dnet and alx, from Eric
    Dumazet.

    5) Fix bugus "if (unlikely(x) < 0)" test in AF_PACKET, from Christoph
    Jaeger.

    6) Fix bug introduced by conversion to list_head in TIPC retransmit
    code, from Jon Paul Maloy.

    7) Don't use GFP_NOIO under spinlock in USB kaweth driver, from Alexey
    Khoroshilov.

    8) Fix bridge build with INET disabled, from Arnd Bergmann.

    9) Fix netlink array overrun for PROBE attributes in openvswitch, from
    Thomas Graf.

    10) Don't hold spinlock across synchronize_irq() in tg3 driver, from
    Prashant Sreedharan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
    tg3: Release tp->lock before invoking synchronize_irq()
    tg3: tg3_reset_task() needs to use rtnl_lock to synchronize
    tg3: tg3_timer() should grab tp->lock before checking for tp->irq_sync
    team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin
    openvswitch: packet messages need their own probe attribtue
    i40e: adds FCoE configure option
    cxgb4vf: Fix queue allocation for 40G adapter
    netdevice: Add missing parentheses in macro
    bridge: only provide proxy ARP when CONFIG_INET is enabled
    neighbour: fix base_reachable_time(_ms) not effective immediatly when changed
    net: fec: fix MDIO bus assignement for dual fec SoC's
    xen-netfront: use different locks for Rx and Tx stats
    drivers: net: cpsw: fix multicast flush in dual emac mode
    cxgb4vf: Initialize mdio_addr before using it
    net: Corrected the comment describing the ndo operations to reflect the actual prototype for couple of operations
    usb/kaweth: use GFP_ATOMIC under spin_lock in usb_start_wait_urb()
    MAINTAINERS: add me as ibmveth maintainer
    tipc: fix bug in broadcast retransmit code
    update ip-sysctl.txt documentation (v2)
    net/at91_ether: prepare and unprepare clock
    ...

    Linus Torvalds
     
  • User space is currently sending a OVS_FLOW_ATTR_PROBE for both flow
    and packet messages. This leads to an out-of-bounds access in
    ovs_packet_cmd_execute() because OVS_FLOW_ATTR_PROBE >
    OVS_PACKET_ATTR_MAX.

    Introduce a new OVS_PACKET_ATTR_PROBE with the same numeric value
    as OVS_FLOW_ATTR_PROBE to grow the range of accepted packet attributes
    while maintaining to be binary compatible with existing OVS binaries.

    Fixes: 05da589 ("openvswitch: Add support for OVS_FLOW_ATTR_PROBE.")
    Reported-by: Sander Eikelenboom
    Tracked-down-by: Florian Westphal
    Signed-off-by: Thomas Graf
    Reviewed-by: Jesse Gross
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Thomas Graf
     
  • For example, one could conceivably call
    for_each_netdev_in_bond_rcu(condition ? bond1 : bond2, slave)
    and get an unexpected result.

    Signed-off-by: Benjamin Poirier
    Signed-off-by: David S. Miller

    Benjamin Poirier
     
  • Pull block layer fixes from Jens Axboe:
    "The major part is an update to the NVMe driver, fixing various issues
    around surprise removal and hung controllers. Most of that is from
    Keith, and parts are simple blk-mq fixes or exports/additions of minor
    functions to aid this effort, and parts are changes directly to the
    NVMe driver.

    Apart from the above, this contains:

    - Small blk-mq change from me, killing an unused member of the
    hardware queue structure.

    - Small fix from Ming Lei, fixing up a few drivers that didn't
    properly check for ERR_PTR() returns from blk_mq_init_queue()"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    NVMe: Fix locking on abort handling
    NVMe: Start and stop h/w queues on reset
    NVMe: Command abort handling fixes
    NVMe: Admin queue removal handling
    NVMe: Reference count admin queue usage
    NVMe: Start all requests
    blk-mq: End unstarted requests on a dying queue
    blk-mq: Allow requests to never expire
    blk-mq: Add helper to abort requeued requests
    blk-mq: Let drivers cancel requeue_work
    blk-mq: Export if requests were started
    blk-mq: Wake tasks entering queue on dying
    blk-mq: get rid of ->cmd_size in the hardware queue
    block: fix checking return value of blk_mq_init_queue
    block: wake up waiters when a queue is marked dying
    NVMe: Fix double free irq
    blk-mq: Export freeze/unfreeze functions
    blk-mq: Exit queue on alloc failure

    Linus Torvalds
     

14 Jan, 2015

5 commits


13 Jan, 2015

4 commits

  • Using the native code here can't work properly, as the hypervisor would
    normally have cleared the two reason bits by the time Dom0 gets to see
    the NMI (if passed to it at all). There's a shared info field for this,
    and there's an existing hook to use - just fit the two together. This
    is particularly relevant so that NMIs intended to be handled by APEI /
    GHES actually make it to the respective handler.

    Note that the hook can (and should) be used irrespective of whether
    being in Dom0, as accessing port 0x61 in a DomU would be even worse,
    while the shared info field would just hold zero all the time. Note
    further that hardware NMI handling for PVH doesn't currently work
    anyway due to missing code in the hypervisor (but it is expected to
    work the native rather than the PV way).

    Signed-off-by: Jan Beulich
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: David Vrabel

    Jan Beulich
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC host:
    - sdhci-pci|acpi: Support some new IDs
    - sdhci: Fix sleep from atomic context
    - sdhci-pxav3: Prevent hang during ->probe()
    - sdhci: Disable re-tuning for HS400"

    * tag 'mmc-v3.19-3' of git://git.linaro.org/people/ulf.hansson/mmc:
    mmc: sdhci-pci: Add support for Intel SPT
    mmc: sdhci-acpi: Add ACPI HID INT344D
    mmc: sdhci: Fix sleep in atomic after inserting SD card
    mmc: sdhci-pxav3: do the mbus window configuration after enabling clocks
    mmc: sdhci: Disable re-tuning for HS400
    mmc: sdhci: Simplify use of tuning timer
    mmc: sdhci: Add out_unlock to sdhci_execute_tuning
    mmc: sdhci: Tuning should not change max_blk_count

    Linus Torvalds
     
  • Pull scsi target fixes from Nicholas Bellinger:
    "Mostly minor fixes this time, including:

    - Add missing virtio-scsi -> TCM attribute conversion in vhost-scsi.
    - Fix persistent reservations write exclusive handling to allow
    readers for all registered I_T nexuses.
    - Drop arbitrary maximum I/O size limit in order to process I/Os
    larger than 4 MB, required for initiators that don't honor block
    limits EVPD.
    - Drop the now left-over fabric_max_sectors attribute"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iscsi-target: Fix typos in enum cmd_flags_table
    MAINTAINERS: Add entry for iSER target driver
    target: Allow Write Exclusive non-reservation holders to READ
    target: Drop left-over fabric_max_sectors attribute
    target: Drop arbitrary maximum I/O size limit
    Documentation/target: Update fabric_ops to latest code
    vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion

    Linus Torvalds
     
  • When batching up address ranges for TLB invalidation, we check tlb->end
    != 0 to indicate that some pages have actually been unmapped.

    As of commit f045bbb9fa1b ("mmu_gather: fix over-eager
    tlb_flush_mmu_free() calling"), we use the same check for freeing these
    pages in order to avoid a performance regression where we call
    free_pages_and_swap_cache even when no pages are actually queued up.

    Unfortunately, the range could have been reset (tlb->end = 0) by
    tlb_end_vma, which has been shown to cause memory leaks on arm64.
    Furthermore, investigation into these leaks revealed that the fullmm
    case on task exit no longer invalidates the TLB, by virtue of tlb->end
    == 0 (in 3.18, need_flush would have been set).

    This patch resolves the problem by reverting commit f045bbb9fa1b, using
    instead tlb->local.nr as the predicate for page freeing in
    tlb_flush_mmu_free and ensuring that tlb->end is initialised to a
    non-zero value in the fullmm case.

    Tested-by: Mark Langsdorf
    Tested-by: Dave Hansen
    Signed-off-by: Will Deacon
    Signed-off-by: Linus Torvalds

    Will Deacon
     

12 Jan, 2015

3 commits

  • Re-tuning for HS400 mode must be done in HS200
    mode. Currently there is no support for that.
    That needs to be reflected in the code.
    Specifically, if tuning is executed in HS400 mode
    then return an error, and do not start the
    tuning timer if HS200 tuning is being done prior
    to switching to HS400.

    Note that periodic re-tuning is not expected
    to be needed for HS400 but re-tuning is still
    needed after the host controller has lost power.
    In the case of suspend/resume that is not necessary
    because the card is fully re-initialised. That
    just leaves runtime suspend/resume with no support
    for HS400 re-tuning.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Ulf Hansson

    Adrian Hunter
     
  • Request number for ioctls are encoded as 8bit numbers, but unfortunately
    UI_GET_SYSNAME and UI_GET_VERSION specifu values larger than that, so they
    get truncated to 44 (0x2c) and 45 (0x2d). This change makes requested
    values match their effective values (the ABI stays intact).

    Signed-off-by: Gabriel Laskar
    Signed-off-by: Dmitry Torokhov

    Gabriel Laskar
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, but also some kernel side fixes: uncore PMU
    driver fix, user regs sampling fix and an instruction decoder fix that
    unbreaks PEBS precise sampling"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes
    perf/x86_64: Improve user regs sampling
    perf: Move task_pt_regs sampling into arch code
    x86: Fix off-by-one in instruction decoder
    perf hists browser: Fix segfault when showing callchain
    perf callchain: Free callchains when hist entries are deleted
    perf hists: Fix children sort key behavior
    perf diff: Fix to sort by baseline field by default
    perf list: Fix --raw-dump option
    perf probe: Fix crash in dwarf_getcfi_elf
    perf probe: Fix to fall back to find probe point in symbols
    perf callchain: Append callchains only when requested
    perf ui/tui: Print backtrace symbols when segfault occurs
    perf report: Show progress bar for output resorting

    Linus Torvalds
     

10 Jan, 2015

2 commits

  • Pull drm fixes from Dave Airlie:
    "I'm briefly working between holidays and LCA, so this is close to a
    couple of weeks of fixes,

    Two sets of amdkfd fixes, this is a new feature this kernel, and this
    pull fixes a few issues since it got merged, ordering when built-in to
    kernel and also the iommu vs gpu ordering patch, it also reworks the
    ioctl before the initial release.

    Otherwise:
    - radeon: some misc fixes all over, hdmi, 4k, dpm
    - nouveau: mcp77 init fixes, oops fix, bug on fix, msi fix
    - i915: power fixes, revert VGACNTR patch

    Probably be quiteer next week since I'll be at LCA anyways"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (33 commits)
    drm/amdkfd: rewrite kfd_ioctl() according to drm_ioctl()
    drm/amdkfd: reformat IOCTL definitions to drm-style
    drm/amdkfd: Do copy_to/from_user in general kfd_ioctl()
    drm/radeon: integer underflow in radeon_cp_dispatch_texture()
    drm/radeon: adjust default bapm settings for KV
    drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw
    drm/radeon: fix sad_count check for dce3
    drm/radeon: KV has three PPLLs (v2)
    drm/amdkfd: unmap VMIDPASID when relesing VMID (non-HWS)
    drm/radeon: Init amdkfd only if it was compiled
    amdkfd: actually allocate longs for the pasid bitmask
    drm/nouveau/nouveau: Do not BUG_ON(!spin_is_locked()) on UP
    drm/nv4c/mc: disable msi
    drm/nouveau/fb/ram/mcp77: enable NISO poller
    drm/nouveau/fb/ram/mcp77: use carveout reg to determine size
    drm/nouveau/fb/ram/mcp77: subclass nouveau_ram
    drm/nouveau: wake up the card if necessary during gem callbacks
    drm/nouveau/device: Add support for GK208B, resolves bug 86935
    drm/nouveau: fix missing return statement in nouveau_ttm_tt_unpopulate
    drm/nouveau/bios: fix oops on pre-nv50 chipsets
    ...

    Linus Torvalds
     
  • Pull kgdb/kdb fixes from Jason Wessel:
    "These have been around since 3.17 and in kgdb-next for the last 9
    weeks and some will go back to -stable.

    Summary of changes:

    Cleanups
    - kdb: Remove unused command flags, repeat flags and KDB_REPEAT_NONE

    Fixes
    - kgdb/kdb: Allow access on a single core, if a CPU round up is
    deemed impossible, which will allow inspection of the now "trashed"
    kernel
    - kdb: Add enable mask for the command groups
    - kdb: access controls to restrict sensitive commands"

    * tag 'for_linus-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
    kernel/debug/debug_core.c: Logging clean-up
    kgdb: timeout if secondary CPUs ignore the roundup
    kdb: Allow access to sensitive commands to be restricted by default
    kdb: Add enable mask for groups of commands
    kdb: Categorize kdb commands (similar to SysRq categorization)
    kdb: Remove KDB_REPEAT_NONE flag
    kdb: Use KDB_REPEAT_* values as flags
    kdb: Rename kdb_register_repeat() to kdb_register_flags()
    kdb: Rename kdb_repeat_t to kdb_cmdflags_t, cmd_repeat to cmd_flags
    kdb: Remove currently unused kdbtab_t->cmd_flags

    Linus Torvalds