13 Feb, 2014

32 commits


12 Feb, 2014

2 commits

  • Pull s390 bugfixes from Martin Schwidefsky:
    "A collection a bug fixes. Most of them are minor but two of them are
    more severe. The linkage stack bug can be used by user space to force
    an oops, with panic_on_oops this is a denial-of-service. And the dump
    memory detection issue can cause incomplete memory dumps"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/cio: improve cio_commit_config
    s390: fix kernel crash due to linkage stack instructions
    s390/dump: Fix dump memory detection
    s390/appldata: restore missing init_virt_timer()
    s390/qdio: correct program-controlled interruption checking
    s390/qdio: for_each macro correctness

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) Fix flexcan build on big endian, from Arnd Bergmann

    2) Correctly attach cpsw to GPIO bitbang MDIO drive, from Stefan Roese

    3) udp_add_offload has to use GFP_ATOMIC since it can be invoked from
    non-sleepable contexts. From Or Gerlitz

    4) vxlan_gro_receive() does not iterate over all possible flows
    properly, fix also from Or Gerlitz

    5) CAN core doesn't use a proper SKB destructor when it hooks up
    sockets to SKBs. Fix from Oliver Hartkopp

    6) ip_tunnel_xmit() can use an uninitialized route pointer, fix from
    Eric Dumazet

    7) Fix address family assignment in IPVS, from Michal Kubecek

    8) Fix ath9k build on ARM, from Sujith Manoharan

    9) Make sure fail_over_mac only applies for the correct bonding modes,
    from Ding Tianhong

    10) The udp offload code doesn't use RCU correctly, from Shlomo Pongratz

    11) Handle gigabit features properly in generic PHY code, from Florian
    Fainelli

    12) Don't blindly invoke link operations in
    rtnl_link_get_slave_info_data_size, they are optional. Fix from
    Fernando Luis Vazquez Cao

    13) Add USB IDs for Netgear Aircard 340U, from Bjørn Mork

    14) Handle netlink packet padding properly in openvswitch, from Thomas
    Graf

    15) Fix oops when deleting chains in nf_tables, from Patrick McHardy

    16) Fix RX stalls in xen-netback driver, from Zoltan Kiss

    17) Fix deadlock in mac80211 stack, from Emmanuel Grumbach

    18) inet_nlmsg_size() forgets to consider ifa_cacheinfo, fix from Geert
    Uytterhoeven

    19) tg3_change_mtu() can deadlock, fix from Nithin Sujir

    20) Fix regression in setting SCTP local source addresses on accepted
    sockets, caused by some generic ipv6 socket changes. Fix from
    Matija Glavinic Pecotic

    21) IPPROTO_* must be pure defines, otherwise module aliases don't get
    constructed properly. Fix from Jan Moskyto

    22) IPV6 netconsole setup doesn't work properly unless an explicit
    source address is specified, fix from Sabrina Dubroca

    23) Use __GFP_NORETRY for high order skb page allocations in
    sock_alloc_send_pskb and skb_page_frag_refill. From Eric Dumazet

    24) Fix a regression added in netconsole over bridging, from Cong Wang

    25) TCP uses an artificial offset of 1ms for SRTT, but this doesn't jive
    well with TCP pacing which needs the SRTT to be accurate. Fix from
    Eric Dumazet

    26) Several cases of missing header file includes from Rashika Kheria

    27) Add ZTE MF667 device ID to qmi_wwan driver, from Raymond Wanyoike

    28) TCP Small Queues doesn't handle nonagle properly in some corner
    cases, fix from Eric Dumazet

    29) Remove extraneous read_unlock in bond_enslave, whoops. From Ding
    Tianhong

    30) Fix 9p trans_virtio handling of vmalloc buffers, from Richard Yao

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (136 commits)
    6lowpan: fix lockdep splats
    alx: add missing stats_lock spinlock init
    9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
    bonding: remove unwanted bond lock for enslave processing
    USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support
    tcp: tsq: fix nonagle handling
    bridge: Prevent possible race condition in br_fdb_change_mac_address
    bridge: Properly check if local fdb entry can be deleted when deleting vlan
    bridge: Properly check if local fdb entry can be deleted in br_fdb_delete_by_port
    bridge: Properly check if local fdb entry can be deleted in br_fdb_change_mac_address
    bridge: Fix the way to check if a local fdb entry can be deleted
    bridge: Change local fdb entries whenever mac address of bridge device changes
    bridge: Fix the way to find old local fdb entries in br_fdb_change_mac_address
    bridge: Fix the way to insert new local fdb entries in br_fdb_changeaddr
    bridge: Fix the way to find old local fdb entries in br_fdb_changeaddr
    tcp: correct code comment stating 3 min timeout for FIN_WAIT2, we only do 1 min
    net: vxge: Remove unused device pointer
    net: qmi_wwan: add ZTE MF667
    3c59x: Remove unused pointer in vortex_eisa_cleanup()
    net: fix 'ip rule' iif/oif device rename
    ...

    Linus Torvalds
     

11 Feb, 2014

6 commits

  • Trivial fix for init time stack trace occuring in
    alx_get_stats64 upon start up. Should have been part of
    commit adding the spinlock:
    f1b6b106 alx: add alx_get_stats64 operation

    Signed-off-by: John Greene
    Signed-off-by: David S. Miller

    John Greene
     
  • The bond enslave processing don't hold bond->lock anymore,
    so release an unlocked rw lock will cause warning message,
    remove the unwanted read_unlock(&bond->lock).

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

    dingtianhong
     
  • Signed-off-by: Liu Junliang
    Signed-off-by: David S. Miller

    Liu Junliang
     
  • If you do

    echo 0 > /sys/module/edac_core/parameters/edac_mc_poll_msec

    the following stack trace is output because the edac module is not
    designed to poll with a timeout of zero.

    WARNING: CPU: 12 PID: 0 at lib/list_debug.c:33 __list_add+0xac/0xc0()
    list_add corruption. prev->next should be next (ffff8808291dd1b8), but was (null). (prev=ffff8808286fe3f8).
    Modules linked in: sg nfsv3 rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache cfg80211 rfkill x86_pkg_temp_thermal coretemp kvm_intel kvm ixgbe e1000e crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt ptp sb_edac iTCO_vendor_support pps_core mdio ipmi_devintf edac_core ioatdma microcode shpchp lpc_ich pcspkr i2c_i801 dca mfd_core ipmi_si wmi ipmi_msghandler nfsd auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c sd_mod sr_mod cdrom crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect sysimgblt isci i2c_algo_bit drm_kms_helper ttm drm libsas ahci libahci scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod
    CPU: 12 PID: 0 Comm: swapper/12 Not tainted 3.13.0+ #1
    Hardware name: Intel Corporation LH Pass ........../SVRBD-ROW_T, BIOS SE5C600.86B.01.08.0003.022620131521 02/26/2013
    Call Trace:

    __list_add+0xac/0xc0
    __internal_add_timer+0xab/0x130
    internal_add_timer+0x17/0x40
    mod_timer_pinned+0xca/0x170
    intel_pstate_timer_func+0x28a/0x380
    call_timer_fn+0x36/0x100
    run_timer_softirq+0x1ff/0x2f0
    __do_softirq+0xf5/0x2e0
    irq_exit+0x10d/0x120
    smp_apic_timer_interrupt+0x45/0x60
    apic_timer_interrupt+0x6d/0x80

    cpuidle_idle_call+0xb9/0x1f0
    arch_cpu_idle+0xe/0x30
    cpu_startup_entry+0x9e/0x240
    start_secondary+0x1e4/0x290

    kernel BUG at kernel/timer.c:1084!
    invalid opcode: 0000 [#1] SMP
    Modules linked in: sg nfsv3 rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache cfg80211 rfkill x86_pkg_temp_thermal coretemp kvm_intel kvm ixgbe e1000e crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt ptp sb_edac iTCO_vendor_support pps_core mdio ipmi_devintf edac_core ioatdma microcode shpchp lpc_ich pcspkr i2c_i801 dca mfd_core ipmi_si wmi ipmi_msghandler nfsd auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c sd_mod sr_mod cdrom crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect sysimgblt isci i2c_algo_bit drm_kms_helper ttm drm libsas ahci libahci scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod
    CPU: 12 PID: 0 Comm: swapper/12 Tainted: G W 3.13.0+ #1
    Hardware name: Intel Corporation LH Pass ........../SVRBD-ROW_T, BIOS SE5C600.86B.01.08.0003.022620131521 02/26/2013
    Call Trace:

    run_timer_softirq+0x245/0x2f0
    __do_softirq+0xf5/0x2e0
    irq_exit+0x10d/0x120
    smp_apic_timer_interrupt+0x45/0x60
    apic_timer_interrupt+0x6d/0x80

    cpuidle_idle_call+0xb9/0x1f0
    arch_cpu_idle+0xe/0x30
    cpu_startup_entry+0x9e/0x240
    start_secondary+0x1e4/0x290
    RIP cascade+0x93/0xa0

    WARNING: CPU: 36 PID: 1154 at kernel/workqueue.c:1461 __queue_delayed_work+0xed/0x1a0()
    Modules linked in: sg nfsv3 rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache cfg80211 rfkill x86_pkg_temp_thermal coretemp kvm_intel kvm ixgbe e1000e crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt ptp sb_edac iTCO_vendor_support pps_core mdio ipmi_devintf edac_core ioatdma microcode shpchp lpc_ich pcspkr i2c_i801 dca mfd_core ipmi_si wmi ipmi_msghandler nfsd auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c sd_mod sr_mod cdrom crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect sysimgblt isci i2c_algo_bit drm_kms_helper ttm drm libsas ahci libahci scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod
    CPU: 36 PID: 1154 Comm: kworker/u481:3 Tainted: G W 3.13.0+ #1
    Hardware name: Intel Corporation LH Pass ........../SVRBD-ROW_T, BIOS SE5C600.86B.01.08.0003.022620131521 02/26/2013
    Workqueue: edac-poller edac_mc_workq_function [edac_core]
    Call Trace:
    dump_stack+0x45/0x56
    warn_slowpath_common+0x7d/0xa0
    warn_slowpath_null+0x1a/0x20
    __queue_delayed_work+0xed/0x1a0
    queue_delayed_work_on+0x27/0x50
    edac_mc_workq_function+0x72/0xa0 [edac_core]
    process_one_work+0x17b/0x460
    worker_thread+0x11b/0x400
    kthread+0xd2/0xf0
    ret_from_fork+0x7c/0xb0

    This patch adds a range check in the edac_mc_poll_msec code to check for 0.

    Signed-off-by: Prarit Bhargava
    Cc: Doug Thompson
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prarit Bhargava
     
  • drivers/md/bcache/extents.c: In function `btree_ptr_bad_expensive':
    drivers/md/bcache/extents.c:196: warning: format `%li' expects type `long int', but argument 4 has type `size_t'

    Signed-off-by: Geert Uytterhoeven
    Cc: Kent Overstreet
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • i2o_cfg_compat_ioctl(I2OGETIOPS) locks i2o_cfg_mutex and then calls
    i2o_cfg_ioctl(I2OGETIOPS) that locks i2o_cfg_mutex as well. A deadlock
    is guaranteed.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Khoroshilov