04 Mar, 2013

1 commit


03 Mar, 2013

1 commit


27 Feb, 2013

4 commits

  • Pablo Neira Ayuso says:

    ====================
    The following patchset contains two bugfixes for netfilter/ipset via
    Jozsef Kadlecsik, they are:

    * Fix timeout corruption if sets are resized, by Josh Hunt.

    * Fix bogus error report if the flag nomatch is set, from Jozsef.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull networking fixes from David Miller:

    1) ping_err() ICMP error handler looks at wrong ICMP header, from Li
    Wei.

    2) TCP socket hash function on ipv6 is too weak, from Eric Dumazet.

    3) netif_set_xps_queue() forgets to drop mutex on errors, fix from
    Alexander Duyck.

    4) sum_frag_mem_limit() can deadlock due to lack of BH disabling, fix
    from Eric Dumazet.

    5) TCP SYN data is miscalculated in tcp_send_syn_data(), because the
    amount of TCP option space was not taken into account properly in
    this code path. Fix from yuchung Cheng.

    6) MLX4 driver allocates device queues with the wrong size, from Kleber
    Sacilotto.

    7) sock_diag can access past the end of the sock_diag_handlers[] array,
    from Mathias Krause.

    8) vlan_set_encap_proto() makes incorrect assumptions about where
    skb->data points, rework the logic so that it works regardless of
    where skb->data happens to be. From Jesse Gross.

    9) Fix gianfar build failure with NET_POLL enabled, from Paul
    Gortmaker.

    10) Fix Ipv4 ID setting and checksum calculations in GRE driver, from
    Pravin B Shelar.

    11) bgmac driver does:

    int i;

    for (i = 0; ...; ...) {
    ...
    for (i = 0; ...; ...) {

    effectively corrupting the outer loop index, use a seperate
    variable for the inner loops. From Rafał Miłecki.

    12) Fix suspend bugs in smsc95xx driver, from Ming Lei.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
    usbnet: smsc95xx: rename FEATURE_AUTOSUSPEND
    usbnet: smsc95xx: fix broken runtime suspend
    usbnet: smsc95xx: fix suspend failure
    bgmac: fix indexing of 2nd level loops
    b43: Fix lockdep splat on module unload
    Revert "ip_gre: propogate target device GSO capability to the tunnel device"
    IP_GRE: Fix GRE_CSUM case.
    VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
    IP_GRE: Fix IP-Identification.
    net/pasemi: Fix missing coding style
    vmxnet3: fix ethtool ring buffer size setting
    vmxnet3: make local function static
    bnx2x: remove dead code and make local funcs static
    gianfar: fix compile fail for NET_POLL=y due to struct packing
    vlan: adjust vlan_set_encap_proto() for its callers
    sock_diag: Simplify sock_diag_handlers[] handling in __sock_diag_rcv_msg
    sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
    vxlan: remove depends on CONFIG_EXPERIMENTAL
    mlx4_en: fix allocation of CPU affinity reverse-map
    mlx4_en: fix allocation of device tx_cq
    ...

    Linus Torvalds
     
  • Pull infiniband update from Roland Dreier:
    "Main batch of InfiniBand/RDMA changes for 3.9:

    - SRP error handling fixes from Bart Van Assche

    - Implementation of memory windows for mlx4 from Shani Michaeli

    - Lots of cxgb4 HW driver fixes from Vipul Pandya

    - Make iSER work for virtual functions, other fixes from Or Gerlitz

    - Fix for bug in qib HW driver from Mike Marciniszyn

    - IPoIB fixes from me, Itai Garbi, Shlomo Pongratz, Yan Burman

    - Various cleanups and warning fixes from Julia Lawall, Paul Bolle,
    Wei Yongjun"

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (41 commits)
    IB/mlx4: Advertise MW support
    IB/mlx4: Support memory window binding
    mlx4: Implement memory windows allocation and deallocation
    mlx4_core: Enable memory windows in {INIT, QUERY}_HCA
    mlx4_core: Disable memory windows for virtual functions
    IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
    IB/srp: Fail I/O requests if the transport is offline
    IB/srp: Avoid endless SCSI error handling loop
    IB/srp: Avoid sending a task management function needlessly
    IB/srp: Track connection state properly
    IB/mlx4: Remove redundant NULL check before kfree
    IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
    IB/mlx4: Convert is_xxx variables in build_mlx_header() to bool
    IB/iser: Enable iser when FMRs are not supported
    IB/iser: Avoid error prints on EAGAIN registration failures
    IB/iser: Use proper define for the commands per LUN value advertised to SCSI ML
    IB/uverbs: Implement memory windows support in uverbs
    IB/core: Add "type 2" memory windows support
    mlx4_core: Propagate MR deregistration failures to caller
    mlx4_core: Rename MPT-related functions to have mpt_ prefix
    ...

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:
    "This is fairly big pull by my standards as I had missed last merge
    window. So we have the support for device tree for slave-dmaengine,
    large updates to dw_dmac driver from Andy for reusing on different
    architectures. Along with this we have fixes on bunch of the drivers"

    Fix up trivial conflicts, usually due to #include line movement next to
    each other.

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
    Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
    ARM: dts: pl330: Add #dma-cells for generic dma binding support
    DMA: PL330: Register the DMA controller with the generic DMA helpers
    DMA: PL330: Add xlate function
    DMA: PL330: Add new pl330 filter for DT case.
    dma: tegra20-apb-dma: remove unnecessary assignment
    edma: do not waste memory for dma_mask
    dma: coh901318: set residue only if dma is in progress
    dma: coh901318: avoid unbalanced locking
    dmaengine.h: remove redundant else keyword
    dma: of-dma: protect list write operation by spin_lock
    dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
    dma: of-dma.c: fix memory leakage
    dw_dmac: apply default dma_mask if needed
    dmaengine: ioat - fix spare sparse complain
    dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
    ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
    dw_dmac: add support for Lynxpoint DMA controllers
    dw_dmac: return proper residue value
    dw_dmac: fill individual length of descriptor
    ...

    Linus Torvalds
     

26 Feb, 2013

4 commits

  • Pull user namespace and namespace infrastructure changes from Eric W Biederman:
    "This set of changes starts with a few small enhnacements to the user
    namespace. reboot support, allowing more arbitrary mappings, and
    support for mounting devpts, ramfs, tmpfs, and mqueuefs as just the
    user namespace root.

    I do my best to document that if you care about limiting your
    unprivileged users that when you have the user namespace support
    enabled you will need to enable memory control groups.

    There is a minor bug fix to prevent overflowing the stack if someone
    creates way too many user namespaces.

    The bulk of the changes are a continuation of the kuid/kgid push down
    work through the filesystems. These changes make using uids and gids
    typesafe which ensures that these filesystems are safe to use when
    multiple user namespaces are in use. The filesystems converted for
    3.9 are ceph, 9p, afs, ocfs2, gfs2, ncpfs, nfs, nfsd, and cifs. The
    changes for these filesystems were a little more involved so I split
    the changes into smaller hopefully obviously correct changes.

    XFS is the only filesystem that remains. I was hoping I could get
    that in this release so that user namespace support would be enabled
    with an allyesconfig or an allmodconfig but it looks like the xfs
    changes need another couple of days before it they are ready."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (93 commits)
    cifs: Enable building with user namespaces enabled.
    cifs: Convert struct cifs_ses to use a kuid_t and a kgid_t
    cifs: Convert struct cifs_sb_info to use kuids and kgids
    cifs: Modify struct smb_vol to use kuids and kgids
    cifs: Convert struct cifsFileInfo to use a kuid
    cifs: Convert struct cifs_fattr to use kuid and kgids
    cifs: Convert struct tcon_link to use a kuid.
    cifs: Modify struct cifs_unix_set_info_args to hold a kuid_t and a kgid_t
    cifs: Convert from a kuid before printing current_fsuid
    cifs: Use kuids and kgids SID to uid/gid mapping
    cifs: Pass GLOBAL_ROOT_UID and GLOBAL_ROOT_GID to keyring_alloc
    cifs: Use BUILD_BUG_ON to validate uids and gids are the same size
    cifs: Override unmappable incoming uids and gids
    nfsd: Enable building with user namespaces enabled.
    nfsd: Properly compare and initialize kuids and kgids
    nfsd: Store ex_anon_uid and ex_anon_gid as kuids and kgids
    nfsd: Modify nfsd4_cb_sec to use kuids and kgids
    nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion
    nfsd: Convert nfsxdr to use kuids and kgids
    nfsd: Convert nfs3xdr to use kuids and kgids
    ...

    Linus Torvalds
     
  • This reverts commit eb6b9a8cad65e820b145547844b108117cece3a0.

    Above commit limits GSO capability of gre device to just TSO, but
    software GRE-GSO is capable of handling all GSO capabilities.

    This patch also fixes following panic which reverted commit introduced:-

    BUG: unable to handle kernel NULL pointer dereference at 00000000000000a2
    IP: [] ipgre_tunnel_bind_dev+0x161/0x1f0 [ip_gre]
    PGD 42bc19067 PUD 42bca9067 PMD 0
    Oops: 0000 [#1] SMP
    Pid: 2636, comm: ip Tainted: GF 3.8.0+ #83 Dell Inc. PowerEdge R620/0KCKR5
    RIP: 0010:[] [] ipgre_tunnel_bind_dev+0x161/0x1f0 [ip_gre]
    RSP: 0018:ffff88042bfcb708 EFLAGS: 00010246
    RAX: 00000000000005b6 RBX: ffff88042d2fa000 RCX: 0000000000000044
    RDX: 0000000000000018 RSI: 0000000000000078 RDI: 0000000000000060
    RBP: ffff88042bfcb748 R08: 0000000000000018 R09: 000000000000000c
    R10: 0000000000000020 R11: 000000000101010a R12: ffff88042d2fa800
    R13: 0000000000000000 R14: ffff88042d2fa800 R15: ffff88042cd7f650
    FS: 00007fa784f55700(0000) GS:ffff88043fd20000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000000000a2 CR3: 000000042d8b9000 CR4: 00000000000407e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process ip (pid: 2636, threadinfo ffff88042bfca000, task ffff88042d142a80)
    Stack:
    0000000100000000 002f000000000000 0a01010100000000 000000000b010101
    ffff88042d2fa800 ffff88042d2fa000 ffff88042bfcb858 ffff88042f418c00
    ffff88042bfcb798 ffffffffa068199a ffff88042bfcb798 ffff88042d2fa830
    Call Trace:
    [] ipgre_newlink+0xca/0x160 [ip_gre]
    [] rtnl_newlink+0x532/0x5f0
    [] ? rtnl_newlink+0x19c/0x5f0
    [] rtnetlink_rcv_msg+0x2c8/0x340
    [] ? rtnetlink_rcv+0x40/0x40
    [] netlink_rcv_skb+0xa9/0xd0
    [] rtnetlink_rcv+0x25/0x40
    [] netlink_unicast+0x1ac/0x230
    [] netlink_sendmsg+0x265/0x380
    [] sock_sendmsg+0xb0/0xe0
    [] ? move_addr_to_kernel+0x4e/0x90
    [] ? verify_iovec+0x85/0xf0
    [] __sys_sendmsg+0x3fd/0x420
    [] ? handle_mm_fault+0x251/0x3b0
    [] ? vma_link+0xcf/0xe0
    [] sys_sendmsg+0x49/0x90
    [] system_call_fastpath+0x16/0x1b

    CC: Dmitry Kravkov
    Signed-off-by: Pravin B Shelar
    Acked-by: Dmitry Kravkov
    Signed-off-by: David S. Miller

    Pravin B Shelar
     
  • commit "ip_gre: allow CSUM capable devices to handle packets"
    aa0e51cdda005cd37e2, broke GRE_CSUM case.
    GRE_CSUM needs checksum computed for inner packet. Therefore
    csum-calculation can not be offloaded if tunnel device requires
    GRE_CSUM. Following patch fixes it by computing inner packet checksum
    for GRE_CSUM type, for all other type of GRE devices csum is offloaded.

    CC: Dmitry Kravkov
    Signed-off-by: Pravin B Shelar
    Acked-by: Dmitry Kravkov
    Signed-off-by: David S. Miller

    Pravin B Shelar
     
  • GRE-GSO generates ip fragments with id 0,2,3,4... for every
    GSO packet, which is not correct. Following patch fixes it
    by setting ip-header id unique id of fragments are allowed.
    As Eric Dumazet suggested it is optimized by using inner ip-header
    whenever inner packet is ipv4.

    Signed-off-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Pravin B Shelar
     

24 Feb, 2013

4 commits

  • This member of struct virtio_chan is calculated from nr_free_buffer_pages
    so change its type to unsigned long in case of overflow.

    Signed-off-by: Zhang Yanfei
    Cc: David Miller
    Cc: Eric Van Hensbergen
    Cc: Ron Minnich
    Cc: Latchesar Ionkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang Yanfei
     
  • Deadlock might be caused by allocating memory with GFP_KERNEL in
    runtime_resume and runtime_suspend callback of network devices in iSCSI
    situation, so mark network devices and its ancestor as 'memalloc_noio'
    with the introduced pm_runtime_set_memalloc_noio().

    Signed-off-by: Ming Lei
    Cc: "David S. Miller"
    Cc: Eric Dumazet
    Cc: David Decotigny
    Cc: Tom Herbert
    Cc: Ingo Molnar
    Cc: Jens Axboe
    Cc: Minchan Kim
    Cc: Alan Stern
    Cc: Oliver Neukum
    Cc: Jiri Kosina
    Cc: Mel Gorman
    Cc: KAMEZAWA Hiroyuki
    Cc: Michal Hocko
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: "Rafael J. Wysocki"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ming Lei
     
  • The sock_diag_lock_handler() and sock_diag_unlock_handler() actually
    make the code less readable. Get rid of them and make the lock usage
    and access to sock_diag_handlers[] clear on the first sight.

    Signed-off-by: Mathias Krause
    Signed-off-by: David S. Miller

    Mathias Krause
     
  • Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
    with a family greater or equal then AF_MAX -- the array size of
    sock_diag_handlers[]. The current code does not test for this
    condition therefore is vulnerable to an out-of-bound access opening
    doors for a privilege escalation.

    Signed-off-by: Mathias Krause
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Mathias Krause
     

23 Feb, 2013

4 commits

  • In fast open the sender unncessarily reduces the space available
    for data in SYN by 12 bytes. This is because in the sender
    incorrectly reserves space for TS option twice in tcp_send_syn_data():
    tcp_mtu_to_mss() already accounts for TS option space. But it further
    reserves MAX_TCP_OPTION_SPACE when computing the payload space.

    Signed-off-by: Yuchung Cheng
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Yuchung Cheng
     
  • The mem cgroup socket limit is only used if the config option is
    enabled. Found with sparse

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • Smatch found a locking bug in netif_set_xps_queue in which we were not
    releasing the lock in the case of an allocation failure.

    This change corrects that so that we release the xps_map_mutex before
    returning -ENOMEM in the case of an allocation failure.

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

    Alexander Duyck
     
  • Now we handle icmp errors in each transport protocol's err_handler,
    for icmp protocols, that is ping_err. Since this handler only care
    of those icmp errors triggered by echo request, errors triggered
    by echo reply(which sent by kernel) are sliently ignored.

    So wrap ping_err() with icmp_err() to deal with those icmp errors.

    Signed-off-by: Li Wei
    Signed-off-by: David S. Miller

    Li Wei
     

22 Feb, 2013

11 commits

  • Pull s390 update from Martin Schwidefsky:
    "The most prominent change in this patch set is the software dirty bit
    patch for s390. It removes __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY and
    the page_test_and_clear_dirty primitive which makes the common memory
    management code a bit less obscure.

    Heiko fixed most of the PCI related fallout, more often than not
    missing GENERIC_HARDIRQS dependencies. Notable is one of the 3270
    patches which adds an export to tty_io to be able to resize a tty.

    The rest is the usual bunch of cleanups and bug fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (42 commits)
    s390/module: Add missing R_390_NONE relocation type
    drivers/gpio: add missing GENERIC_HARDIRQ dependency
    drivers/input: add couple of missing GENERIC_HARDIRQS dependencies
    s390/cleanup: rename SPP to LPP
    s390/mm: implement software dirty bits
    s390/mm: Fix crst upgrade of mmap with MAP_FIXED
    s390/linker skript: discard exit.data at runtime
    drivers/media: add missing GENERIC_HARDIRQS dependency
    s390/bpf,jit: add vlan tag support
    drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency
    iucv: fix kernel panic at reboot
    s390/Kconfig: sort list of arch selected config options
    phylib: remove !S390 dependeny from Kconfig
    uio: remove !S390 dependency from Kconfig
    dasd: fix sysfs cleanup in dasd_generic_remove
    s390/pci: fix hotplug module init
    s390/pci: cleanup clp page allocation
    s390/pci: cleanup clp inline assembly
    s390/perf: cpum_cf: fallback to software sampling events
    s390/mm: provide PAGE_SHARED define
    ...

    Linus Torvalds
     
  • Pull trivial tree from Jiri Kosina:
    "Assorted tiny fixes queued in trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (22 commits)
    DocBook: update EXPORT_SYMBOL entry to point at export.h
    Documentation: update top level 00-INDEX file with new additions
    ARM: at91/ide: remove unsused at91-ide Kconfig entry
    percpu_counter.h: comment code for better readability
    x86, efi: fix comment typo in head_32.S
    IB: cxgb3: delay freeing mem untill entirely done with it
    net: mvneta: remove unneeded version.h include
    time: x86: report_lost_ticks doesn't exist any more
    pcmcia: avoid static analysis complaint about use-after-free
    fs/jfs: Fix typo in comment : 'how may' -> 'how many'
    of: add missing documentation for of_platform_populate()
    btrfs: remove unnecessary cur_trans set before goto loop in join_transaction
    sound: soc: Fix typo in sound/codecs
    treewide: Fix typo in various drivers
    btrfs: fix comment typos
    Update ibmvscsi module name in Kconfig.
    powerpc: fix typo (utilties -> utilities)
    of: fix spelling mistake in comment
    h8300: Fix home page URL in h8300/README
    xtensa: Fix home page URL in Kconfig
    ...

    Linus Torvalds
     
  • Merge misc patches from Andrew Morton:

    - Florian has vanished so I appear to have become fbdev maintainer
    again :(

    - Joel and Mark are distracted to welcome to the new OCFS2 maintainer

    - The backlight queue

    - Small core kernel changes

    - lib/ updates

    - The rtc queue

    - Various random bits

    * akpm: (164 commits)
    rtc: rtc-davinci: use devm_*() functions
    rtc: rtc-max8997: use devm_request_threaded_irq()
    rtc: rtc-max8907: use devm_request_threaded_irq()
    rtc: rtc-da9052: use devm_request_threaded_irq()
    rtc: rtc-wm831x: use devm_request_threaded_irq()
    rtc: rtc-tps80031: use devm_request_threaded_irq()
    rtc: rtc-lp8788: use devm_request_threaded_irq()
    rtc: rtc-coh901331: use devm_clk_get()
    rtc: rtc-vt8500: use devm_*() functions
    rtc: rtc-tps6586x: use devm_request_threaded_irq()
    rtc: rtc-imxdi: use devm_clk_get()
    rtc: rtc-cmos: use dev_warn()/dev_dbg() instead of printk()/pr_debug()
    rtc: rtc-pcf8583: use dev_warn() instead of printk()
    rtc: rtc-sun4v: use pr_warn() instead of printk()
    rtc: rtc-vr41xx: use dev_info() instead of printk()
    rtc: rtc-rs5c313: use pr_err() instead of printk()
    rtc: rtc-at91rm9200: use dev_dbg()/dev_err() instead of printk()/pr_debug()
    rtc: rtc-rs5c372: use dev_dbg()/dev_warn() instead of printk()/pr_debug()
    rtc: rtc-ds2404: use dev_err() instead of printk()
    rtc: rtc-efi: use dev_err()/dev_warn()/pr_err() instead of printk()
    ...

    Linus Torvalds
     
  • After I came across a help text for SUNGEM mentioning a broken sun.com
    URL, I felt like fixing those up, as they are now pointing to oracle.com
    URLs.

    Signed-off-by: Christian Kujau
    Acked-by: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Kujau
     
  • It looks like its possible to open thousands of TCP IPv6
    sessions on a server, all landing in a single slot of TCP hash
    table. Incoming packets have to lookup sockets in a very
    long list.

    We should hash all bits from foreign IPv6 addresses, using
    a salt and hash mix, not a simple XOR.

    inet6_ehashfn() can also separately use the ports, instead
    of xoring them.

    Reported-by: Neal Cardwell
    Signed-off-by: Eric Dumazet
    Cc: Yuchung Cheng
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Pull tty/serial patches from Greg Kroah-Hartman:
    "Here's the big tty/serial driver patches for 3.9-rc1.

    More tty port rework and fixes from Jiri here, as well as lots of
    individual serial driver updates and fixes.

    All of these have been in the linux-next tree for a while."

    * tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits)
    tty: mxser: improve error handling in mxser_probe() and mxser_module_init()
    serial: imx: fix uninitialized variable warning
    serial: tegra: assume CONFIG_OF
    TTY: do not update atime/mtime on read/write
    lguest: select CONFIG_TTY to build properly.
    ARM defconfigs: add missing inclusions of linux/platform_device.h
    fb/exynos: include platform_device.h
    ARM: sa1100/assabet: include platform_device.h directly
    serial: imx: Fix recursive locking bug
    pps: Fix build breakage from decoupling pps from tty
    tty: Remove ancient hardpps()
    pps: Additional cleanups in uart_handle_dcd_change
    pps: Move timestamp read into PPS code proper
    pps: Don't crash the machine when exiting will do
    pps: Fix a use-after free bug when unregistering a source.
    pps: Use pps_lookup_dev to reduce ldisc coupling
    pps: Add pps_lookup_dev() function
    tty: serial: uartlite: Support uartlite on big and little endian systems
    tty: serial: uartlite: Fix sparse and checkpatch warnings
    serial/arc-uart: Miscll DT related updates (Grant's review comments)
    ...

    Fix up trivial conflicts, mostly just due to the TTY config option
    clashing with the EXPERIMENTAL removal.

    Linus Torvalds
     
  • We should get 'type' and 'code' from the outer ICMP header.

    Signed-off-by: Li Wei
    Signed-off-by: David S. Miller

    Li Wei
     
  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     
  • This patch enhances the IB core support for Memory Windows (MWs).

    MWs allow an application to have better/flexible control over remote
    access to memory.

    Two types of MWs are supported, with the second type having two flavors:

    Type 1 - associated with PD only
    Type 2A - associated with QPN only
    Type 2B - associated with PD and QPN

    Applications can allocate a MW once, and then repeatedly bind the MW
    to different ranges in MRs that are associated to the same PD. Type 1
    windows are bound through a verb, while type 2 windows are bound by
    posting a work request.

    The 32-bit memory key is composed of a 24-bit index and an 8-bit
    key. The key is changed with each bind, thus allowing more control
    over the peer's use of the memory key.

    The changes introduced are the following:

    * add memory window type enum and a corresponding parameter to ib_alloc_mw.
    * type 2 memory window bind work request support.
    * create a struct that contains the common part of the bind verb struct
    ibv_mw_bind and the bind work request into a single struct.
    * add the ib_inc_rkey helper function to advance the tag part of an rkey.

    Consumer interface details:

    * new device capability flags IB_DEVICE_MEM_WINDOW_TYPE_2A and
    IB_DEVICE_MEM_WINDOW_TYPE_2B are added to indicate device support
    for these features.

    Devices can set either IB_DEVICE_MEM_WINDOW_TYPE_2A or
    IB_DEVICE_MEM_WINDOW_TYPE_2B if it supports type 2A or type 2B
    memory windows. It can set neither to indicate it doesn't support
    type 2 windows at all.

    * modify existing provides and consumers code to the new param of
    ib_alloc_mw and the ib_mw_bind_info structure

    Signed-off-by: Haggai Eran
    Signed-off-by: Shani Michaeli
    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Shani Michaeli
     
  • Pull NFS client bugfixes from Trond Myklebust:

    - Fix an Oops in the pNFS layoutget code

    - Fix a number of NFSv4 and v4.1 state recovery deadlocks and hangs due
    to the interaction of the session drain lock and state management
    locks.

    - Remove task->tk_xprt, which was hiding a lot of RCU dereferencing
    bugs

    - Fix a long standing NFSv3 posix lock recovery bug.

    - Revert commit 324d003b0cd8 ("NFS: add nfs_sb_deactive_async to avoid
    deadlock"). It turned out that the root cause of the deadlock was
    due to interactions with the workqueues that have now been resolved.

    * tag 'nfs-for-3.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (22 commits)
    NLM: Ensure that we resend all pending blocking locks after a reclaim
    umount oops when remove blocklayoutdriver first
    sunrpc: silence build warning in gss_fill_context
    nfs: remove kfree() redundant null checks
    NFSv4.1: Don't decode skipped layoutgets
    NFSv4.1: Fix bulk recall and destroy of layouts
    NFSv4.1: Fix an ABBA locking issue with session and state serialisation
    NFSv4: Fix a reboot recovery race when opening a file
    NFSv4: Ensure delegation recall and byte range lock removal don't conflict
    NFSv4: Fix up the return values of nfs4_open_delegation_recall
    NFSv4.1: Don't lose locks when a server reboots during delegation return
    NFSv4.1: Prevent deadlocks between state recovery and file locking
    NFSv4: Allow the state manager to mark an open_owner as being recovered
    SUNRPC: Add missing static declaration to _gss_mech_get_by_name
    Revert "NFS: add nfs_sb_deactive_async to avoid deadlock"
    SUNRPC: Nuke the tk_xprt macro
    SUNRPC: Avoid RCU dereferences in the transport bind and connect code
    SUNRPC: Fix an RCU dereference in xprt_reserve
    SUNRPC: Pass pointers to struct rpc_xprt to the congestion window
    SUNRPC: Fix an RCU dereference in xs_local_rpcbind
    ...

    Linus Torvalds
     
  • When an entry flagged with "nomatch" was tested by ipset, it
    returned the error message "Kernel error received:
    Directory not empty" instead of " is NOT in set "
    (reported by John Brendler).

    The internal error code was not properly transformed before returning
    to userspace, fixed.

    Signed-off-by: Jozsef Kadlecsik

    Jozsef Kadlecsik
     

21 Feb, 2013

3 commits

  • Pull networking update from David Miller:

    1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
    timestamp offset. From Andrey Vagin.

    2) VMWARE VM VSOCK layer, from Andy King.

    3) Much improved support for virtual functions and SR-IOV in bnx2x,
    from Ariel ELior.

    4) All protocols on ipv4 and ipv6 are now network namespace aware, and
    all the compatability checks for initial-namespace-only protocols is
    removed. Thanks to Tom Parkin for helping deal with the last major
    holdout, L2TP.

    5) IPV6 support in netpoll and network namespace support in pktgen,
    from Cong Wang.

    6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
    Protocol (MVRP) support, from David Ward.

    7) Compute packet lengths more accurately in the packet scheduler, from
    Eric Dumazet.

    8) Use per-task page fragment allocator in skb_append_datato_frags(),
    also from Eric Dumazet.

    9) Add support for connection tracking labels in netfilter, from
    Florian Westphal.

    10) Fix default multicast group joining on ipv6, and add anti-spoofing
    checks to 6to4 and 6rd. From Hannes Frederic Sowa.

    11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
    times, rearrange inet frag datastructures for better cacheline
    locality, and move more operations outside of locking. From Jesper
    Dangaard Brouer.

    12) Instead of strict master slave relationships, allow arbitrary
    scenerios with "upper device lists". From Jiri Pirko.

    13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
    Pirko.

    14) Add a BPF filter netfilter match target, from Willem de Bruijn.

    15) Orphan and delete a bunch of pre-historic networking drivers from
    Paul Gortmaker.

    16) Add TSO support for GRE tunnels, from Pravin B SHelar. Although
    this still needs some minor bug fixing before it's %100 correct in
    all cases.

    17) Handle unresolved IPSEC states like ARP, with a resolution packet
    queue. From Steffen Klassert.

    18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
    Hemminger. This was long overdue.

    19) Support SO_REUSEPORT, from Tom Herbert.

    20) Allow locking a socket BPF filter, so that it cannot change after a
    process drops capabilities.

    21) Add VLAN filtering to bridge, from Vlad Yasevich.

    22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
    the ipv6 routes, from YOSHIFUJI Hideaki.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
    ipv6: fix race condition regarding dst->expires and dst->from.
    net: fix a wrong assignment in skb_split()
    ip_gre: remove an extra dst_release()
    ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
    atl1c: restore buffer state
    net: fix a build failure when !CONFIG_PROC_FS
    net: ipv4: fix waring -Wunused-variable
    net: proc: fix build failed when procfs is not configured
    Revert "xen: netback: remove redundant xenvif_put"
    net: move procfs code to net/core/net-procfs.c
    qmi_wwan, cdc-ether: add ADU960S
    bonding: set sysfs device_type to 'bond'
    bonding: fix bond_release_all inconsistencies
    b44: use netdev_alloc_skb_ip_align()
    xen: netback: remove redundant xenvif_put
    net: fec: Do a sanity check on the gpio number
    ip_gre: propogate target device GSO capability to the tunnel device
    ip_gre: allow CSUM capable devices to handle packets
    bonding: Fix initialize after use for 3ad machine state spinlock
    bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
    ...

    Linus Torvalds
     
  • Eric Dumazet wrote:
    | Some strange crashes happen in rt6_check_expired(), with access
    | to random addresses.
    |
    | At first glance, it looks like the RTF_EXPIRES and
    | stuff added in commit 1716a96101c49186b
    | (ipv6: fix problem with expired dst cache)
    | are racy : same dst could be manipulated at the same time
    | on different cpus.
    |
    | At some point, our stack believes rt->dst.from contains a dst pointer,
    | while its really a jiffie value (as rt->dst.expires shares the same area
    | of memory)
    |
    | rt6_update_expires() should be fixed, or am I missing something ?
    |
    | CC Neil because of https://bugzilla.redhat.com/show_bug.cgi?id=892060

    Because we do not have any locks for dst_entry, we cannot change
    essential structure in the entry; e.g., we cannot change reference
    to other entity.

    To fix this issue, split 'from' and 'expires' field in dst_entry
    out of union. Once it is 'from' is assigned in the constructor,
    keep the reference until the very last stage of the life time of
    the object.

    Of course, it is unsafe to change 'from', so make rt6_set_from simple
    just for fresh entries.

    Reported-by: Eric Dumazet
    Reported-by: Neil Horman
    CC: Gao Feng
    Signed-off-by: YOSHIFUJI Hideaki
    Reviewed-by: Eric Dumazet
    Reported-by: Steinar H. Gunderson
    Reviewed-by: Neil Horman
    Signed-off-by: David S. Miller

    YOSHIFUJI Hideaki / 吉藤英明
     
  • commit c9af6db4c11ccc6c3e7f1 (net: Fix possible wrong checksum generation)
    has a suspicous piece:

    - skb_shinfo(skb1)->gso_type = skb_shinfo(skb)->gso_type;
    -
    + skb_shinfo(skb)->tx_flags = skb_shinfo(skb1)->tx_flags & SKBTX_SHARED_FRAG;

    skb1 is the new skb, therefore should be on the left side of the assignment.
    This patch fixes it.

    Cc: Pravin B Shelar
    Cc: David S. Miller
    Signed-off-by: Cong Wang
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Amerigo Wang
     

20 Feb, 2013

6 commits

  • Pull workqueue [delayed_]work_pending() cleanups from Tejun Heo:
    "This is part of on-going cleanups to remove / minimize usages of
    workqueue interfaces which are deprecated and/or misleading.

    This round drops a number of usages of [delayed_]work_pending(), which
    are dangerous as they lack any form of synchronization and thus often
    lead to buggy / unnecessary code. There are a couple legitimate use
    cases in kernel. Hopefully, they can be converted and
    [delayed_]work_pending() can be removed completely. Even if not,
    removing most of misuses should make it more difficult to find
    examples of misuses and thus slow down growth of them.

    These changes are independent from other workqueue changes."

    * 'for-3.9-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    wimax/i2400m: fix i2400m->wake_tx_skb handling
    kprobes: fix wait_for_kprobe_optimizer()
    ipw2x00: simplify scan_event handling
    video/exynos: don't use [delayed_]work_pending()
    tty/max3100: don't use [delayed_]work_pending()
    x86/mce: don't use [delayed_]work_pending()
    rfkill: don't use [delayed_]work_pending()
    wl1251: don't use [delayed_]work_pending()
    thinkpad_acpi: don't use [delayed_]work_pending()
    mwifiex: don't use [delayed_]work_pending()
    sja1000: don't use [delayed_]work_pending()

    Linus Torvalds
     
  • John W. Linville says:

    ====================
    One last batch of stragglers intended for 3.9...

    For the iwlwifi pull, Johannes says:

    "I hadn't expected to ask you to pull iwlwifi-next again, but I have a
    number of fixes most of which I'd also send in after rc1, so here it is.

    The first commit is a merge error between mac80211-next and
    iwlwifi-next; in addition I have fixes for P2P scanning and MVM driver
    MAC (virtual interface) management from Ilan, a CT-kill (critical
    temperature) fix from Eytan, and myself fixed three different little but
    annoying bugs in the MVM driver.

    The only ones I might not send for -rc1 are Emmanuel's debug patch, but
    OTOH it should help greatly if there are any issues, and my own time
    event debugging patch that I used to find the race condition but we
    decided to keep it for the future."

    For the mac80211 pull, Johannes says:

    "Like iwlwifi-next, this would almost be suitable for rc1.

    I have a fix for station management on non-TDLS drivers, a CAB queue
    crash fix for mesh, a fix for an annoying (but harmless) warning, a
    tracing fix and a documentation fix. Other than that, only a few mesh
    cleanups."

    Along with that is a fix for memory corruption in rtlwifi, an
    orinoco_usb fix to avoid allocating a DMA buffer on the stack, an a
    hostap fix to return -ENOMEM instead of -1 after a memory allocation
    failure. The remaining bits implement 802.11ac support for the mwifiex
    driver -- I think that is still worth getting into 3.9.

    Please let me know if there are problems!
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • commit 68c331631143 (v4 GRE: Add TCP segmentation offload for GRE)
    introduced a bug in error path.

    dst is attached to skb, so will be released when skb is freed.

    Signed-off-by: Eric Dumazet
    Cc: Pravin B Shelar
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • …wireless-next into for-davem

    John W. Linville
     
  • When !CONFIG_PROC_FS dev_mcast_init() is not defined,
    actually we can just merge dev_mcast_init() into
    dev_proc_init().

    Reported-by: Gao feng
    Cc: Gao feng
    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • the vars ip_rt_gc_timeout is used only when
    CONFIG_SYSCTL is selected.

    move these vars into CONFIG_SYSCTL.

    Signed-off-by: Gao feng
    Signed-off-by: David S. Miller

    Gao feng
     

19 Feb, 2013

2 commits