17 Jan, 2010

1 commit

  • This patch adds the RFC4543 (GMAC) wrapper for GCM similar to the
    existing RFC4106 wrapper. The main differences between GCM and GMAC are
    the contents of the AAD and that the plaintext is empty for the latter.

    Signed-off-by: Tobias Brunner
    Signed-off-by: Herbert Xu

    Tobias Brunner
     

17 Dec, 2009

11 commits

  • Filesystems outside the regular namespace do not have to clear DCACHE_UNHASHED
    in order to have a working /proc/$pid/fd/XXX. Nothing in proc prevents the
    fd link from being used if its dentry is not in the hash.

    Also, it does not get put into the dcache hash if DCACHE_UNHASHED is clear;
    that depends on the filesystem calling d_add or d_rehash.

    So delete the misleading comments and needless code.

    Acked-by: Miklos Szeredi
    Signed-off-by: Nick Piggin
    Signed-off-by: Al Viro

    Nick Piggin
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (38 commits)
    direct I/O fallback sync simplification
    ocfs: stop using do_sync_mapping_range
    cleanup blockdev_direct_IO locking
    make generic_acl slightly more generic
    sanitize xattr handler prototypes
    libfs: move EXPORT_SYMBOL for d_alloc_name
    vfs: force reval of target when following LAST_BIND symlinks (try #7)
    ima: limit imbalance msg
    Untangling ima mess, part 3: kill dead code in ima
    Untangling ima mess, part 2: deal with counters
    Untangling ima mess, part 1: alloc_file()
    O_TRUNC open shouldn't fail after file truncation
    ima: call ima_inode_free ima_inode_free
    IMA: clean up the IMA counts updating code
    ima: only insert at inode creation time
    ima: valid return code from ima_inode_alloc
    fs: move get_empty_filp() deffinition to internal.h
    Sanitize exec_permission_lite()
    Kill cached_lookup() and real_lookup()
    Kill path_lookup_open()
    ...

    Trivial conflicts in fs/direct-io.c

    Linus Torvalds
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFSv4: Fix a regression in the NFSv4 state manager
    NFSv4: Release the sequence id before restarting a CLOSE rpc call
    nfs41: fix session fore channel negotiation
    nfs41: do not zero seqid portion of stateid on close
    nfs: run state manager in privileged mode
    nfs: make recovery state manager operations privileged
    nfs: enforce FIFO ordering of operations trying to acquire slot
    rpc: add a new priority in RPC task
    nfs: remove rpc_task argument from nfs4_find_slot
    rpc: add rpc_queue_empty function
    nfs: change nfs4_do_setlk params to identify recovery type
    nfs: do not do a LOOKUP after open
    nfs: minor cleanup of session draining

    Linus Torvalds
     
  • * 'for-2.6.33' of git://linux-nfs.org/~bfields/linux: (42 commits)
    nfsd: remove pointless paths in file headers
    nfsd: move most of nfsfh.h to fs/nfsd
    nfsd: remove unused field rq_reffh
    nfsd: enable V4ROOT exports
    nfsd: make V4ROOT exports read-only
    nfsd: restrict filehandles accepted in V4ROOT case
    nfsd: allow exports of symlinks
    nfsd: filter readdir results in V4ROOT case
    nfsd: filter lookup results in V4ROOT case
    nfsd4: don't continue "under" mounts in V4ROOT case
    nfsd: introduce export flag for v4 pseudoroot
    nfsd: let "insecure" flag vary by pseudoflavor
    nfsd: new interface to advertise export features
    nfsd: Move private headers to source directory
    vfs: nfsctl.c un-used nfsd #includes
    lockd: Remove un-used nfsd headers #includes
    s390: remove un-used nfsd #includes
    sparc: remove un-used nfsd #includes
    parsic: remove un-used nfsd #includes
    compat.c: Remove dependence on nfsd private headers
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits)
    net: sh_eth alignment fix for sh7724 using NET_IP_ALIGN V2
    ixgbe: allow tx of pre-formatted vlan tagged packets
    ixgbe: Fix 82598 premature copper PHY link indicatation
    ixgbe: Fix tx_restart_queue/non_eop_desc statistics counters
    bcm63xx_enet: fix compilation failure after get_stats_count removal
    packet: dont call sleeping functions while holding rcu_read_lock()
    tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.
    ipvs: zero usvc and udest
    netfilter: fix crashes in bridge netfilter caused by fragment jumps
    ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery
    sky2: leave PCI config space writeable
    sky2: print Optima chip name
    x25: Update maintainer.
    ipvs: fix synchronization on connection close
    netfilter: xtables: document minimal required version
    drivers/net/bonding/: : use pr_fmt
    can: CAN_MCP251X should depend on HAS_DMA
    drivers/net/usb: Correct code taking the size of a pointer
    drivers/net/cpmac.c: Correct code taking the size of a pointer
    drivers/net/sfc: Correct code taking the size of a pointer
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (45 commits)
    RDMA/cxgb3: Fix error paths in post_send and post_recv
    RDMA/nes: Fix stale ARP issue
    RDMA/nes: FIN during MPA startup causes timeout
    RDMA/nes: Free kmap() resources
    RDMA/nes: Check for zero STag
    RDMA/nes: Fix Xansation test crash on cm_node ref_count
    RDMA/nes: Abnormal listener exit causes loopback node crash
    RDMA/nes: Fix crash in nes_accept()
    RDMA/nes: Resource not freed for REJECTed connections
    RDMA/nes: MPA request/response error checking
    RDMA/nes: Fix query of ORD values
    RDMA/nes: Fix MAX_CM_BUFFER define
    RDMA/nes: Pass correct size to ioremap_nocache()
    RDMA/nes: Update copyright and branding string
    RDMA/nes: Add max_cqe check to nes_create_cq()
    RDMA/nes: Clean up struct nes_qp
    RDMA/nes: Implement IB_SIGNAL_ALL_WR as an iWARP extension
    RDMA/nes: Add additional SFP+ PHY uC status check and PHY reset
    RDMA/nes: Correct fast memory registration implementation
    IB/ehca: Fix error paths in post_send and post_recv
    ...

    Linus Torvalds
     
  • ... and have the caller grab both mnt and dentry; kill
    leak in infiniband, while we are at it.

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • * if we fail in p9_conn_create(), we shouldn't leak references to struct file.
    Logics in ->close() doesn't help - ->trans is already gone by the time it's
    called.
    * sock_create_kern() can fail.
    * use of sock_map_fd() is all fscked up; I'd fixed most of that, but the
    rest will have to wait for a bit more work in net/socket.c (we still are
    violating the basic rule of working with descriptor table: "once the reference
    is installed there, don't rely on finding it there again").

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     

16 Dec, 2009

9 commits

  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • commit 654d1f8a019dfa06d (packet: less dev_put() calls)
    introduced a problem, calling potentially sleeping functions from a
    rcu_read_lock() protected section.

    Fix this by releasing lock before the sock_wmalloc()/memcpy_fromiovec() calls.

    After skb allocation and copy from user space, we redo device
    lookup and appropriate tests.

    Reported-and-tested-by: Frederic Weisbecker
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • David S. Miller
     
  • It creates a regression, triggering badness for SYN_RECV
    sockets, for example:

    [19148.022102] Badness at net/ipv4/inet_connection_sock.c:293
    [19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000
    [19148.023035] REGS: eeecbd30 TRAP: 0700 Not tainted (2.6.32)
    [19148.023496] MSR: 00029032 CR: 24002442 XER: 00000000
    [19148.024012] TASK = eee9a820[1756] 'privoxy' THREAD: eeeca000

    This is likely caused by the change in the 'estab' parameter
    passed to tcp_parse_options() when invoked by the functions
    in net/ipv4/tcp_minisocks.c

    But even if that is fixed, the ->conn_request() changes made in
    this patch series is fundamentally wrong. They try to use the
    listening socket's 'dst' to probe the route settings. The
    listening socket doesn't even have a route, and you can't
    get the right route (the child request one) until much later
    after we setup all of the state, and it must be done by hand.

    This stuff really isn't ready, so the best thing to do is a
    full revert. This reverts the following commits:

    f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d
    022c3f7d82f0f1c68018696f2f027b87b9bb45c2
    1aba721eba1d84a2defce45b950272cee1e6c72a
    cda42ebd67ee5fdf09d7057b5a4584d36fe8a335
    345cda2fd695534be5a4494f1b59da9daed33663
    dc343475ed062e13fc260acccaab91d7d80fd5b2
    05eaade2782fb0c90d3034fd7a7d5a16266182bb
    6a2a2d6bf8581216e08be15fcb563cfd6c430e1e

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: Alexandros Batsakis
    Signed-off-by: Trond Myklebust

    Alexandros Batsakis
     
  • Signed-off-by: Alexandros Batsakis
    Signed-off-by: Trond Myklebust

    Alexandros Batsakis
     
  • Makes use of skip_spaces() defined in lib/string.c for removing leading
    spaces from strings all over the tree.

    It decreases lib.a code size by 47 bytes and reuses the function tree-wide:
    text data bss dec hex filename
    64688 584 592 65864 10148 (TOTALS-BEFORE)
    64641 584 592 65817 10119 (TOTALS-AFTER)

    Also, while at it, if we see (*str && isspace(*str)), we can be sure to
    remove the first condition (*str) as the second one (isspace(*str)) also
    evaluates to 0 whenever *str == 0, making it redundant. In other words,
    "a char equals zero is never a space".

    Julia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,
    and found occurrences of this pattern on 3 more files:
    drivers/leds/led-class.c
    drivers/leds/ledtrig-timer.c
    drivers/video/output.c

    @@
    expression str;
    @@

    ( // ignore skip_spaces cases
    while (*str && isspace(*str)) { \(str++;\|++str;\) }
    |
    - *str &&
    isspace(*str)
    )

    Signed-off-by: André Goddard Rosa
    Cc: Julia Lawall
    Cc: Martin Schwidefsky
    Cc: Jeff Dike
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Richard Purdie
    Cc: Neil Brown
    Cc: Kyle McMartin
    Cc: Henrique de Moraes Holschuh
    Cc: David Howells
    Cc:
    Cc: Samuel Ortiz
    Cc: Patrick McHardy
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    André Goddard Rosa
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Make sure that any otherwise uninitialised fields of usvc are zero.

    This has been obvserved to cause a problem whereby the port of
    fwmark services may end up as a non-zero value which causes
    scheduling of a destination server to fail for persisitent services.

    As observed by Deon van der Merwe .
    This fix suggested by Julian Anastasov .

    For good measure also zero udest.

    Cc: Deon van der Merwe
    Acked-by: Julian Anastasov
    Signed-off-by: Simon Horman
    Cc: stable@kernel.org
    Signed-off-by: Patrick McHardy

    Simon Horman
     

15 Dec, 2009

2 commits

  • When fragments from bridge netfilter are passed to IPv4 or IPv6 conntrack
    and a reassembly queue with the same fragment key already exists from
    reassembling a similar packet received on a different device (f.i. with
    multicasted fragments), the reassembled packet might continue on a different
    codepath than where the head fragment originated. This can cause crashes
    in bridge netfilter when a fragment received on a non-bridge device (and
    thus with skb->nf_bridge == NULL) continues through the bridge netfilter
    code.

    Add a new reassembly identifier for packets originating from bridge
    netfilter and use it to put those packets in insolated queues.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14805

    Reported-and-Tested-by: Chong Qiao
    Signed-off-by: Patrick McHardy

    Patrick McHardy
     
  • Currently the same reassembly queue might be used for packets reassembled
    by conntrack in different positions in the stack (PREROUTING/LOCAL_OUT),
    as well as local delivery. This can cause "packet jumps" when the fragment
    completing a reassembled packet is queued from a different position in the
    stack than the previous ones.

    Add a "user" identifier to the reassembly queue key to seperate the queues
    of each caller, similar to what we do for IPv4.

    Signed-off-by: Patrick McHardy

    Patrick McHardy
     

14 Dec, 2009

4 commits

  • commit 9d3a0de makes slaves expire as they would do on the master
    with much shorter timeouts. But it introduces another problem:
    When we close a connection, on master server the connection became
    CLOSE_WAIT/TIME_WAIT, it was synced to slaves, but if master is
    finished within it's timeouts (CLOSE), it will not be synced to
    slaves. Then slaves will be kept on CLOSE_WAIT/TIME_WAIT until
    timeout reaches. Thus we should also sync with CLOSE.

    Cc: Wensong Zhang
    Cc: Simon Horman
    Cc: Julian Anastasov
    Cc: David S. Miller
    Signed-off-by: Xiaotian Feng
    Acked-by: Simon Horman
    Signed-off-by: Patrick McHardy

    Xiaotian Feng
     
  • I received some bug reports about userspace programs having problems
    because after RTM_NEWLINK was received they could not immediate access
    files under /proc/sys/net/ because they had not been registered yet.

    The original problem was trivially fixed by moving the userspace
    notification from rtnetlink_event() to the end of
    register_netdevice().

    When testing that change I discovered I was still getting RTM_NEWLINK
    events before I could access proc and I was also getting RTM_NEWLINK
    events after I was seeing RTM_DELLINK. Things practically guaranteed
    to confuse userspace.

    After a little more investigation these extra notifications proved to
    be from the new notifiers NETDEV_POST_INIT and NETDEV_UNREGISTER_BATCH
    hitting the default case in rtnetlink_event, and triggering
    unnecessary RTM_NEWLINK messages.

    rtnetlink_event now explicitly handles NETDEV_UNREGISTER_BATCH and
    NETDEV_POST_INIT to avoid sending the incorrect userspace
    notifications.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • Now we can have a large udp hash table, udp_lib_get_port() loop
    should be converted to a do {} while (cond) form,
    or we dont enter it at all if hash table size is exactly 65536.

    Reported-by: Yinghai Lu
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Trond Myklebust
     

12 Dec, 2009

5 commits

  • Conflicts:
    include/net/tcp.h

    David S. Miller
     
  • Fix two problems:

    1. If unregister_netdevice_many() is called with both registered
    and unregistered devices, rollback_registered_many() bails out
    when it reaches the first unregistered device. The processing
    of the prior registered devices is unfinished, and the
    remaining devices are skipped, and possible registered netdev's
    are leaked/unregistered.

    2. System hangs or panics depending on how the devices are passed,
    since when netdev_run_todo() runs, some devices were not fully
    processed.

    Tested by passing intermingled unregistered and registered vlan
    devices to unregister_netdevice_many() as follows:
    1. dev, fake_dev1, fake_dev2: hangs in run_todo
    ("unregister_netdevice: waiting for eth1.100 to become
    free. Usage count = 1")
    2. fake_dev1, dev, fake_dev2: failure during de-registration
    and next registration, followed by a vlan driver Oops
    during subsequent registration.

    Confirmed that the patch fixes both cases.

    Signed-off-by: Krishna Kumar
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Krishna Kumar
     
  • Commit 4447bb33f09444920a8f1d89e1540137429351b6 ("xfrm: Store aalg in
    xfrm_state with a user specified truncation length") breaks
    installation of authentication algorithms via PF_KEY, as the state
    specific truncation length is not installed with the algorithms
    default truncation length. This patch initializes state properly to
    the default if installed via PF_KEY.

    Signed-off-by: Martin Willi
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Martin Willi
     
  • Use (get|put)_compat_timespec helper functions to simplify the code.

    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Heiko Carstens
    Acked-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Heiko Carstens
     
  • compat_sys_recvmmsg has a compat_timespec parameter and not a
    timespec parameter. This way we also get rid of an odd cast.

    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Heiko Carstens
    Acked-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Heiko Carstens
     

11 Dec, 2009

4 commits


10 Dec, 2009

4 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     
  • The pointer to struct gss_auth parameter in gss_add_msg is not really needed
    after commit 5b7ddd4a. Zap it.

    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Trond Myklebust

    Suresh Jayaraman
     
  • This part was missed in "cfg80211: implement get_wireless_stats",
    probably because sta_set_sinfo already existed and was only handling
    dBm signals.

    Cc: stable@kernel.org
    Signed-off-by: John W. Linville

    John W. Linville
     
  • When the current_bss is not set, 'iwconfig key off' does not
    clear the private flag. Hence after we connect with WEP to an AP and
    then try to connect with another non-WEP AP, it does not work.
    This issue will not be seen if supplicant is used.

    Signed-off-by: Vivek Natarajan
    Signed-off-by: John W. Linville

    Vivek Natarajan