15 Jan, 2011

1 commit


14 Jan, 2011

4 commits

  • * '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
     

13 Jan, 2011

4 commits

  • 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
     

12 Jan, 2011

7 commits

  • * 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
     
  • inet_csk_bind_conflict() logic currently disallows a bind() if
    it finds a friend socket (a socket bound on same address/port)
    satisfying a set of conditions :

    1) Current (to be bound) socket doesnt have sk_reuse set
    OR
    2) other socket doesnt have sk_reuse set
    OR
    3) other socket is in LISTEN state

    We should add the CLOSE state in the 3) condition, in order to avoid two
    REUSEADDR sockets in CLOSE state with same local address/port, since
    this can deny further operations.

    Note : a prior patch tried to address the problem in a different (and
    buggy) way. (commit fda48a0d7a8412ced tcp: bind() fix when many ports
    are bound).

    Reported-by: Gaspar Chilingarov
    Reported-by: Daniel Baluta
    Tested-by: Daniel Baluta
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

11 Jan, 2011

10 commits

  • Use proper data types for storing the count of the binary blob and
    length of a string. Without this patch length calculation of string will
    always result in -1 because of comparision between signed and unsigned
    integer.

    Signed-off-by: M. Mohan Kumar
    Signed-off-by: Venkateswararao Jujjuri
    Signed-off-by: Eric Van Hensbergen

    M. Mohan Kumar
     
  • Checks version field of IP in the receive path for GPRS/3G data
    and appropriately sets the value of skb->protocol.

    Signed-off-by: Sjur Braendeland
    Signed-off-by: David S. Miller

    Kumar Sanghvi
     
  • IPv4 over firewire needs to be able to remove ARP entries
    from the ARP cache that belong to nodes that are removed, because
    IPv4 over firewire uses ARP packets for private information
    about nodes.

    This information becomes invalid as soon as node drops
    off the bus and when it reconnects, its only possible
    to start talking to it after it responded to an ARP packet.
    But ARP cache prevents such packets from being sent.

    Signed-off-by: Maxim Levitsky
    Signed-off-by: David S. Miller

    Maxim Levitsky
     
  • HTB takes into account skb is segmented in stats updates.
    Generalize this to all schedulers.

    They should use qdisc_bstats_update() helper instead of manipulating
    bstats.bytes and bstats.packets

    Add bstats_update() helper too for classes that use
    gnet_stats_basic_packed fields.

    Note : Right now, TCQ_F_CAN_BYPASS shortcurt can be taken only if no
    stab is setup on qdisc.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Added alloc_netdev_mqs function which allows the number of transmit and
    receive queues to be specified independenty. alloc_netdev_mq was
    changed to a macro to call the new function. Also added
    alloc_etherdev_mqs with same purpose.

    Signed-off-by: Tom Herbert
    Signed-off-by: David S. Miller

    Tom Herbert
     
  • The size field should not be set until after the data is successfully
    copied in.

    Signed-off-by: Dan Rosenberg
    Signed-off-by: David S. Miller

    Dan Rosenberg
     
  • Dan Rosenberg pointed out that there were some signed comparison bugs
    in the phonet protocol.

    http://marc.info/?l=full-disclosure&m=129424528425330&w=2

    The problem is that we check for array overflows but "protocol" is
    signed and we don't check for array underflows. If you have already
    have CAP_SYS_ADMIN then you could use the bugs to get root, or someone
    could cause an oops by mistake.

    Signed-off-by: Dan Carpenter
    Acked-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • Conflicts:
    fs/nfs/nfs2xdr.c
    fs/nfs/nfs3xdr.c
    fs/nfs/nfs4xdr.c

    Trond Myklebust
     
  • vm_map_ram() is not available on NOMMU platforms, and causes trouble
    on incoherrent architectures such as ARM when we access the page data
    through both the direct and the virtual mapping.

    The alternative is to use the direct mapping to access page data
    for the case when we are not crossing a page boundary, but to copy
    the data into a linear scratch buffer when we are accessing data
    that spans page boundaries.

    Signed-off-by: Trond Myklebust
    Tested-by: Marc Kleine-Budde
    Cc: stable@kernel.org [2.6.37]

    Trond Myklebust
     
  • Using "iptables -L" with a lot of rules have a too big BH latency.
    Jesper mentioned ~6 ms and worried of frame drops.

    Switch to a per_cpu seqlock scheme, so that taking a snapshot of
    counters doesnt need to block BH (for this cpu, but also other cpus).

    This adds two increments on seqlock sequence per ipt_do_table() call,
    its a reasonable cost for allowing "iptables -L" not block BH
    processing.

    Reported-by: Jesper Dangaard Brouer
    Signed-off-by: Eric Dumazet
    CC: Patrick McHardy
    Acked-by: Stephen Hemminger
    Acked-by: Jesper Dangaard Brouer
    Signed-off-by: Pablo Neira Ayuso

    Eric Dumazet
     

10 Jan, 2011

9 commits

  • In order to compute the features for other offloads (primarily
    scatter/gather), we need to first check the ability of the NIC to
    offload the checksum for the packet. Since we have already computed
    this, we can directly use the result instead of figuring it out
    again.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • This switches skb_need_linearize() to use the features that have
    been centrally computed. In doing so, this fixes a problem where
    scatter/gather should not be used because the card does not support
    checksum offloading on that type of packet. On device registration
    we only check that some form of checksum offloading is available if
    scatter/gatther is enabled but we must also check at transmission
    time. Examples of this include IPv6 or vlan packets on a NIC that
    only supports IPv4 offloading.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • This switches dev_gso_segment() to use the device features computed
    by the centralized routine. In doing so, it fixes a problem where
    it would always use dev->features, instead of those appropriate
    to the number of vlan tags if any are present.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • Now that there is a single function that can compute the device
    features relevant to a packet, we don't want to run it for each
    offload. This converts netif_needs_gso() to take the features
    of the device, rather than computing them itself.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • netif_get_vlan_features() is currently only used by netif_needs_gso(),
    so it only concerns itself with GSO features. However, several other
    places also should take into account the contents of the packet when
    deciding whether to offload to hardware. This generalizes the function
    to return features about all of the various forms of offloading. Since
    offloads tend to be linked together, this avoids duplicating the logic
    in each location (i.e. the scatter/gather code also needs the checksum
    logic).

    Suggested-by: Michał Mirosław
    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • We currently only have software fallback for one type of checksum: the
    TCP/UDP one's complement. This means that a protocol that uses hardware
    offloading for a different type of checksum (FCoE, SCTP) must directly
    check the device's features and do the right thing ahead of time. By
    the time we get to dev_can_checksum(), we're only deciding whether to
    apply the one algorithm in software or hardware. NETIF_F_HW_CSUM has the
    same capabilities as the software version, so we should always use it if
    present. The primary advantage of this is multiply tagged vlans can use
    hardware checksumming.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     
  • Fix new kernel-doc notation warning in net/core/filter.c:

    Warning(net/core/filter.c:172): No description found for parameter 'fentry'
    Warning(net/core/filter.c:172): Excess function parameter 'filter' description in 'sk_run_filter'

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

    Randy Dunlap
     
  • Due to NLM_F_DUMP is composed of two bits, NLM_F_ROOT | NLM_F_MATCH,
    when doing "if (x & NLM_F_DUMP)", it tests for _either_ of the bits
    being set. Because NLM_F_MATCH's value overlaps with NLM_F_EXCL,
    non-dump requests with NLM_F_EXCL set are mistaken as dump requests.

    Substitute the condition to test for _all_ bits being set.

    Signed-off-by: Jan Engelhardt
    Acked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Jan Engelhardt
     
  • David S. Miller
     

08 Jan, 2011

3 commits

  • * 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)
    usb: don't use flush_scheduled_work()
    speedtch: don't abuse struct delayed_work
    media/video: don't use flush_scheduled_work()
    media/video: explicitly flush request_module work
    ioc4: use static work_struct for ioc4_load_modules()
    init: don't call flush_scheduled_work() from do_initcalls()
    s390: don't use flush_scheduled_work()
    rtc: don't use flush_scheduled_work()
    mmc: update workqueue usages
    mfd: update workqueue usages
    dvb: don't use flush_scheduled_work()
    leds-wm8350: don't use flush_scheduled_work()
    mISDN: don't use flush_scheduled_work()
    macintosh/ams: don't use flush_scheduled_work()
    vmwgfx: don't use flush_scheduled_work()
    tpm: don't use flush_scheduled_work()
    sonypi: don't use flush_scheduled_work()
    hvsi: don't use flush_scheduled_work()
    xen: don't use flush_scheduled_work()
    gdrom: don't use flush_scheduled_work()
    ...

    Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c
    as per Tejun.

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (65 commits)
    [S390] prevent unneccesary loops_per_jiffy recalculation
    [S390] cpuinfo: use get_online_cpus() instead of preempt_disable()
    [S390] smp: remove cpu hotplug messages
    [S390] mutex: enable spinning mutex on s390
    [S390] mutex: Introduce arch_mutex_cpu_relax()
    [S390] cio: fix ccwgroup unregistration race condition
    [S390] perf: add DWARF register lookup for s390
    [S390] cleanup ftrace backend functions
    [S390] ptrace cleanup
    [S390] smp/idle: call init_idle() before starting a new cpu
    [S390] smp: delay idle task creation
    [S390] dasd: Correct retry counter for terminated I/O.
    [S390] dasd: Add support for raw ECKD access.
    [S390] dasd: Prevent deadlock during suspend/resume.
    [S390] dasd: Improve handling of stolen DASD reservation
    [S390] dasd: do path verification for paths added at runtime
    [S390] dasd: add High Performance FICON multitrack support
    [S390] cio: reduce memory consumption of itcw structures
    [S390] nmi: enable machine checks early
    [S390] qeth: buffer count imbalance
    ...

    Linus Torvalds
     
  • …t/npiggin/linux-npiggin

    * 'vfs-scale-working' of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)
    fs: scale mntget/mntput
    fs: rename vfsmount counter helpers
    fs: implement faster dentry memcmp
    fs: prefetch inode data in dcache lookup
    fs: improve scalability of pseudo filesystems
    fs: dcache per-inode inode alias locking
    fs: dcache per-bucket dcache hash locking
    bit_spinlock: add required includes
    kernel: add bl_list
    xfs: provide simple rcu-walk ACL implementation
    btrfs: provide simple rcu-walk ACL implementation
    ext2,3,4: provide simple rcu-walk ACL implementation
    fs: provide simple rcu-walk generic_check_acl implementation
    fs: provide rcu-walk aware permission i_ops
    fs: rcu-walk aware d_revalidate method
    fs: cache optimise dentry and inode for rcu-walk
    fs: dcache reduce branches in lookup path
    fs: dcache remove d_mounted
    fs: fs_struct use seqlock
    fs: rcu-walk for path lookup
    ...

    Linus Torvalds
     

07 Jan, 2011

2 commits

  • The 'seq_window' sysctl sets the initial value for the DCCP Sequence Window,
    which may range from 32..2^46-1 (RFC 4340, 7.5.2). The patch sets the upper
    bound consistently to 2^32-1 on both 32 and 64 bit systems, which should be
    sufficient - with a RTT of 1sec and 1-byte packets, a seq_window of 2^32-1
    corresponds to a link speed of 34 Gbps.

    Signed-off-by: Gerrit Renker

    Gerrit Renker
     
  • Currently dccp_check_seqno allows any valid packet to update the Greatest
    Sequence Number Received, even if that packet's sequence number is less than
    the current GSR. This patch adds a check to make sure that the new packet's
    sequence number is greater than GSR.

    Signed-off-by: Samuel Jero
    Signed-off-by: Gerrit Renker

    Samuel Jero