1. 20 Mar, 2015 4 commits
  2. 19 Mar, 2015 14 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · b314acac
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "An update to Synaptics driver that makes it usable with the 2015
        lineup from Lenovo"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Revert "Input: synaptics - use dmax in input_mt_assign_slots"
        Input: synaptics - remove X250 from the topbuttonpad list
        Input: synaptics - remove X1 Carbon 3rd gen from the topbuttonpad list
        Input: synaptics - re-route tracksticks buttons on the Lenovo 2015 series
        Input: synaptics - remove TOPBUTTONPAD property for Lenovos 2015
        Input: synaptics - retrieve the extended capabilities in query $10
        Input: synaptics - do not retrieve the board id on old firmwares
        Input: synaptics - handle spurious release of trackstick buttons
        Input: synaptics - fix middle button on Lenovo 2015 products
        Input: synaptics - skip quirks when post-2013 dimensions
        Input: synaptics - support min/max board id in min_max_pnpid_table
        Input: synaptics - remove obsolete min/max quirk for X240
        Input: synaptics - query min dimensions for fw v8.1
        Input: synaptics - log queried and quirked dimension values
        Input: synaptics - split synaptics_resolution(), query first
      b314acac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 1e744c93
      Linus Torvalds authored
      Pull fuse fixes from Miklos Szeredi:
       "This fixes bugs in zero-copy splice to the fuse device"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: explicitly set /dev/fuse file's private_data
        fuse: set stolen page uptodate
        fuse: notify: don't move pages
      1e744c93
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · e409ac35
      Linus Torvalds authored
      Pull overlayfs fixes from Miklos Szeredi:
       "This fixes minor issues with the multi-layer update in v4.0"
      
      * 'overlayfs-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: upper fs should not be R/O
        ovl: check lowerdir amount for non-upper mount
        ovl: print error message for invalid mount options
      e409ac35
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.0-rc4' of git://git.linaro.org/people/ulf.hansson/mmc · 32dafb94
      Linus Torvalds authored
      Pull MMC fix from Ulf Hansson:
       "MMC core: fix error path in mmc_pwrseq_simple_alloc()"
      
      * tag 'mmc-v4.0-rc4' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: pwrseq_simple: fix error path in mmc_pwrseq_simple_alloc
      32dafb94
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 01d62ee5
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Here is a slew of pin control fixes I've accumulated for the v4.0
        kernel.  Nothing special, just driver fixes (mainly embedded Intel it
        seems) and a misunderstanding regarding the stub functions was
        reverted:
      
         - Fix up consumer return values on pin control stubs.
         - Four patches fixing up the interrupt handling and sleep context
           save in the Baytrail driver.
         - Make default output directions work properly in the Cherryview
           driver.
         - Fix interrupt locking in the AT91 driver.
         - Fix setting interrupt generating lines as input in the sunxi
           driver"
      
      * tag 'pinctrl-v4.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: sun4i: GPIOs configured as irq must be set to input before reading
        pinctrl: at91: move lock/unlock_as_irq calls into request/release
        pinctrl: update direction_output function of cherryview driver
        pinctrl: baytrail: Save pin context over system sleep
        pinctrl: baytrail: Rework interrupt handling
        pinctrl: baytrail: Clear interrupt triggering from pins that are in GPIO mode
        pinctrl: baytrail: Relax GPIO request rules
        Revert "pinctrl: consumer: use correct retval for placeholder functions"
      01d62ee5
    • Linus Torvalds's avatar
      Merge tag 'nios2-fixes-v4.0-rc5' of git://git.rocketboards.org/linux-socfpga-next · 18eda522
      Linus Torvalds authored
      Pull two arch/nios2 fixes from Ley Foon Tan:
       - Remove ucontext.h from exported arch headers
       - nios2: mm: do not invoke OOM killer on kernel fault OOM
      
      * tag 'nios2-fixes-v4.0-rc5' of git://git.rocketboards.org/linux-socfpga-next:
        nios2: mm: do not invoke OOM killer on kernel fault OOM
        nios2: Remove ucontext.h from exported arch headers
      18eda522
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · a93fc153
      Linus Torvalds authored
      Pull IDE fix from David Miller:
       "Just one fix to convert a by-hand conversion of jiffies to msecs, from
        Nicholas McGuire"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide_tape: convert jiffies with jiffies_to_msecs
      a93fc153
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 22283c82
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
      
       1) Some command cases of semtimedop() not even handled due to miscoded
          comparison on sparc64.  From Rob Gardner.
      
       2) Due to two bugs, /proc/kcore wan't working properly on sparc.
      
       3) Make sure fatal traps stop all running cpus, from Dave Kleikamp.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Fix /proc/kcore
        sparc: semtimedop() unreachable due to comparison error
        sparc: io_64.h: Replace io function-link macros
        sparc64: fatal trap should stop all cpus
        arch: sparc: kernel: starfire.c: Remove unused function
        arch: sparc: kernel: traps_64.c: Remove some unused functions
      22283c82
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 47226fe1
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix packet header offset calculation in _decode_session6(), from
          Hajime Tazaki.
      
       2) Fix route leak in error paths of xfrm_lookup(), from Huaibin Wang.
      
       3) Be sure to clear state properly when scans fail in iwlwifi mvm code,
          from Luciano Coelho.
      
       4) iwlwifi tries to stop scans that aren't actually running, also from
          Luciano Coelho.
      
       5) mac80211 should drop mesh frames that are not encrypted, fix from
          Bob Copeland.
      
       6) Add new device ID to b43 wireless driver for BCM432228 chips, from
          Rafał Miłecki.
      
       7) Fix accidental addition of members after variable sized array in
          struct tc_u_hnode, from WANG Cong.
      
       8) Don't re-enable interrupts until after we call napi_complete() in
          ibmveth and WIZnet drivers, frm Yongbae Park.
      
       9) Fix regression in vlan tag handling of fec driver, from Fugang Duan.
      
      10) If a network namespace change fails during rtnl_newlink(), we don't
          unwind the device registry properly.
      
      11) Fix two TCP regressions, from Neal Cardwell:
        - Don't allow snd_cwnd_cnt to accumulate huge values due to missing
          test in tcp_cong_avoid_ai().
        - Restore CUBIC back to advancing cwnd by 1.5x packets per RTT.
      
      12) Fix performance regression in xne-netback involving push TX
          notifications, from David Vrabel.
      
      13) __skb_tstamp_tx() can be called with a NULL sk pointer, do not
          dereference blindly.  From Willem de Bruijn.
      
      14) Fix potential stack overflow in RDS protocol stack, from Arnd
          Bergmann.
      
      15) VXLAN_VID_MASK used incorrectly in new remote checksum offload
          support of VXLAN driver.  Fix from Alexey Kodanev.
      
      16) Fix too small netlink SKB allocation in inet_diag layer, from Eric
          Dumazet.
      
      17) ieee80211_check_combinations() does not count interfaces correctly,
          from Andrei Otcheretianski.
      
      18) Hardware feature determination in bxn2x driver references a piece of
          software state that actually isn't initialized yet, fix from Michal
          Schmidt.
      
      19) inet_csk_wait_for_connect() needs a sched_annotate_sleep()
          annoation, from Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (56 commits)
        Revert "net: cx82310_eth: use common match macro"
        net/mlx4_en: Set statistics bitmap at port init
        IB/mlx4: Saturate RoCE port PMA counters in case of overflow
        net/mlx4_en: Fix off-by-one in ethtool statistics display
        IB/mlx4: Verify net device validity on port change event
        act_bpf: allow non-default TC_ACT opcodes as BPF exec outcome
        Revert "smc91x: retrieve IRQ and trigger flags in a modern way"
        inet: Clean up inet_csk_wait_for_connect() vs. might_sleep()
        ip6_tunnel: fix error code when tunnel exists
        netdevice.h: fix ndo_bridge_* comments
        bnx2x: fix encapsulation features on 57710/57711
        mac80211: ignore CSA to same channel
        nl80211: ignore HT/VHT capabilities without QoS/WMM
        mac80211: ask for ECSA IE to be considered for beacon parse CRC
        mac80211: count interfaces correctly for combination checks
        isdn: icn: use strlcpy() when parsing setup options
        rxrpc: bogus MSG_PEEK test in rxrpc_recvmsg()
        caif: fix MSG_OOB test in caif_seqpkt_recvmsg()
        bridge: reset bridge mtu after deleting an interface
        can: kvaser_usb: Fix tx queue start/stop race conditions
        ...
      47226fe1
    • Tom Van Braeckel's avatar
      fuse: explicitly set /dev/fuse file's private_data · 94e4fe2c
      Tom Van Braeckel authored
      The misc subsystem (which is used for /dev/fuse) initializes private_data to
      point to the misc device when a driver has registered a custom open file
      operation, and initializes it to NULL when a custom open file operation has
      *not* been provided.
      
      This subtle quirk is confusing, to the point where kernel code registers
      *empty* file open operations to have private_data point to the misc device
      structure. And it leads to bugs, where the addition or removal of a custom open
      file operation surprisingly changes the initial contents of a file's
      private_data structure.
      
      So to simplify things in the misc subsystem, a patch [1] has been proposed to
      *always* set the private_data to point to the misc device, instead of only
      doing this when a custom open file operation has been registered.
      
      But before this patch can be applied we need to modify drivers that make the
      assumption that a misc device file's private_data is initialized to NULL
      because they didn't register a custom open file operation, so they don't rely
      on this assumption anymore. FUSE uses private_data to store the fuse_conn and
      errors out if this is not initialized to NULL at mount time.
      
      Hence, we now set a file's private_data to NULL explicitly, to be independent
      of whatever value the misc subsystem initializes it to by default.
      
      [1] https://lkml.org/lkml/2014/12/4/939Reported-by: default avatarGiedrius Statkevicius <giedriuswork@gmail.com>
      Reported-by: default avatarThierry Reding <thierry.reding@gmail.com>
      Signed-off-by: default avatarTom Van Braeckel <tomvanbraeckel@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      94e4fe2c
    • NeilBrown's avatar
      mmc: pwrseq_simple: fix error path in mmc_pwrseq_simple_alloc · 6b7a783e
      NeilBrown authored
      The current error-path code (when gpiod_get_index() reports
      an error) can never free pwrseq->reset_gpios[0], but might
      try to tree pwrseq->reset_gpios[-1], which has unfortunate
      consequences.
      Signed-off-by: default avatarNeilBrown <neil@brown.name>
      Fixes: 934f1f48Acked-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Reported-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      6b7a783e
    • Nicholas Mc Guire's avatar
      ide_tape: convert jiffies with jiffies_to_msecs · 84215964
      Nicholas Mc Guire authored
      Use jiffies_to_msecs for converting jiffies as it handles all of the corner
      cases reliably and also helps readability. The printk format is fixed up
      as jiffies_to_msecs returns unsigned int not unsigned long.
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      84215964
    • Ondrej Zary's avatar
      Revert "net: cx82310_eth: use common match macro" · 8d006e01
      Ondrej Zary authored
      This reverts commit 11ad714b because
      it breaks cx82310_eth.
      
      The custom USB_DEVICE_CLASS macro matches
      bDeviceClass, bDeviceSubClass and bDeviceProtocol
      but the common USB_DEVICE_AND_INTERFACE_INFO matches
      bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol instead, which are
      not specified.
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d006e01
    • David S. Miller's avatar
      sparc: Fix /proc/kcore · 3c08158e
      David S. Miller authored
      /proc/kcore investigates the "System RAM" elements in /proc/iomem to
      initialize it's memory tables.  Therefore we have to register them
      before it tries to do so.  kcore uses device_initcall() so let's
      use arch_initcall() for the registry.
      
      Also we need ARCH_PROC_KCORE_TEXT to get the virtual addresses of
      the kernel image correct.
      Reported-by: default avatarDavid Ahern <david.ahern@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c08158e
  3. 18 Mar, 2015 15 commits
  4. 17 Mar, 2015 7 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c5861658
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes from all around the place:
      
         - a KASLR related revert where we ran out of time to get a fix - this
           represents a substantial portion of the diffstat,
      
         - two FPU fixes,
      
         - two x86 platform fixes: an ACPI reduced-hw fix and a NumaChip fix,
      
         - an entry code fix,
      
         - and a VDSO build fix"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "x86/mm/ASLR: Propagate base load address calculation"
        x86/fpu: Drop_fpu() should not assume that tsk equals current
        x86/fpu: Avoid math_state_restore() without used_math() in __restore_xstate_sig()
        x86/apic/numachip: Fix sibling map with NumaChip
        x86/platform, acpi: Bypass legacy PIC and PIT in ACPI hardware reduced mode
        x86/asm/entry/32: Fix user_mode() misuses
        x86/vdso: Fix the build on GCC5
      c5861658
    • Linus Torvalds's avatar
      Merge branches 'perf-urgent-for-linus' and 'timers-urgent-for-linus' of... · 13326e5a
      Linus Torvalds authored
      Merge branches 'perf-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull perf and timer fixes from Ingo Molnar:
       "Two small perf fixes:
         - kernel side context leak fix
         - tooling crash fix
      
        And two clocksource driver fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix context leak in put_event()
        perf annotate: Fix fallback to unparsed disassembler line
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clockevents: sun5i: Fix setup_irq init sequence
        clocksource: efm32: Fix a NULL pointer dereference
      13326e5a
    • Benjamin Tissoires's avatar
      HID: wacom: check for wacom->shared before following the pointer · e2c7d887
      Benjamin Tissoires authored
      486b908d (HID: wacom: do not send pen events before touch is up/forced out)
      introduces a kernel oops when plugging a tablet without touch.
      
      wacom->shared is null for these devices so this leads to a null pointer
      exception.
      
      Change the condition to make it clear that what we need is wacom->shared
      not NULL.
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e2c7d887
    • Robert Jarzmik's avatar
      Revert "smc91x: retrieve IRQ and trigger flags in a modern way" · 8d7d9cca
      Robert Jarzmik authored
      The commit breaks the legacy platforms, ie. these not using device-tree,
      and setting up the interrupt resources with a flag to activate edge
      detection. The issue was found on the zylonite platform.
      
      The reason is that zylonite uses platform resources to pass the interrupt number
      and the irq flags (here IORESOURCE_IRQ_HIGHEDGE). It expects the driver to
      request the irq with these flags, which in turn setups the irq as high edge
      triggered.
      
      After the patch, this was supposed to be taken care of with :
        irq_resflags = irqd_get_trigger_type(irq_get_irq_data(ndev->irq));
      
      But irq_resflags is 0 for legacy platforms, while for example in
      arch/arm/mach-pxa/zylonite.c, in struct resource smc91x_resources[] the
      irq flag is specified. This breaks zylonite because the interrupt is not
      setup as triggered, and hardware doesn't provide interrupts.
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d7d9cca
    • Eric Dumazet's avatar
      inet: Clean up inet_csk_wait_for_connect() vs. might_sleep() · cb7cf8a3
      Eric Dumazet authored
      I got the following trace with current net-next kernel :
      
      [14723.885290] WARNING: CPU: 26 PID: 22658 at kernel/sched/core.c:7285 __might_sleep+0x89/0xa0()
      [14723.885325] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff810e8734>] prepare_to_wait_exclusive+0x34/0xa0
      [14723.885355] CPU: 26 PID: 22658 Comm: netserver Not tainted 4.0.0-dbg-DEV #1379
      [14723.885359]  ffffffff81a223a8 ffff881fae9e7ca8 ffffffff81650b5d 0000000000000001
      [14723.885364]  ffff881fae9e7cf8 ffff881fae9e7ce8 ffffffff810a72e7 0000000000000000
      [14723.885367]  ffffffff81a57620 000000000000093a 0000000000000000 ffff881fae9e7e64
      [14723.885371] Call Trace:
      [14723.885377]  [<ffffffff81650b5d>] dump_stack+0x4c/0x65
      [14723.885382]  [<ffffffff810a72e7>] warn_slowpath_common+0x97/0xe0
      [14723.885386]  [<ffffffff810a73e6>] warn_slowpath_fmt+0x46/0x50
      [14723.885390]  [<ffffffff810f4c5d>] ? trace_hardirqs_on_caller+0x10d/0x1d0
      [14723.885393]  [<ffffffff810e8734>] ? prepare_to_wait_exclusive+0x34/0xa0
      [14723.885396]  [<ffffffff810e8734>] ? prepare_to_wait_exclusive+0x34/0xa0
      [14723.885399]  [<ffffffff810ccdc9>] __might_sleep+0x89/0xa0
      [14723.885403]  [<ffffffff81581846>] lock_sock_nested+0x36/0xb0
      [14723.885406]  [<ffffffff815829a3>] ? release_sock+0x173/0x1c0
      [14723.885411]  [<ffffffff815ea1f7>] inet_csk_accept+0x157/0x2a0
      [14723.885415]  [<ffffffff810e8900>] ? abort_exclusive_wait+0xc0/0xc0
      [14723.885419]  [<ffffffff8161b96d>] inet_accept+0x2d/0x150
      [14723.885424]  [<ffffffff8157db6f>] SYSC_accept4+0xff/0x210
      [14723.885428]  [<ffffffff8165a451>] ? retint_swapgs+0xe/0x44
      [14723.885431]  [<ffffffff810f4c5d>] ? trace_hardirqs_on_caller+0x10d/0x1d0
      [14723.885437]  [<ffffffff81369c0e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [14723.885441]  [<ffffffff8157ef40>] SyS_accept+0x10/0x20
      [14723.885444]  [<ffffffff81659872>] system_call_fastpath+0x12/0x17
      [14723.885447] ---[ end trace ff74cd83355b1873 ]---
      
      In commit 26cabd31
      Peter added a sched_annotate_sleep() in sk_wait_event()
      
      Is the following patch needed as well ?
      
      Alternative would be to use sk_wait_event() from inet_csk_wait_for_connect()
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cb7cf8a3
    • Nicolas Dichtel's avatar
      ip6_tunnel: fix error code when tunnel exists · 37355565
      Nicolas Dichtel authored
      After commit 2b0bb01b, the kernel returns -ENOBUFS when user tries to add
      an existing tunnel with ioctl API:
      $ ip -6 tunnel add ip6tnl1 mode ip6ip6 dev eth1
      add tunnel "ip6tnl0" failed: No buffer space available
      
      It's confusing, the right error is EEXIST.
      
      This patch also change a bit the code returned:
       - ENOBUFS -> ENOMEM
       - ENOENT -> ENODEV
      
      Fixes: 2b0bb01b ("ip6_tunnel: Return an error when adding an existing tunnel.")
      CC: Steffen Klassert <steffen.klassert@secunet.com>
      Reported-by: default avatarPierre Cheynier <me@pierre-cheynier.net>
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      37355565
    • Nicolas Dichtel's avatar
      netdevice.h: fix ndo_bridge_* comments · ad41faa8
      Nicolas Dichtel authored
      The argument 'flags' was missing in ndo_bridge_setlink().
      ndo_bridge_dellink() was missing.
      
      Fixes: 407af329 ("bridge: Add netlink interface to configure vlans on bridge ports")
      Fixes: add511b3 ("bridge: add flags argument to ndo_bridge_setlink and ndo_bridge_dellink")
      CC: Vlad Yasevich <vyasevic@redhat.com>
      CC: Roopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ad41faa8