22 Nov, 2014

1 commit


31 Oct, 2014

2 commits

  • commit d98a0526434d27e261f622cf9d2e0028b5ff1a00 upstream.

    Add a complete description of the LZO format as processed by the
    decompressor. I have not found a public specification of this format
    hence this analysis, which will be used to better understand the code.

    Cc: Willem Pinckaers
    Cc: "Don A. Bailey"
    Signed-off-by: Willy Tarreau
    Signed-off-by: Greg Kroah-Hartman

    Willy Tarreau
     
  • commit ee3d1570b58677885b4552bce8217fda7b226a68 upstream.

    vcpu exits and memslot mutations can run concurrently as long as the
    vcpu does not aquire the slots mutex. Thus it is theoretically possible
    for memslots to change underneath a vcpu that is handling an exit.

    If we increment the memslot generation number again after
    synchronize_srcu_expedited(), vcpus can safely cache memslot generation
    without maintaining a single rcu_dereference through an entire vm exit.
    And much of the x86/kvm code does not maintain a single rcu_dereference
    of the current memslots during each exit.

    We can prevent the following case:

    vcpu (CPU 0) | thread (CPU 1)
    --------------------------------------------+--------------------------
    1 vm exit |
    2 srcu_read_unlock(&kvm->srcu) |
    3 decide to cache something based on |
    old memslots |
    4 | change memslots
    | (increments generation)
    5 | synchronize_srcu(&kvm->srcu);
    6 retrieve generation # from new memslots |
    7 tag cache with new memslot generation |
    8 srcu_read_unlock(&kvm->srcu) |
    ... |
    |
    ... |
    |
    |

    By incrementing the generation after synchronizing with kvm->srcu readers,
    we ensure that the generation retrieved in (6) will become invalid soon
    after (8).

    Keeping the existing increment is not strictly necessary, but we
    do keep it and just move it for consistency from update_memslots to
    install_new_memslots. It invalidates old cached MMIOs immediately,
    instead of having to wait for the end of synchronize_srcu_expedited,
    which makes the code more clearly correct in case CPU 1 is preempted
    right after synchronize_srcu() returns.

    To avoid halving the generation space in SPTEs, always presume that the
    low bit of the generation is zero when reconstructing a generation number
    out of an SPTE. This effectively disables MMIO caching in SPTEs during
    the call to synchronize_srcu_expedited. Using the low bit this way is
    somewhat like a seqcount---where the protected thing is a cache, and
    instead of retrying we can simply punt if we observe the low bit to be 1.

    Signed-off-by: David Matlack
    Reviewed-by: Xiao Guangrong
    Reviewed-by: David Matlack
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Greg Kroah-Hartman

    David Matlack
     

06 Oct, 2014

1 commit

  • commit a9ecdc0fdc54aa499604dbd43132988effcac9b4 upstream.

    In case the Device Tree blob passed by the boot agent supplies both an
    'interrupts-extended' and an 'interrupts' property in order to allow for
    older kernels to be usable, prefer the new-style 'interrupts-extended'
    property which conveys a lot more information.

    This allows us to have bootloaders willingly maintaining backwards
    compatibility with older kernels without entirely deprecating the
    'interrupts' property.

    Update the bindings documentation to describe a situation where both the
    'interrupts-extended' and the 'interrupts' property are present, and
    which one takes precedence over the other.

    Acked-by: Rob Herring
    Signed-off-by: Brian Norris
    Signed-off-by: Florian Fainelli
    Signed-off-by: Grant Likely
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     

18 Sep, 2014

1 commit

  • commit d1555c407a65db42126b295425379acb393ba83a upstream.

    The specification requires compatible = "adi,axi-spdif-1.00.a" but
    driver and example and file name indicate "adi,axi-spdif-tx-1.00.a".
    Change the specification to match the implementation.

    Acked-by: Lars-Peter Clausen
    Reviewed-by: Michal Simek
    Fixes: d7b528eff927 ("dt: Add bindings documentation for the ADI AXI-SPDIF audio controller")
    Signed-off-by: Andreas Färber
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Andreas Färber
     

06 Sep, 2014

2 commits


08 Aug, 2014

1 commit

  • commit 3891a04aafd668686239349ea58f3314ea2af86b upstream.

    The IRET instruction, when returning to a 16-bit segment, only
    restores the bottom 16 bits of the user space stack pointer. This
    causes some 16-bit software to break, but it also leaks kernel state
    to user space. We have a software workaround for that ("espfix") for
    the 32-bit kernel, but it relies on a nonzero stack segment base which
    is not available in 64-bit mode.

    In checkin:

    b3b42ac2cbae x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels

    we "solved" this by forbidding 16-bit segments on 64-bit kernels, with
    the logic that 16-bit support is crippled on 64-bit kernels anyway (no
    V86 support), but it turns out that people are doing stuff like
    running old Win16 binaries under Wine and expect it to work.

    This works around this by creating percpu "ministacks", each of which
    is mapped 2^16 times 64K apart. When we detect that the return SS is
    on the LDT, we copy the IRET frame to the ministack and use the
    relevant alias to return to userspace. The ministacks are mapped
    readonly, so if IRET faults we promote #GP to #DF which is an IST
    vector and thus has its own stack; we then do the fixup in the #DF
    handler.

    (Making #GP an IST exception would make the msr_safe functions unsafe
    in NMI/MC context, and quite possibly have other effects.)

    Special thanks to:

    - Andy Lutomirski, for the suggestion of using very small stack slots
    and copy (as opposed to map) the IRET frame there, and for the
    suggestion to mark them readonly and let the fault promote to #DF.
    - Konrad Wilk for paravirt fixup and testing.
    - Borislav Petkov for testing help and useful comments.

    Reported-by: Brian Gerst
    Signed-off-by: H. Peter Anvin
    Link: http://lkml.kernel.org/r/1398816946-3351-1-git-send-email-hpa@linux.intel.com
    Cc: Konrad Rzeszutek Wilk
    Cc: Borislav Petkov
    Cc: Andrew Lutomriski
    Cc: Linus Torvalds
    Cc: Dirk Hohndel
    Cc: Arjan van de Ven
    Cc: comex
    Cc: Alexander van Heukelum
    Cc: Boris Ostrovsky
    Cc: # consider after upstream merge
    Signed-off-by: Greg Kroah-Hartman

    H. Peter Anvin
     

18 Jul, 2014

1 commit


10 Jul, 2014

1 commit

  • commit 7cd2b0a34ab8e4db971920eef8982f985441adfb upstream.

    Oleg reports a division by zero error on zero-length write() to the
    percpu_pagelist_fraction sysctl:

    divide error: 0000 [#1] SMP DEBUG_PAGEALLOC
    CPU: 1 PID: 9142 Comm: badarea_io Not tainted 3.15.0-rc2-vm-nfs+ #19
    Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
    task: ffff8800d5aeb6e0 ti: ffff8800d87a2000 task.ti: ffff8800d87a2000
    RIP: 0010: percpu_pagelist_fraction_sysctl_handler+0x84/0x120
    RSP: 0018:ffff8800d87a3e78 EFLAGS: 00010246
    RAX: 0000000000000f89 RBX: ffff88011f7fd000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000010
    RBP: ffff8800d87a3e98 R08: ffffffff81d002c8 R09: ffff8800d87a3f50
    R10: 000000000000000b R11: 0000000000000246 R12: 0000000000000060
    R13: ffffffff81c3c3e0 R14: ffffffff81cfddf8 R15: ffff8801193b0800
    FS: 00007f614f1e9740(0000) GS:ffff88011f440000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 00007f614f1fa000 CR3: 00000000d9291000 CR4: 00000000000006e0
    Call Trace:
    proc_sys_call_handler+0xb3/0xc0
    proc_sys_write+0x14/0x20
    vfs_write+0xba/0x1e0
    SyS_write+0x46/0xb0
    tracesys+0xe1/0xe6

    However, if the percpu_pagelist_fraction sysctl is set by the user, it
    is also impossible to restore it to the kernel default since the user
    cannot write 0 to the sysctl.

    This patch allows the user to write 0 to restore the default behavior.
    It still requires a fraction equal to or larger than 8, however, as
    stated by the documentation for sanity. If a value in the range [1, 7]
    is written, the sysctl will return EINVAL.

    This successfully solves the divide by zero issue at the same time.

    Signed-off-by: David Rientjes
    Reported-by: Oleg Drokin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    David Rientjes
     

07 Jul, 2014

1 commit

  • commit 8401aa1f59975c03eeebd3ac6d264cbdfe9af5de upstream.

    Update the SubmittingPatches process to include howto about the new
    'Fixes:' tag to be used when a patch fixes an issue in a previous commit
    (found by git-bisect for example).

    Signed-off-by: Jacob Keller
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Jacob Keller
     

01 Jul, 2014

1 commit

  • commit 3ba08129e38437561df44c36b7ea9081185d5333 upstream.

    Currently memory error handler handles action optional errors in the
    deferred manner by default. And if a recovery aware application wants
    to handle it immediately, it can do it by setting PF_MCE_EARLY flag.
    However, such signal can be sent only to the main thread, so it's
    problematic if the application wants to have a dedicated thread to
    handler such signals.

    So this patch adds dedicated thread support to memory error handler. We
    have PF_MCE_EARLY flags for each thread separately, so with this patch
    AO signal is sent to the thread with PF_MCE_EARLY flag set, not the main
    thread. If you want to implement a dedicated thread, you call prctl()
    to set PF_MCE_EARLY on the thread.

    Memory error handler collects processes to be killed, so this patch lets
    it check PF_MCE_EARLY flag on each thread in the collecting routines.

    No behavioral change for all non-early kill cases.

    Tony said:

    : The old behavior was crazy - someone with a multithreaded process might
    : well expect that if they call prctl(PF_MCE_EARLY) in just one thread, then
    : that thread would see the SIGBUS with si_code = BUS_MCEERR_A0 - even if
    : that thread wasn't the main thread for the process.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Naoya Horiguchi
    Reviewed-by: Tony Luck
    Cc: Kamil Iskra
    Cc: Andi Kleen
    Cc: Borislav Petkov
    Cc: Chen Gong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Naoya Horiguchi
     

27 Jun, 2014

1 commit

  • commit f9b2a735bdddf836214b5dca74f6ca7712e5a08c upstream.

    Files are measured or appraised based on the IMA policy. When a
    file, in policy, is opened with the O_DIRECT flag, a deadlock
    occurs.

    The first attempt at resolving this lockdep temporarily removed the
    O_DIRECT flag and restored it, after calculating the hash. The
    second attempt introduced the O_DIRECT_HAVELOCK flag. Based on this
    flag, do_blockdev_direct_IO() would skip taking the i_mutex a second
    time. The third attempt, by Dmitry Kasatkin, resolves the i_mutex
    locking issue, by re-introducing the IMA mutex, but uncovered
    another problem. Reading a file with O_DIRECT flag set, writes
    directly to userspace pages. A second patch allocates a user-space
    like memory. This works for all IMA hooks, except ima_file_free(),
    which is called on __fput() to recalculate the file hash.

    Until this last issue is addressed, do not 'collect' the
    measurement for measuring, appraising, or auditing files opened
    with the O_DIRECT flag set. Based on policy, permit or deny file
    access. This patch defines a new IMA policy rule option named
    'permit_directio'. Policy rules could be defined, based on LSM
    or other criteria, to permit specific applications to open files
    with the O_DIRECT flag set.

    Changelog v1:
    - permit or deny file access based IMA policy rules

    Signed-off-by: Mimi Zohar
    Acked-by: Dmitry Kasatkin
    Signed-off-by: Greg Kroah-Hartman

    Mimi Zohar
     

12 Jun, 2014

3 commits

  • commit 80c578930ce77ba8bcfb226a184b482020bdda7b upstream.

    Commit 85ad643b ("dm thin: add timeout to stop out-of-data-space mode
    holding IO forever") introduced a fixed 60 second timeout. Users may
    want to either disable or modify this timeout.

    Allow the out-of-data-space timeout to be configured using the
    'no_space_timeout' dm-thin-pool module param. Setting it to 0 will
    disable the timeout, resulting in IO being queued until more data space
    is added to the thin-pool.

    Signed-off-by: Mike Snitzer
    Signed-off-by: Greg Kroah-Hartman

    Mike Snitzer
     
  • commit 2fe2023adf695d08af5b598b2be3b288a95d563c upstream.

    Undo a feature introduced in v3.14 by commit fcd46b34425d
    "firewire: Enable remote DMA above 4 GB". That change raised the
    minimum address at which protocol drivers and user programs can register
    for request reception from 0x0001'0000'0000 to 0x8000'0000'0000.
    It turned out that at least one vendor-specific protocol exists which
    uses lower addresses: https://bugzilla.kernel.org/show_bug.cgi?id=76921

    For the time being, revert most of commit fcd46b34425d so that affected
    protocols work like with kernel v3.13 and before. Just keep the valid
    documentation parts from the regressing commit, and the ability to
    identify controllers which could be programmed to accept >32 bit
    physical DMA addresses. The rest of fcd46b34425d should probably be
    brought back as an optional instead of default feature.

    Reported-by: Fabien Spindler
    Signed-off-by: Stefan Richter
    Signed-off-by: Greg Kroah-Hartman

    Stefan Richter
     
  • commit e60cbeedc48d80689c249ab5dcc3c31ad0452dea upstream.

    Prior to commit 4266129964b8 ("[media] DocBook: Move all media docbook
    stuff into its own directory") it was possible to build only a single
    (or more) book(s) by calling, for example

    make htmldocs DOCBOOKS=80211.xml

    This now fails:

    cp: target `.../Documentation/DocBook//media_api' is not a directory

    Ignore errors from that copy to make this possible again.

    Fixes: 4266129964b8 ("[media] DocBook: Move all media docbook stuff into its own directory")
    Signed-off-by: Johannes Berg
    Acked-by: Randy Dunlap
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg
     

08 Jun, 2014

4 commits

  • commit 36189cc3cd57ab0f1cd75241f93fe01de928ac06 upstream.

    The hw_version 3 Elantech touchpad on the Gigabyte U2442 does not accept
    0x0b as initialization value for r10, this stand-alone version of the
    driver: http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2

    Uses 0x03 which does work, so this means not setting bit 3 of r10 which
    sets: "Enable Real H/W Resolution In Absolute mode"

    Which will result in half the x and y resolution we get with that bit set,
    so simply not setting it everywhere is not a solution. We've been unable to
    find a way to identify touchpads where setting the bit will fail, so this
    patch uses a dmi based blacklist for this.

    https://bugzilla.kernel.org/show_bug.cgi?id=61151

    Reported-by: Philipp Wolfer
    Tested-by: Philipp Wolfer
    Signed-off-by: Hans de Goede
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Hans de Goede
     
  • commit 1b31e9b76ef8c62291e698dfdb973499986a7f68 upstream.

    Add Device ID of Intel BayTrail SMBus Controller.

    Signed-off-by: Chew, Kean ho
    Signed-off-by: Chew, Chiau Ee
    Reviewed-by: Jean Delvare
    Signed-off-by: Wolfram Sang
    Cc: "Chang, Rebecca Swee Fun"
    Signed-off-by: Greg Kroah-Hartman

    Chew, Kean ho
     
  • commit 98b0f811aade1b7c6e7806c86aa0befd5919d65f upstream.

    The English and Korean translations were updated, the Chinese and Japanese
    weren't.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • commit cf7eb979116c2568e8bc3b6a7269c7a359864ace upstream.

    This is another great example of trainwreck engineering:

    commit 2646a0e529 (ARM: edma: Add EDMA crossbar event mux support)
    added support for using EDMA on peripherals which have no direct EDMA
    event mapping.

    The code compiles and does not explode in your face, but that's it.

    1) Reading an u16 array from an u32 device tree array simply does not
    work. Even if the function is named "edma_of_read_u32_to_s16_array".

    It merily calls of_property_read_u16_array. So the resulting 16bit
    array will have every other entry = 0.

    2) The DT entry for the xbar registers related to xbar has length 0x10
    instead of the real length: 0xfd0 - 0xf90 = 0x40.

    Not a real problem as it does not cross a page boundary, but
    wrong nevertheless.

    3) But none of this matters as the mapping never happens:

    After reading nonsense edma_of_read_u32_to_s16_array() invalidates
    the first array entry pair, so nobody can ever notice the
    braindamage by immediate explosion.

    Seems the QA criteria for this code was solely not to explode when
    someone adds edma-xbar-event-map entries to the DT. Goal achieved,
    congratulations!

    Not really helpful if someone wants to use edma on a device which
    requires a xbar mapping.

    Fix the issues by:

    - annotating the device tree entry with "/bits/ 16" as documented in
    the of_property_read_u16_array kernel doc

    - make the size of the xbar register mapping correct

    - invalidating the end of the array and not the start

    This convoluted mess wants to be completely rewritten as there is no
    point to keep the xbar_chan array memory and the iomapping of the xbar
    regs around forever. Marking the xbar mapped channels as used should
    be done right there.

    But that's a different issue and this patch is small enough to make it
    work and allows a simple backport for stable.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Sekhar Nori
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

06 May, 2014

3 commits

  • commit 80df28476505ed4e6701c3448c63c9229a50c655 upstream.

    As sysctl_hung_task_timeout_sec is unsigned long, when this value is
    larger then LONG_MAX/HZ, the function schedule_timeout_interruptible in
    watchdog will return immediately without sleep and with print :

    schedule_timeout: wrong timeout value ffffffffffffff83

    and then the funtion watchdog will call schedule_timeout_interruptible
    again and again. The screen will be filled with

    "schedule_timeout: wrong timeout value ffffffffffffff83"

    This patch does some check and correction in sysctl, to let the function
    schedule_timeout_interruptible allways get the valid parameter.

    Signed-off-by: Liu Hua
    Tested-by: Satoru Takeuchi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Liu Hua
     
  • commit 61f0319193c44adbbada920162d880b1fdb3aeb3 upstream.

    Signed-off-by: Wolfram Sang
    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Wolfram Sang
     
  • commit 12f6dd860cf8bf036c0bec38c00a53da71bcd43a upstream.

    Wolfram Sang pointed out that "efm32,$device" is non-standard. So use the
    common scheme and prefix device with "efm32-". The old compatible string
    is left in place until arch/arm/boot/dts/efm32* is fixed.

    Signed-off-by: Uwe Kleine-König
    Acked-by: Wolfram Sang
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Uwe Kleine-König
     

24 Mar, 2014

1 commit

  • Few platforms use external regulator to keep the ethernet MAC supplied.
    So, request and enable the regulator for driver functionality.

    Fixes: 66fda75f47dc (regulator: core: Replace direct ops->disable usage)
    Reported-by: Russell King
    Suggested-by: Markus Pargmann
    Signed-off-by: Nishanth Menon
    Signed-off-by: David S. Miller

    Nishanth Menon
     

21 Mar, 2014

1 commit


14 Mar, 2014

1 commit

  • 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
     

13 Mar, 2014

1 commit


10 Mar, 2014

1 commit

  • Pull ARM SoC fixes from from Olof Johansson:
    "A collection of fixes for ARM platforms. A little large due to us
    missing to do one last week, but there's nothing in particular here
    that is in itself large and scary.

    Mostly a handful of smaller fixes all over the place. The majority is
    made up of fixes for OMAP, but there are a few for others as well. In
    particular, there was a decision to rename a binding for the Broadcom
    pinctrl block that we need to go in before the final release since we
    then treat it as ABI"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: omap3-gta04: Add ti,omap36xx to compatible property to avoid problems with booting
    ARM: tegra: add LED options back into tegra_defconfig
    ARM: dts: omap3-igep: fix boot fail due wrong compatible match
    ARM: OMAP3: Fix pinctrl interrupts for core2
    pinctrl: Rename Broadcom Capri pinctrl binding
    pinctrl: refer to updated dt binding string.
    Update dtsi with new pinctrl compatible string
    ARM: OMAP: Kill warning in CPUIDLE code with !CONFIG_SMP
    ARM: OMAP2+: Add support for thumb mode on DT booted N900
    ARM: OMAP2+: clock: fix clkoutx2 with CLK_SET_RATE_PARENT
    ARM: OMAP4: hwmod: Fix SOFTRESET logic for OMAP4
    ARM: DRA7: hwmod data: correct the sysc data for spinlock
    ARM: OMAP5: PRM: Fix reboot handling
    ARM: sunxi: dt: Change the touchscreen compatibles
    ARM: sun7i: dt: Fix interrupt trigger types

    Linus Torvalds
     

08 Mar, 2014

1 commit

  • Pull device mapper fixes from Mike Snitzer:

    - dm-cache memory allocation failure fix
    - fix DM's Kconfig identation
    - dm-snapshot metadata corruption fix for bug introduced in 3.14-rc1
    - important refcount < 0 fix for the DM persistent data library's space
    map metadata interface which fixes corruption reported by a few
    dm-thinp users

    and last but not least:

    - more extensive fixes than ideal for dm-thinp's data resize capability
    (which has had growing pain much like we've seen from -ENOSPC
    handling of filesystems that mature).

    The end result is dm-thinp now handles metadata operation failure and
    no data space error conditions much better than before.

    * tag 'dm-3.14-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm space map metadata: fix refcount decrement below 0 which caused corruption
    dm thin: fix Documentation for held metadata root feature
    dm thin: fix noflush suspend IO queueing
    dm thin: fix deadlock in __requeue_bio_list
    dm thin: fix out of data space handling
    dm thin: ensure user takes action to validate data and metadata consistency
    dm thin: synchronize the pool mode during suspend
    dm snapshot: fix metadata corruption
    dm: fix Kconfig indentation
    dm cache mq: fix memory allocation failure for large cache devices

    Linus Torvalds
     

07 Mar, 2014

2 commits


06 Mar, 2014

1 commit

  • If a thin metadata operation fails the current transaction will abort,
    whereby causing potential for IO layers up the stack (e.g. filesystems)
    to have data loss. As such, set THIN_METADATA_NEEDS_CHECK_FLAG in the
    thin metadata's superblock which:
    1) requires the user verify the thin metadata is consistent (e.g. use
    thin_check, etc)
    2) suggests the user verify the thin data is consistent (e.g. use fsck)

    The only way to clear the superblock's THIN_METADATA_NEEDS_CHECK_FLAG is
    to run thin_repair.

    On metadata operation failure: abort current metadata transaction, set
    pool in read-only mode, and now set the needs_check flag.

    As part of this change, constraints are introduced or relaxed:
    * don't allow a pool to transition to write mode if needs_check is set
    * don't allow data or metadata space to be resized if needs_check is set
    * if a thin pool's metadata space is exhausted: the kernel will now
    force the user to take the pool offline for repair before the kernel
    will allow the metadata space to be extended.

    Also, update Documentation to include information about when the thin
    provisioning target commits metadata, how it handles metadata failures
    and running out of space.

    Signed-off-by: Mike Snitzer
    Signed-off-by: Joe Thornber

    Mike Snitzer
     

05 Mar, 2014

1 commit

  • Pull networking fixes from David Miller:

    1) Fix memory leak in ieee80211_prep_connection(), sta_info leaked on
    error. From Eytan Lifshitz.

    2) Unintentional switch case fallthrough in nft_reject_inet_eval(),
    from Patrick McHardy.

    3) Must check if payload lenth is a power of 2 in
    nft_payload_select_ops(), from Nikolay Aleksandrov.

    4) Fix mis-checksumming in xen-netfront driver, ip_hdr() is not in the
    correct place when we invoke skb_checksum_setup(). From Wei Liu.

    5) TUN driver should not advertise HW vlan offload features in
    vlan_features. Fix from Fernando Luis Vazquez Cao.

    6) IPV6_VTI needs to select NET_IPV_TUNNEL to avoid build errors, fix
    from Steffen Klassert.

    7) Add missing locking in xfrm_migrade_state_find(), we must hold the
    per-namespace xfrm_state_lock while traversing the lists. Fix from
    Steffen Klassert.

    8) Missing locking in ath9k driver, access to tid->sched must be done
    under ath_txq_lock(). Fix from Stanislaw Gruszka.

    9) Fix two bugs in TCP fastopen. First respect the size argument given
    to tcp_sendmsg() in the fastopen path, and secondly prevent
    tcp_send_syn_data() from potentially using order-5 allocations.
    From Eric Dumazet.

    10) Fix handling of default neigh garbage collection params, from Jiri
    Pirko.

    11) Fix cwnd bloat and over-inflation of RTT when transmit segmentation
    is in use. From Eric Dumazet.

    12) Missing initialization of Realtek r8169 driver's statistics
    seqlocks. Fix from Kyle McMartin.

    13) Fix RTNL assertion failures in 802.3ad and AB ARP monitor of bonding
    driver, from Ding Tianhong.

    14) Bonding slave release race can cause divide by zero, fix from
    Nikolay Aleksandrov.

    15) Overzealous return from neigh_periodic_work() causes reachability
    time to not be computed. Fix from Duain Jiong.

    16) Fix regression in ipv6_find_hdr(), it should not return -ENOENT when
    a specific target is specified and found. From Hans Schillstrom.

    17) Fix VLAN tag stripping regression in BNA driver, from Ivan Vecera.

    18) Tail loss probe can calculate bogus RTTs due to missing packet
    marking on retransmit. Fix from Yuchung Cheng.

    19) We cannot do skb_dst_drop() in iptunnel_pull_header() because
    multicast loopback detection in later code paths need access to
    skb_rtable(). Fix from Xin Long.

    20) The macvlan driver regresses in that it propagates lower device
    offload support disables into itself, causing severe slowdowns when
    running over a bridge. Provide the software offloads always on
    macvlan devices to deal with this and the regression is gone. From
    Vlad Yasevich.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (103 commits)
    macvlan: Add support for 'always_on' offload features
    net: sctp: fix sctp_sf_do_5_1D_ce to verify if we/peer is AUTH capable
    ip_tunnel:multicast process cause panic due to skb->_skb_refdst NULL pointer
    net: cpsw: fix cpdma rx descriptor leak on down interface
    be2net: isolate TX workarounds not applicable to Skyhawk-R
    be2net: Fix skb double free in be_xmit_wrokarounds() failure path
    be2net: clear promiscuous bits in adapter->flags while disabling promiscuous mode
    be2net: Fix to reset transparent vlan tagging
    qlcnic: dcb: a couple off by one bugs
    tcp: fix bogus RTT on special retransmission
    hsr: off by one sanity check in hsr_register_frame_in()
    can: remove CAN FD compatibility for CAN 2.0 sockets
    can: flexcan: factor out soft reset into seperate funtion
    can: flexcan: flexcan_remove(): add missing netif_napi_del()
    can: flexcan: fix transition from and to freeze mode in chip_{,un}freeze
    can: flexcan: factor out transceiver {en,dis}able into seperate functions
    can: flexcan: fix transition from and to low power mode in chip_{en,dis}able
    can: flexcan: flexcan_open(): fix error path if flexcan_chip_start() fails
    can: flexcan: fix shutdown: first disable chip, then all interrupts
    USB AX88179/178A: Support D-Link DUB-1312
    ...

    Linus Torvalds
     

04 Mar, 2014

1 commit

  • Pull clk framework fixes from Mike Turquette:
    "Clock framework and driver fixes, all of which fix user-visible
    regressions.

    There is a single framework fix that prevents dereferencing a NULL
    pointer when calling clk_get. The range of fixes for clock driver
    regressions spans memory leak fixes, touching the wrong registers that
    cause things to explode, misconfigured clock rates that result in
    non-responsive devices and even some boot failures. The most benign
    fix is DT binding doc typo. It is a stable ABI exposed from the
    kernel that was introduced in -rc1, so best to fix it now"

    * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux: (25 commits)
    clk:at91: Fix memory leak in of_at91_clk_master_setup()
    clk: nomadik: fix multiplatform problem
    clk: Correct handling of NULL clk in __clk_{get, put}
    clk: shmobile: Fix typo in MSTP clock DT bindings
    clk: shmobile: rcar-gen2: Fix qspi divisor
    clk: shmobile: rcar-gen2: Fix clock parent for all non-PLL clocks
    clk: tegra124: remove gr2d and gr3d clocks
    clk: tegra: Fix vic03 mux index
    clk: shmobile: rcar-gen2: Fix qspi divisor
    clk: shmobile: rcar-gen2: Fix clock parent all non-PLL clocks
    clk: tegra: use max divider if divider overflows
    clk: tegra: cclk_lp has a pllx/2 divider
    clk: tegra: fix sdmmc clks on Tegra1x4
    clk: tegra: fix host1x clock on Tegra124
    clk: tegra: PLLD2 fixes for hdmi
    clk: tegra: Fix PLLD mnp table
    clk: tegra: Fix PLLP rate table
    clk: tegra: Correct clock number for UARTE
    clk: tegra: Add missing Tegra20 fuse clks
    ARM: keystone: dts: fix clkvcp3 control register address
    ...

    Linus Torvalds
     

03 Mar, 2014

1 commit

  • In commit e2d265d3b587 (canfd: add support for CAN FD in CAN_RAW sockets)
    CAN FD frames with a payload length up to 8 byte are passed to legacy
    sockets where the CAN FD support was not enabled by the application.

    After some discussions with developers at a fair this well meant feature
    leads to confusion as no clean switch for CAN / CAN FD is provided to the
    application programmer. Additionally a compatibility like this for legacy
    CAN_RAW sockets requires some compatibility handling for the sending, e.g.
    make CAN2.0 frames a CAN FD frame with BRS at transmission time (?!?).

    This will become a mess when people start to develop applications with
    real CAN FD hardware. This patch reverts the bad compatibility code
    together with the documentation describing the removed feature.

    Acked-by: Stephane Grosjean
    Signed-off-by: Oliver Hartkopp
    Signed-off-by: Marc Kleine-Budde

    Oliver Hartkopp
     

02 Mar, 2014

1 commit

  • Pull slave-dma fixes from Vinod Koul:
    "This request brings you two small fixes. First one for fixing
    dereference of freed descriptor and second for fixing sdma bindings
    for it to work for imx25.

    I was planning to send this about 10days ago but then I had to proceed
    on my paternity leave and didnt get chance to send this. Now got a
    bit of time from dady duties :)"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    dma: sdma: Add imx25 compatible
    dma: ste_dma40: don't dereference free:d descriptor

    Linus Torvalds
     

25 Feb, 2014

1 commit

  • The compatible string of the Broadcom Capri pinctrl driver is renamed to
    "brcm,bcm11351-pinctrl" to match the machine binding here:
    Documentation/devicetree/bindings/arm/bcm/bcm11351.txt

    Signed-off-by: Sherman Yin
    Reviewed-by: Matt Porter
    Acked-by: Linus Walleij
    Signed-off-by: Christian Daudt

    Sherman Yin
     

24 Feb, 2014

3 commits

  • The DT bindings document a renesas,indices property, while the code, the
    DT example and the DT sources all use renesas,clock-indices. Fix the
    documentation.

    The shmobile mstp DT bindings have been merged in v3.14-rc1 with a bug
    in the DT ABI, a fix during the -rc series is appropriate.

    Reported-by: Geert Uytterhoeven
    Signed-off-by: Laurent Pinchart
    Acked-by: Simon Horman

    Laurent Pinchart
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A collection of fixes for ARM platforms. Most are fixes for DTS
    files, mostly from DT conversion on OMAP which is still finding a few
    issues here and there.

    There's a couple of small stale code removal patches that we usually
    queue for the next release instead, but they seemed harmless enough to
    bring in now.

    Also, a fix for backlight on some PXA platforms, and a cache
    configuration fix for Tegra, etc"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
    MAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer
    ARM: tegra: only run PL310 init on systems with one
    ARM: tegra: Add head numbers to display controllers
    ARM: imx6: build pm-imx6q.c independently of CONFIG_PM
    ARM: tegra: fix RTC0 alias for Cardhu
    ARM: dove: dt: revert PMU interrupt controller node
    Documentation: dt: OMAP: Update Overo/Tobi
    ARM: dts: Add support for both OMAP35xx and OMAP36xx Overo/Tobi
    ARM: dts: omap3-tobi: Use the correct vendor prefix
    ARM: dts: omap3-tobi: Fix boot with OMAP36xx-based Overo
    ARM: OMAP2+: Remove legacy macros for zoom platforms
    ARM: OMAP2+: Remove MACH_NOKIA_N800
    ARM: dts: N900: add missing compatible property
    ARM: dts: N9/N950: fix boot hang with 3.14-rc1
    ARM: OMAP1: nokia770: enable tahvo-usb
    ARM: OMAP2+: gpmc: fix: DT ONENAND child nodes not probed when MTD_ONENAND is built as module
    ARM: OMAP2+: gpmc: fix: DT NAND child nodes not probed when MTD_NAND is built as module
    ARM: dts: omap3-gta04: Fix mmc1 properties.
    ARM: dts: omap3-gta04: Fix 'aux' gpio key flags.
    ARM: OMAP2+: add missing ARCH_HAS_OPP
    ...

    Linus Torvalds
     
  • Pull TTY revert from Greg KH:
    "Here is a single commit, a revert of a sysfs file change that ended up
    breaking a userspace tool"

    * tag 'tty-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    Revert "tty: Set correct tty name in 'active' sysfs attribute"

    Linus Torvalds