21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

20 Jan, 2011

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)
    sctp: user perfect name for Delayed SACK Timer option
    net: fix can_checksum_protocol() arguments swap
    Revert "netlink: test for all flags of the NLM_F_DUMP composite"
    gianfar: Fix misleading indentation in startup_gfar()
    net/irda/sh_irda: return to RX mode when TX error
    net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.
    USB CDC NCM: tx_fixup() race condition fix
    ns83820: Avoid bad pointer deref in ns83820_init_one().
    ipv6: Silence privacy extensions initialization
    bnx2x: Update bnx2x version to 1.62.00-4
    bnx2x: Fix AER setting for BCM57712
    bnx2x: Fix BCM84823 LED behavior
    bnx2x: Mark full duplex on some external PHYs
    bnx2x: Fix BCM8073/BCM8727 microcode loading
    bnx2x: LED fix for BCM8727 over BCM57712
    bnx2x: Common init will be executed only once after POR
    bnx2x: Swap BCM8073 PHY polarity if required
    iwlwifi: fix valid chain reading from EEPROM
    ath5k: fix locking in tx_complete_poll_work
    ath9k_hw: do PA offset calibration only on longcal interval
    ...

    Linus Torvalds
     
  • The option name of Delayed SACK Timer should be SCTP_DELAYED_SACK,
    not SCTP_DELAYED_ACK.

    Left SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK,
    for making compatibility with existing applications.

    Reference:
    8.1.19. Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK)
    (http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25)

    Signed-off-by: Shan Wei
    Acked-by: Wei Yongjun
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Shan Wei
     
  • commit 0363466866d901fbc (net offloading: Convert checksums to use
    centrally computed features.) mistakenly swapped can_checksum_protocol()
    arguments.

    This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum
    offloads.

    Reported-by: Hans de Bruin
    Signed-off-by: Eric Dumazet
    Acked-by: Jesse Gross
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf.

    It breaks several things including the avahi daemon.

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Jan, 2011

3 commits


16 Jan, 2011

4 commits


15 Jan, 2011

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
    GRETH: resolve SMP issues and other problems
    GRETH: handle frame error interrupts
    GRETH: avoid writing bad speed/duplex when setting transfer mode
    GRETH: fixed skb buffer memory leak on frame errors
    GRETH: GBit transmit descriptor handling optimization
    GRETH: fix opening/closing
    GRETH: added raw AMBA vendor/device number to match against.
    cassini: Fix build bustage on x86.
    e1000e: consistent use of Rx/Tx vs. RX/TX/rx/tx in comments/logs
    e1000e: update Copyright for 2011
    e1000: Avoid unhandled IRQ
    r8169: keep firmware in memory.
    netdev: tilepro: Use is_unicast_ether_addr helper
    etherdevice.h: Add is_unicast_ether_addr function
    ks8695net: Use default implementation of ethtool_ops::get_link
    ks8695net: Disable non-working ethtool operations
    USB CDC NCM: Don't deref NULL in cdc_ncm_rx_fixup() and don't use uninitialized variable.
    vxge: Remember to release firmware after upgrading firmware
    netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr
    ipsec: update MAX_AH_AUTH_LEN to support sha512
    ...

    Linus Torvalds
     
  • * 'for-2.6.38' of git://linux-nfs.org/~bfields/linux: (62 commits)
    nfsd4: fix callback restarting
    nfsd: break lease on unlink, link, and rename
    nfsd4: break lease on nfsd setattr
    nfsd: don't support msnfs export option
    nfsd4: initialize cb_per_client
    nfsd4: allow restarting callbacks
    nfsd4: simplify nfsd4_cb_prepare
    nfsd4: give out delegations more quickly in 4.1 case
    nfsd4: add helper function to run callbacks
    nfsd4: make sure sequence flags are set after destroy_session
    nfsd4: re-probe callback on connection loss
    nfsd4: set sequence flag when backchannel is down
    nfsd4: keep finer-grained callback status
    rpc: allow xprt_class->setup to return a preexisting xprt
    rpc: keep backchannel xprt as long as server connection
    rpc: move sk_bc_xprt to svc_xprt
    nfsd4: allow backchannel recovery
    nfsd4: support BIND_CONN_TO_SESSION
    nfsd4: modify session list under cl_lock
    Documentation: fl_mylease no longer exists
    ...

    Fix up conflicts in fs/nfsd/vfs.c with the vfs-scale work. The
    vfs-scale work touched some msnfs cases, and this merge removes support
    for that entirely, so the conflict was trivial to resolve.

    Linus Torvalds
     
  • rxrpc_workqueue isn't depended upon while reclaiming memory. Convert
    to alloc_workqueue() without WQ_MEM_RECLAIM.

    Signed-off-by: Tejun Heo
    Signed-off-by: David Howells
    Cc: linux-afs@lists.infradead.org
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

14 Jan, 2011

10 commits

  • After recent changes, (percpu stats on vlan/tunnels...), we dont need
    anymore per struct netdev_queue tx_bytes/tx_packets/tx_dropped counters.

    Only remaining users are ixgbe, sch_teql, gianfar & macvlan :

    1) ixgbe can be converted to use existing tx_ring counters.

    2) macvlan incremented txq->tx_dropped, it can use the
    dev->stats.tx_dropped counter.

    3) sch_teql : almost revert ab35cd4b8f42 (Use net_device internal stats)
    Now we have ndo_get_stats64(), use it, even for "unsigned long"
    fields (No need to bring back a struct net_device_stats)

    4) gianfar adds a stats structure per tx queue to hold
    tx_bytes/tx_packets

    This removes a lockdep warning (and possible lockup) in rndis gadget,
    calling dev_get_stats() from hard IRQ context.

    Ref: http://www.spinics.net/lists/netdev/msg149202.html

    Reported-by: Neil Jones
    Signed-off-by: Eric Dumazet
    CC: Jarek Poplawski
    CC: Alexander Duyck
    CC: Jeff Kirsher
    CC: Sandeep Gopalpet
    CC: Michal Nazarewicz
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • There's a problem in net/batman-adv/unicast.c::frag_send_skb().
    dev_alloc_skb() allocates memory and may fail, thus returning NULL. If
    this happens we'll pass a NULL pointer on to skb_split() which in turn
    hands it to skb_split_inside_header() from where it gets passed to
    skb_put() that lets skb_tail_pointer() play with it and that function
    dereferences it. And thus the bat dies.

    While I was at it I also moved the call to dev_alloc_skb() above the
    assignment to 'unicast_packet' since there's no reason to do that
    assignment if the memory allocation fails.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Sven Eckelmann

    Jesper Juhl
     
  • When the buffer size is set to zero in the block ack parameter set
    field, we should use the maximum supported number of subframes. The
    existing code was bogus and was doing some unnecessary calculations
    that lead to wrong values.

    Thanks Johannes for helping me figure this one out.

    Cc: stable@kernel.org
    Cc: Johannes Berg
    Signed-off-by: Luciano Coelho
    Reviewed-by: Johannes Berg
    Signed-off-by: John W. Linville

    Luciano Coelho
     
  • Since the introduction of the fixes for the
    reorder timer, mac80211 will cause lockdep
    warnings because lockdep confuses
    local->skb_queue and local->rx_skb_queue
    and treats their lock as the same.

    However, their locks are different, and are
    valid in different contexts (the former is
    used in IRQ context, the latter in BH only)
    and the only thing to be done is mark the
    former as a different lock class so that
    lockdep can tell the difference.

    Reported-by: Larry Finger
    Reported-by: Sujith
    Reported-by: Miles Lane
    Tested-by: Sujith
    Tested-by: Johannes Berg
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • David S. Miller
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (41 commits)
    fs: add documentation on fallocate hole punching
    Gfs2: fail if we try to use hole punch
    Btrfs: fail if we try to use hole punch
    Ext4: fail if we try to use hole punch
    Ocfs2: handle hole punching via fallocate properly
    XFS: handle hole punching via fallocate properly
    fs: add hole punching to fallocate
    vfs: pass struct file to do_truncate on O_TRUNC opens (try #2)
    fix signedness mess in rw_verify_area() on 64bit architectures
    fs: fix kernel-doc for dcache::prepend_path
    fs: fix kernel-doc for dcache::d_validate
    sanitize ecryptfs ->mount()
    switch afs
    move internal-only parts of ncpfs headers to fs/ncpfs
    switch ncpfs
    switch 9p
    pass default dentry_operations to mount_pseudo()
    switch hostfs
    switch affs
    switch configfs
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (46 commits)
    hwrng: via_rng - Fix memory scribbling on some CPUs
    crypto: padlock - Move padlock.h into include/crypto
    hwrng: via_rng - Fix asm constraints
    crypto: n2 - use __devexit not __exit in n2_unregister_algs
    crypto: mark crypto workqueues CPU_INTENSIVE
    crypto: mv_cesa - dont return PTR_ERR() of wrong pointer
    crypto: ripemd - Set module author and update email address
    crypto: omap-sham - backlog handling fix
    crypto: gf128mul - Remove experimental tag
    crypto: af_alg - fix af_alg memory_allocated data type
    crypto: aesni-intel - Fixed build with binutils 2.16
    crypto: af_alg - Make sure sk_security is initialized on accept()ed sockets
    net: Add missing lockdep class names for af_alg
    include: Install linux/if_alg.h for user-space crypto API
    crypto: omap-aes - checkpatch --file warning fixes
    crypto: omap-aes - initialize aes module once per request
    crypto: omap-aes - unnecessary code removed
    crypto: omap-aes - error handling implementation improved
    crypto: omap-aes - redundant locking is removed
    crypto: omap-aes - DMA initialization fixes for OMAP off mode
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    rbd: fix cleanup when trying to mount inexistent image
    net/ceph: make ceph_msgr_wq non-reentrant
    ceph: fsc->*_wq's aren't used in memory reclaim path
    ceph: Always free allocated memory in osdmap_decode()
    ceph: Makefile: Remove unnessary code
    ceph: associate requests with opening sessions
    ceph: drop redundant r_mds field
    ceph: implement DIRLAYOUTHASH feature to get dir layout from MDS
    ceph: add dir_layout to inode

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    Documentation/trace/events.txt: Remove obsolete sched_signal_send.
    writeback: fix global_dirty_limits comment runtime -> real-time
    ppc: fix comment typo singal -> signal
    drivers: fix comment typo diable -> disable.
    m68k: fix comment typo diable -> disable.
    wireless: comment typo fix diable -> disable.
    media: comment typo fix diable -> disable.
    remove doc for obsolete dynamic-printk kernel-parameter
    remove extraneous 'is' from Documentation/iostats.txt
    Fix spelling milisec -> ms in snd_ps3 module parameter description
    Fix spelling mistakes in comments
    Revert conflicting V4L changes
    i7core_edac: fix typos in comments
    mm/rmap.c: fix comment
    sound, ca0106: Fix assignment to 'channel'.
    hrtimer: fix a typo in comment
    init/Kconfig: fix typo
    anon_inodes: fix wrong function name in comment
    fix comment typos concerning "consistent"
    poll: fix a typo in comment
    ...

    Fix up trivial conflicts in:
    - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
    - fs/ext4/ext4.h

    Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.

    Linus Torvalds
     
  • This patch fixes a loop in ctnetlink_get_conntrack() that can be
    triggered if you use the same socket to receive events and to
    perform a GET operation. Under heavy load, netlink_unicast()
    may return -EAGAIN, this error code is reserved in nfnetlink for
    the module load-on-demand. Instead, we return -ENOBUFS which is
    the appropriate error code that has to be propagated to
    user-space.

    Reported-by: Holger Eitzenberger
    Signed-off-by: Pablo Neira Ayuso

    Pablo Neira Ayuso
     

13 Jan, 2011

8 commits

  • Fix new kernel-doc warning (copy-paste typo):

    Warning(net/ethernet/eth.c:366): No description found for parameter 'rxqs'

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • David S. Miller
     
  • Linux IPv6 forwards unicast packets, which are link layer multicasts...
    The hole was present since day one. I was 100% this check is there, but it is not.

    The problem shows itself, f.e. when Microsoft Network Load Balancer runs on a network.
    This software resolves IPv6 unicast addresses to multicast MAC addresses.

    Signed-off-by: Alexey Kuznetsov
    Signed-off-by: David S. Miller

    Alexey Kuznetsov
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • ceph messenger code does a rather complex dancing around multithread
    workqueue to make sure the same work item isn't executed concurrently
    on different CPUs. This restriction can be provided by workqueue with
    WQ_NON_REENTRANT.

    Make ceph_msgr_wq non-reentrant workqueue with the default concurrency
    level and remove the QUEUED/BUSY logic.

    * This removes backoff handling in con_work() but it couldn't reliably
    block execution of con_work() to begin with - queue_con() can be
    called after the work started but before BUSY is set. It seems that
    it was an optimization for a rather cold path and can be safely
    removed.

    * The number of concurrent work items is bound by the number of
    connections and connetions are independent from each other. With
    the default concurrency level, different connections will be
    executed independently.

    Signed-off-by: Tejun Heo
    Cc: Sage Weil
    Cc: ceph-devel@vger.kernel.org
    Signed-off-by: Sage Weil

    Tejun Heo
     
  • Always free memory allocated to 'pi' in
    net/ceph/osdmap.c::osdmap_decode().

    Signed-off-by: Jesper Juhl
    Signed-off-by: Sage Weil

    Jesper Juhl
     
  • Add a ceph_dir_layout to the inode, and calculate dentry hash values based
    on the parent directory's specified dir_hash function. This is needed
    because the old default Linux dcache hash function is extremely week and
    leads to a poor distribution of files among dir fragments.

    Signed-off-by: Sage Weil

    Sage Weil
     
  • The IPv6 tproxy patches split IPv6 defragmentation off of conntrack, but
    failed to update the #ifdef stanzas guarding the defragmentation related
    fields and code in skbuff and conntrack related code in nf_defrag_ipv6.c.

    This patch adds the required #ifdefs so that IPv6 tproxy can truly be used
    without connection tracking.

    Original report:
    http://marc.info/?l=linux-netdev&m=129010118516341&w=2

    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Signed-off-by: KOVACS Krisztian
    Signed-off-by: Pablo Neira Ayuso

    KOVACS Krisztian
     

12 Jan, 2011

7 commits

  • Commit fe10ae53384e48c51996941b7720ee16995cbcb7 adds a memset() to clear
    the structure being sent back to userspace, but accidentally used the
    wrong size.

    Reported-by: Brad Spengler
    Signed-off-by: Kees Cook
    Cc: stable@kernel.org
    Signed-off-by: David S. Miller

    Kees Cook
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (67 commits)
    cxgb4vf: recover from failure in cxgb4vf_open()
    netfilter: ebtables: make broute table work again
    netfilter: fix race in conntrack between dump_table and destroy
    ah: reload pointers to skb data after calling skb_cow_data()
    ah: update maximum truncated ICV length
    xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
    ehea: Increase the skb array usage
    net/fec: remove config FEC2 as it's used nowhere
    pcnet_cs: add new_id
    tcp: disallow bind() to reuse addr/port
    net/r8169: Update the function of parsing firmware
    net: ppp: use {get,put}_unaligned_be{16,32}
    CAIF: Fix IPv6 support in receive path for GPRS/3G
    arp: allow to invalidate specific ARP entries
    net_sched: factorize qdisc stats handling
    mlx4: Call alloc_etherdev to allocate RX and TX queues
    net: Add alloc_netdev_mqs function
    caif: don't set connection request param size before copying data
    cxgb4vf: fix mailbox data/control coherency domain race
    qlcnic: change module parameter permissions
    ...

    Linus Torvalds
     
  • David S. Miller
     
  • * 'nfs-for-2.6.38' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)
    NFS fix the setting of exchange id flag
    NFS: Don't use vm_map_ram() in readdir
    NFSv4: Ensure continued open and lockowner name uniqueness
    NFS: Move cl_delegations to the nfs_server struct
    NFS: Introduce nfs_detach_delegations()
    NFS: Move cl_state_owners and related fields to the nfs_server struct
    NFS: Allow walking nfs_client.cl_superblocks list outside client.c
    pnfs: layout roc code
    pnfs: update nfs4_callback_recallany to handle layouts
    pnfs: add CB_LAYOUTRECALL handling
    pnfs: CB_LAYOUTRECALL xdr code
    pnfs: change lo refcounting to atomic_t
    pnfs: check that partial LAYOUTGET return is ignored
    pnfs: add layout to client list before sending rpc
    pnfs: serialize LAYOUTGET(openstateid)
    pnfs: layoutget rpc code cleanup
    pnfs: change how lsegs are removed from layout list
    pnfs: change layout state seqlock to a spinlock
    pnfs: add prefix to struct pnfs_layout_hdr fields
    pnfs: add prefix to struct pnfs_layout_segment fields
    ...

    Linus Torvalds
     
  • The netlink interface to dump the connection tracking table has a race
    when entries are deleted at the same time. A customer reported a crash
    and the backtrace showed thatctnetlink_dump_table was running while a
    conntrack entry was being destroyed.
    (see https://bugzilla.vyatta.com/show_bug.cgi?id=6402).

    According to RCU documentation, when using hlist_nulls the reader
    must handle the case of seeing a deleted entry and not proceed
    further down the linked list. The old code would continue
    which caused the scan to walk into the free list.

    This patch uses locking (rather than RCU) for this operation which
    is guaranteed safe, and no longer requires getting reference while
    doing dump operation.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Pablo Neira Ayuso

    Stephen Hemminger
     
  • skb_cow_data() may allocate a new data buffer, so pointers on
    skb should be set after this function.

    Bug was introduced by commit dff3bb06 ("ah4: convert to ahash")
    and 8631e9bd ("ah6: convert to ahash").

    Signed-off-by: Wang Xuefu
    Acked-by: Krzysztof Witek
    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Dang Hongwu
     
  • Maximum trunc length is defined by MAX_AH_AUTH_LEN (in bytes)
    and need to be checked when this value is set (in bits) by
    the user. In ah4.c and ah6.c a BUG_ON() checks this condiftion.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel