17 Mar, 2014

4 commits

  • Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Three small fixes"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/clock: Prevent tracing recursion in sched_clock_cpu()
    stop_machine: Fix^2 race between stop_two_cpus() and stop_cpus()
    sched/deadline: Deny unprivileged users to set/change SCHED_DEADLINE policy

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Misc smaller fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: Fix leak in uncore_type_init failure paths
    perf machine: Use map as success in ip__resolve_ams
    perf symbols: Fix crash in elf_section_by_name
    perf trace: Decode architecture-specific signal numbers

    Linus Torvalds
     
  • While testing and documenting the msgrcv() MSG_COPY flag that Stanislav
    Kinsbursky added in commit 4a674f34ba04 ("ipc: introduce message queue
    copy feature" => kernel 3.8), I discovered a couple of bugs in the
    implementation. The two bugs concern MSG_COPY interactions with other
    msgrcv() flags, namely:

    (A) MSG_COPY + MSG_EXCEPT
    (B) MSG_COPY + !IPC_NOWAIT

    The bugs are distinct (and the fix for the first one is obvious),
    however my fix for both is a single-line patch, which is why I'm
    combining them in a single mail, rather than writing two mails+patches.

    ===== (A) MSG_COPY + MSG_EXCEPT =====

    With the addition of the MSG_COPY flag, there are now two msgrcv()
    flags--MSG_COPY and MSG_EXCEPT--that modify the meaning of the 'msgtyp'
    argument in unrelated ways. Specifying both in the same call is a
    logical error that is currently permitted, with the effect that MSG_COPY
    has priority and MSG_EXCEPT is ignored. The call should give an error
    if both flags are specified. The patch below implements that behavior.

    ===== (B) (B) MSG_COPY + !IPC_NOWAIT =====

    The test code that was submitted in commit 3a665531a3b7 ("selftests: IPC
    message queue copy feature test") shows MSG_COPY being used in
    conjunction with IPC_NOWAIT. In other words, if there is no message at
    the position 'msgtyp'. return immediately with the error in ENOMSG.

    What was not (fully) tested is the behavior if MSG_COPY is specified
    *without* IPC_NOWAIT, and there is an odd behavior. If the queue
    contains less than 'msgtyp' messages, then the call blocks until the
    next message is written to the queue. At that point, the msgrcv() call
    returns a copy of the newly added message, regardless of whether that
    message is at the ordinal position 'msgtyp'. This is clearly bogus, and
    problematic for applications that might want to make use of the MSG_COPY
    flag.

    I considered the following possible solutions to this problem:

    (1) Force the call to block until a message *does* appear at the
    position 'msgtyp'.

    (2) If the MSG_COPY flag is specified, the kernel should implicitly add
    IPC_NOWAIT, so that the call fails with ENOMSG for this case.

    (3) If the MSG_COPY flag is specified, but IPC_NOWAIT is not, generate
    an error (probably, EINVAL is the right one).

    I do not know if any application would really want to have the
    functionality of solution (1), especially since an application can
    determine in advance the number of messages in the queue using msgctl()
    IPC_STAT. Obviously, this solution would be the most work to implement.

    Solution (2) would have the effect of silently fixing any applications
    that tried to employ broken behavior. However, it would mean that if we
    later decided to implement solution (1), then user-space could not
    easily detect what the kernel supports (but, since I'm somewhat doubtful
    that solution (1) is needed, I'm not sure that this is much of a
    problem).

    Solution (3) would have the effect of informing broken applications that
    they are doing something broken. The downside is that this would cause
    a ABI breakage for any applications that are currently employing the
    broken behavior. However:

    a) Those applications are almost certainly not getting the results they
    expect.
    b) Possibly, those applications don't even exist, because MSG_COPY is
    currently hidden behind CONFIG_CHECKPOINT_RESTORE.

    The upside of solution (3) is that if we later decided to implement
    solution (1), user-space could determine what the kernel supports, via
    the error return.

    In my view, solution (3) is mildly preferable to solution (2), and
    solution (1) could still be done later if anyone really cares. The
    patch below implements solution (3).

    PS. For anyone out there still listening, it's the usual story:
    documenting an API (and the thinking about, and the testing of the API,
    that documentation entails) is the one of the single best ways of
    finding bugs in the API, as I've learned from a lot of experience. Best
    to do that documentation before releasing the API.

    Signed-off-by: Michael Kerrisk
    Acked-by: Stanislav Kinsbursky
    Cc: Stanislav Kinsbursky
    Cc: stable@vger.kernel.org
    Cc: Serge Hallyn
    Cc: "Eric W. Biederman"
    Cc: Pavel Emelyanov
    Cc: Al Viro
    Cc: KOSAKI Motohiro
    Signed-off-by: Linus Torvalds

    Michael Kerrisk
     

16 Mar, 2014

1 commit

  • Pull SCSI fixes from James Bottomley:
    "This is a set of six fixes. Two are instant crash/null deref types
    (storvsc and isci). The two qla2xxx are initialisation problems that
    cause MSI-X failures and card misdetection, the isci erroneous macro
    is actually illegal C that's causing a miscompile with certain gcc
    versions and the be2iscsi bad if expression is a static checker fix"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    [SCSI] storvsc: NULL pointer dereference fix
    [SCSI] qla2xxx: Poll during initialization for ISP25xx and ISP83xx
    [SCSI] isci: correct erroneous for_each_isci_host macro
    [SCSI] isci: fix reset timeout handling
    [SCSI] be2iscsi: fix bad if expression
    [SCSI] qla2xxx: Fix multiqueue MSI-X registration.

    Linus Torvalds
     

15 Mar, 2014

3 commits

  • Pull x86 fixes from Peter Anvin:
    "Two x86 fixes: Suresh's eager FPU fix, and a fix to the NUMA quirk for
    AMD northbridges.

    This only includes Suresh's fix patch, not the "mostly a cleanup"
    patch which had __init issues"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/amd/numa: Fix northbridge quirk to assign correct NUMA node
    x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "Three of these are regression fixes, for two recent regressions and
    one introduced during the 3.13 cycle, and the fourth one is a working
    version of the fix that had to be reverted last time.

    Specifics:

    - A recent ACPI resources handling fix overlooked the fact that it
    had to update the ACPI PNP subsystem's resources parsing too and
    caused confusing warning messages to be printed during system
    intialization on some systems (with arguably buggy ACPI tables).
    Fix from Zhang Rui.

    - Moving the early ACPI initialization before timekeeping_init()
    earlier in this cycle broke fast TSC calibration on at least one
    system, so it needs to be done later, but still before
    efi_enter_virtual_mode() to allow the EFI initialization to refer
    to ACPI.

    - A change related to code duplication reduction in the cpufreq core
    inadvertently caused cpufreq intialization to fail for some CPUs
    handled by intel_pstate by adding checks that may fail for that
    driver, but aren't even necessary when it is used. The issue is
    addressed by preventing those checks from run in the configurations
    in which they aren't needed.

    - If the Hardware Reduced ACPI flag is set in the ACPI tables, system
    suspend, hibernation and ACPI power off will only work when special
    sleep control and sleep status registeres are provided (their
    addresses in the ACPI tables are not zero). If those registers are
    not available, the features in question have no chances to work, so
    they shouldn't even be regarded as supported. That helps with
    power off in particular, because alternative power off methods may
    be used then and they may actually work"

    * tag 'pm+acpi-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / sleep: Add extra checks for HW Reduced ACPI mode sleep states
    ACPI / init: Invoke early ACPI initialization later
    cpufreq: Skip current frequency initialization for ->setpolicy drivers
    PNP / ACPI: proper handling of ACPI IO/Memory resource parsing failures

    Linus Torvalds
     
  • Pull device-mapper fixes form Mike Snitzer:
    "Two small fixes for the DM cache target:

    - fix corruption with >2TB fast device due to truncation bug
    - fix access beyond end of origin device due to a partial block"

    * tag 'dm-3.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm cache: fix access beyond end of origin device
    dm cache: fix truncation bug when copying a block to/from >2TB fast device

    Linus Torvalds
     

14 Mar, 2014

14 commits

  • For systems with multiple servers and routed fabric, all
    northbridges get assigned to the first server. Fix this by also
    using the node reported from the PCI bus. For single-fabric
    systems, the northbriges are on PCI bus 0 by definition, which
    are on NUMA node 0 by definition, so this is invarient on most
    systems.

    Tested on fam10h and fam15h single and multi-fabric systems and
    candidate for stable.

    Signed-off-by: Daniel J Blueman
    Acked-by: Steffen Persvold
    Acked-by: Borislav Petkov
    Cc:
    Link: http://lkml.kernel.org/r/1394710981-3596-1-git-send-email-daniel@numascale.com
    Signed-off-by: Ingo Molnar

    Daniel J Blueman
     
  • Pull drm fixes from Dave Airlie:
    "Pretty minor set of fixes for radeon, ttm and vmwgfx. The ttm ones
    are a regression and an oops seen on server chipsets"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/vmwgfx: Fix a surface reference corner-case in legacy emulation mode
    drm/radeon/cik: properly set compute ring status on disable
    drm/radeon/cik: stop the sdma engines in the enable() function
    drm/radeon/cik: properly set sdma ring status on disable
    drm/radeon: fix runpm disabling on non-PX harder
    drm/ttm: don't oops if no invalidate_caches()
    drm/ttm: Work around performance regression with VM_PFNMAP

    Linus Torvalds
     
  • Pull i2c Kconfig fix from Wolfram Sang.

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: Remove usage of orphaned symbol OF_I2C

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "I know this is a bit more than you want to see, and I've told the
    wireless folks under no uncertain terms that they must severely scale
    back the extent of the fixes they are submitting this late in the
    game.

    Anyways:

    1) vmxnet3's netpoll doesn't perform the equivalent of an ISR, which
    is the correct implementation, like it should. Instead it does
    something like a NAPI poll operation. This leads to crashes.

    From Neil Horman and Arnd Bergmann.

    2) Segmentation of SKBs requires proper socket orphaning of the
    fragments, otherwise we might access stale state released by the
    release callbacks.

    This is a 5 patch fix, but the initial patches are giving
    variables and such significantly clearer names such that the
    actual fix itself at the end looks trivial.

    From Michael S. Tsirkin.

    3) TCP control block release can deadlock if invoked from a timer on
    an already "owned" socket. Fix from Eric Dumazet.

    4) In the bridge multicast code, we must validate that the
    destination address of general queries is the link local all-nodes
    multicast address. From Linus Lüssing.

    5) The x86 BPF JIT support for negative offsets puts the parameter
    for the helper function call in the wrong register. Fix from
    Alexei Starovoitov.

    6) The descriptor type used for RTL_GIGA_MAC_VER_17 chips in the
    r8169 driver is incorrect. Fix from Hayes Wang.

    7) The xen-netback driver tests skb_shinfo(skb)->gso_type bits to see
    if a packet is a GSO frame, but that's not the correct test. It
    should use skb_is_gso(skb) instead. Fix from Wei Liu.

    8) Negative msg->msg_namelen values should generate an error, from
    Matthew Leach.

    9) at86rf230 can deadlock because it takes the same lock from it's
    ISR and it's hard_start_xmit method, without disabling interrupts
    in the latter. Fix from Alexander Aring.

    10) The FEC driver's restart doesn't perform operations in the correct
    order, so promiscuous settings can get lost. Fix from Stefan
    Wahren.

    11) Fix SKB leak in SCTP cookie handling, from Daniel Borkmann.

    12) Reference count and memory leak fixes in TIPC from Ying Xue and
    Erik Hugne.

    13) Forced eviction in inet_frag_evictor() must strictly make sure all
    frags are deleted, otherwise module unload (f.e. 6lowpan) can
    crash. Fix from Florian Westphal.

    14) Remove assumptions in AF_UNIX's use of csum_partial() (which it
    uses as a hash function), which breaks on PowerPC. From Anton
    Blanchard.

    The main gist of the issue is that csum_partial() is defined only
    as a value that, once folded (f.e. via csum_fold()) produces a
    correct 16-bit checksum. It is legitimate, therefore, for
    csum_partial() to produce two different 32-bit values over the
    same data if their respective alignments are different.

    15) Fix endiannes bug in MAC address handling of ibmveth driver, also
    from Anton Blanchard.

    16) Error checks for ipv6 exthdrs offload registration are reversed,
    from Anton Nayshtut.

    17) Externally triggered ipv6 addrconf routes should count against the
    garbage collection threshold. Fix from Sabrina Dubroca.

    18) The PCI shutdown handler added to the bnx2 driver can wedge the
    chip if it was not brought up earlier already, which in particular
    causes the firmware to shut down the PHY. Fix from Michael Chan.

    19) Adjust the sanity WARN_ON_ONCE() in qdisc_list_add() because as
    currently coded it can and does trigger in legitimate situations.
    From Eric Dumazet.

    20) BNA driver fails to build on ARM because of a too large udelay()
    call, fix from Ben Hutchings.

    21) Fair-Queue qdisc holds locks during GFP_KERNEL allocations, fix
    from Eric Dumazet.

    22) The vlan passthrough ops added in the previous release causes a
    regression in source MAC address setting of outgoing headers in
    some circumstances. Fix from Peter Boström"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (70 commits)
    ipv6: Avoid unnecessary temporary addresses being generated
    eth: fec: Fix lost promiscuous mode after reconnecting cable
    bonding: set correct vlan id for alb xmit path
    at86rf230: fix lockdep splats
    net/mlx4_en: Deregister multicast vxlan steering rules when going down
    vmxnet3: fix building without CONFIG_PCI_MSI
    MAINTAINERS: add networking selftests to NETWORKING
    net: socket: error on a negative msg_namelen
    MAINTAINERS: Add tools/net to NETWORKING [GENERAL]
    packet: doc: Spelling s/than/that/
    net/mlx4_core: Load the IB driver when the device supports IBoE
    net/mlx4_en: Handle vxlan steering rules for mac address changes
    net/mlx4_core: Fix wrong dump of the vxlan offloads device capability
    xen-netback: use skb_is_gso in xenvif_start_xmit
    r8169: fix the incorrect tx descriptor version
    tools/net/Makefile: Define PACKAGE to fix build problems
    x86: bpf_jit: support negative offsets
    bridge: multicast: enable snooping on general queries only
    bridge: multicast: add sanity check for general query destination
    tcp: tcp_release_cb() should release socket ownership
    ...

    Linus Torvalds
     
  • The symbol is an orphan, don't depend on it anymore.

    Signed-off-by: Richard Weinberger
    [wsa: enhanced commit message]
    Signed-off-by: Wolfram Sang
    Fixes: 687b81d083c0 (i2c: move OF helpers into the core)
    Cc: stable@kernel.org

    Richard Weinberger
     
  • * pnp:
    PNP / ACPI: proper handling of ACPI IO/Memory resource parsing failures

    * acpi-init:
    ACPI / init: Invoke early ACPI initialization later

    * acpi-sleep:
    ACPI / sleep: Add extra checks for HW Reduced ACPI mode sleep states

    * pm-cpufreq:
    cpufreq: Skip current frequency initialization for ->setpolicy drivers

    Rafael J. Wysocki
     
  • If the HW Reduced ACPI mode bit is set in the FADT, ACPICA uses
    the optional sleep control and sleep status registers for making
    the system enter sleep states (including S5), so it is not possible
    to use system sleep states or power it off using ACPI if the HW
    Reduced ACPI mode bit is set and those registers are not available.

    For this reason, add a new function, acpi_sleep_state_supported(),
    checking if the HW Reduced ACPI mode bit is set and whether or not
    system sleep states are usable in that case in addition to checking
    the return value of acpi_get_sleep_type_data() and make the ACPI
    sleep setup routines use that function to check the availability of
    system sleep states.

    Among other things, this prevents the kernel from attempting to
    use ACPI for powering off HW Reduced ACPI systems without the sleep
    control and sleep status registers, because ACPI power off doesn't
    have a chance to work on them. That allows alternative power off
    mechanisms that may actually work to be used on those systems. The
    affected machines include Dell Venue 8 Pro, Asus T100TA, Haswell
    Desktop SDP and Ivy Bridge EP Demo depot.

    References: https://bugzilla.kernel.org/show_bug.cgi?id=70931
    Reported-by: Adam Williamson
    Tested-by: Aubrey Li
    Cc: 3.4+ # 3.4+
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • tmp_prefered_lft is an offset to ifp->tstamp, not now. Therefore
    age needs to be added to the condition.

    Age calculation in ipv6_create_tempaddr is different from the one
    in addrconf_verify and doesn't consider ADDRCONF_TIMER_FUZZ_MINUS.
    This can cause age in ipv6_create_tempaddr to be less than the one
    in addrconf_verify and therefore unnecessary temporary address to
    be generated.
    Use age calculation as in addrconf_modify to avoid this.

    Signed-off-by: Heiner Kallweit
    Signed-off-by: David S. Miller

    Heiner Kallweit
     
  • If the Freescale fec is in promiscuous mode and network cable is
    reconnected then the promiscuous mode get lost. The problem is caused
    by a too soon call of set_multicast_list to re-enable promisc mode.
    The FEC_R_CNTRL register changes are overwritten by fec_restart.

    This patch fixes this by moving the call behind the init of FEC_R_CNTRL
    register in fec_restart.

    Successful tested on a i.MX28 board.

    Signed-off-by: Stefan Wahren
    Signed-off-by: David S. Miller

    Stefan Wahren
     
  • The commit d3ab3ffd1d728d7ee77340e7e7e2c7cfe6a4013e
    (bonding: use rlb_client_info->vlan_id instead of ->tag)
    remove the rlb_client_info->tag, but occur some issues,
    The vlan_get_tag() will return 0 for success and -EINVAL for
    error, so the client_info->vlan_id always be set to 0 if the
    vlan_get_tag return 0 for success, so the client_info would
    never get a correct vlan id.

    We should only set the vlan id to 0 when the vlan_get_tag return error.

    Fixes: d3ab3ffd1d7 (bonding: use rlb_client_info->vlan_id instead of ->tag)

    CC: Ding Tianhong
    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Ding Tianhong
    Acked-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    dingtianhong
     
  • This patch fix a lockdep in the at86rf230 driver, otherwise we get:

    [ 30.206517] =================================
    [ 30.211078] [ INFO: inconsistent lock state ]
    [ 30.215647] 3.14.0-20140108-1-00994-g32e9426 #163 Not tainted
    [ 30.221660] ---------------------------------
    [ 30.226222] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
    [ 30.232514] systemd-udevd/157 [HC1[1]:SC0[0]:HE0:SE1] takes:
    [ 30.238439] (&(&lp->lock)->rlock){?.+...}, at: [] at86rf230_isr+0x18/0x44
    [ 30.246621] {HARDIRQ-ON-W} state was registered at:
    [ 30.251728] [] __lock_acquire+0x7a4/0x18d8
    [ 30.257135] [] lock_acquire+0x68/0x7c
    [ 30.262071] [] _raw_spin_lock+0x28/0x38
    [ 30.267203] [] at86rf230_xmit+0x1c/0x144
    [ 30.272412] [] mac802154_xmit_worker+0x88/0x148
    [ 30.278271] [] process_one_work+0x274/0x404
    [ 30.283761] [] worker_thread+0x228/0x374
    [ 30.288971] [] kthread+0xd0/0xe4
    [ 30.293455] [] ret_from_fork+0x14/0x2c
    [ 30.298493] irq event stamp: 8948
    [ 30.301963] hardirqs last enabled at (8947): [] __kmalloc+0xb4/0x110
    [ 30.309636] hardirqs last disabled at (8948): [] __irq_svc+0x34/0x5c
    [ 30.317215] softirqs last enabled at (8452): [] __do_softirq+0x1dc/0x264
    [ 30.325243] softirqs last disabled at (8439): [] irq_exit+0x80/0xf4

    We use the lp->lock inside the isr of at86rf230, that's why we need the
    irqsave spinlock calls.

    Signed-off-by: Alexander Aring
    Signed-off-by: David S. Miller

    Alexander Aring
     
  • When mlx4_en_stop_port() is called, we need to deregister also the
    tunnel steering rules that relate to multicast.

    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Since commit d25f06ea466e "vmxnet3: fix netpoll race condition",
    the vmxnet3 driver fails to build when CONFIG_PCI_MSI is disabled,
    because it unconditionally references the vmxnet3_msix_rx()
    function.

    To fix this, use the same #ifdef in the caller that exists around
    the function definition.

    Signed-off-by: Arnd Bergmann
    Cc: Neil Horman
    Cc: Shreyas Bhatewara
    Cc: "VMware, Inc."
    Cc: "David S. Miller"
    Cc: stable@vger.kernel.org
    Acked-by: Neil Horman
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • Add it to NETWORKING [GENERAL] to make sure patches for selftests
    go to the netdev list as well.

    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

13 Mar, 2014

18 commits

  • Second pull request of 2014-03-12. The first one was requested to be canceled.

    Rob's fix for oops on invalidate_caches() and a fix for a
    performance regression.

    * tag 'ttm-fixes-3.14-2014-03-12' of git://people.freedesktop.org/~thomash/linux:
    drm/ttm: don't oops if no invalidate_caches()
    drm/ttm: Work around performance regression with VM_PFNMAP

    Dave Airlie
     
  • A few more radeon fixes.

    * 'drm-fixes-3.14' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon/cik: properly set compute ring status on disable
    drm/radeon/cik: stop the sdma engines in the enable() function
    drm/radeon/cik: properly set sdma ring status on disable
    drm/radeon: fix runpm disabling on non-PX harder

    Dave Airlie
     
  • …h/linux into drm-fixes

    Pull request of 2014-03-13

    one minor fix for new hw

    * tag 'vmwgfx-fixes-3.14-2014-03-13' of git://people.freedesktop.org/~thomash/linux:
    drm/vmwgfx: Fix a surface reference corner-case in legacy emulation mode

    Dave Airlie
     
  • If running on a gb-object capable device with a non-gb capable surface
    exporter (X server) and a gb capable surface referencing client (GL driver),
    the referencing client expects to find a shareable backing buffer attached to
    the surface at reference time. This may not be the case if the surface has
    not yet been validated. This would cause the surface reference IOCTL to
    return an error.

    Signed-off-by: Thomas Hellstrom
    Reviewed-by: Jakob Bornecrantz

    Thomas Hellstrom
     
  • Pull PCI fixes from Bjorn Helgaas:
    "These are two important regression fixes for bugs we've introduced so
    far in v3.14.

    One of the resource allocation changes from the merge window is broken
    for 32-bit kernels where we don't use _CRS for PCI host bridges
    (mostly pre-2008 machines), so there's a fix for that.

    The INTx enable change we put in after the merge window turned out to
    break pciehp because we re-enable INTx on the hotplug bridge, which
    apparently breaks MSI for future hotplug events"

    * tag 'pci-v3.14-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: Don't check resource_size() in pci_bus_alloc_resource()
    PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "The ARM patch fixes a build breakage with randconfig. The x86 one
    fixes Windows guests on AMD processors"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: SVM: fix cr8 intercept window
    ARM: KVM: fix non-VGIC compilation

    Linus Torvalds
     
  • Commit 73f7d1ca3263 (ACPI / init: Run acpi_early_init() before
    timekeeping_init()) optimistically moved the early ACPI initialization
    before timekeeping_init(), but that didn't work, because it broke fast
    TSC calibration for Julian Wollrath on Thinkpad x121e (and most likely
    for others too). The reason is that acpi_early_init() enables the SCI
    and that interferes with the fast TSC calibration mechanism.

    Thus follow the original idea to execute acpi_early_init() before
    efi_enter_virtual_mode() to help the EFI people for now and we can
    revisit the other problem that commit 73f7d1ca3263 attempted to
    address in the future (if really necessary).

    Fixes: 73f7d1ca3263 (ACPI / init: Run acpi_early_init() before timekeeping_init())
    Reported-by: Julian Wollrath
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • After commit da60ce9f2fac (cpufreq: call cpufreq_driver->get() after
    calling ->init()) __cpufreq_add_dev() sometimes fails for CPUs handled
    by intel_pstate, because that driver may return 0 from its ->get()
    callback if it has not run long enough to collect enough samples on the
    given CPU. That didn't happen before commit da60ce9f2fac which added
    policy->cur initialization to __cpufreq_add_dev() to help reduce code
    duplication in other cpufreq drivers.

    However, the code added by commit da60ce9f2fac need not be executed
    for cpufreq drivers having the ->setpolicy callback defined, because
    the subsequent invocation of cpufreq_set_policy() will use that
    callback to initialize the policy anyway and it doesn't need
    policy->cur to be initialized upfront. The analogous code in
    cpufreq_update_policy() is also unnecessary for cpufreq drivers
    having ->setpolicy set and may be skipped for them as well.

    Since intel_pstate provides ->setpolicy, skipping the upfront
    policy->cur initialization for cpufreq drivers with that callback
    set will cover intel_pstate and the problem it's been having after
    commit da60ce9f2fac will be addressed.

    Fixes: da60ce9f2fac (cpufreq: call cpufreq_driver->get() after calling ->init())
    References: https://bugzilla.kernel.org/show_bug.cgi?id=71931
    Reported-and-tested-by: Patrik Lundquist
    Acked-by: Dirk Brandewie
    Cc: 3.13+ # 3.13+
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Pull sound fixes from Takashi Iwai:
    "A few fixes for ASoC (N810 DT init fix, DPCM error path fix and a
    couple of MFD init fixes), and a fix for a Lenovo laptop. All small
    and trivial fixes, suitable for rc7"

    * tag 'sound-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ASoC: 88pm860: Fix IO setup
    ASoC: si476x: Fix IO setup
    ALSA: hda - Fix loud click noise with IdeaPad 410Y
    ASoC: pcm: free path list before exiting from error conditions
    ASoC: n810: fix init with DT boot

    Linus Torvalds
     
  • When copying in a struct msghdr from the user, if the user has set the
    msg_namelen parameter to a negative value it gets clamped to a valid
    size due to a comparison between signed and unsigned values.

    Ensure the syscall errors when the user passes in a negative value.

    Signed-off-by: Matthew Leach
    Signed-off-by: David S. Miller

    Matthew Leach
     
  • When we disable the rings, set the status properly. If
    not other code pathes may try and use the rings which are
    not functional at this point.

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Make sure patches for these tools go to the netdev list as well.

    References: https://marc.info/?l=linux-kernel&m=139450284501328&w=2
    Cc: David S. Miller
    Cc: Daniel Borkmann
    Signed-off-by: Tobias Klauser
    Signed-off-by: David S. Miller

    Tobias Klauser
     
  • Signed-off-by: Geert Uytterhoeven
    Cc: David S. Miller
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller

    Geert Uytterhoeven
     
  • Or Gerlitz says:

    ====================
    mlx4 fixes

    These short series fixes two bugs related to the vxlan support and a
    missing req module call for the IB driver which is needed to support
    IB/RDMA over Ethernet.

    Pathes done over the net tree, commit dd38743 "vlan: Set correct
    source MAC address with TX VLAN offload enabled"
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • When checking what protocol drivers to load, the IB driver should be
    requested also over Ethernet ports, if the device supports IBoE (RoCE).

    Fixes: b046ffe 'net/mlx4_core: Load higher level modules according to ports type'
    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • When the device mac address is changed, we must deregister the vxlan
    steering rule associated with the previous mac, and register a new
    steering rule using the new mac.

    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Fix the value used to dump the vxlan offloads device capability to align
    with the MLX4_DEV_CAP_FLAG2_yyy definition. While on that, add dump to
    the IPoIB flow-steering device capability and fix small typo.

    The vxlan cap value wasn't fully handled when a conflict was resolved
    between MLX4_DEV_CAP_FLAG2_DMFS_IPOIB coming from the IB tree to
    MLX4_DEV_CAP_FLAG2_VXLAN_OFFLOADS coming from net-next.

    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • We always stop the rings when disabling the engines so just
    call the stop functions directly from the sdma enable function.
    This way the rings' status is set correctly on suspend so
    there are no problems on resume. Fixes resume failures that
    result in acceleration getting disabled.

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher