01 Jul, 2006

40 commits

  • This patch adds GSO support for IPv6 and TCPv6.

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

    Herbert Xu
     
  • We don't need to check skb->len when we're just about to call
    pskb_may_pull since that checks it for us.

    Signed-off-by: Herbert Xu
    Acked-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • When a packet without any chunks is received, the newconntrack variable
    in sctp_packet contains an out of bounds value that is used to look up an
    pointer from the array of timeouts, which is then dereferenced, resulting
    in a crash. Make sure at least a single chunk is present.

    Problem noticed by George A. Theall

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Update version to 3.61.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Use GSO to workaround a rare TSO bug on some chips. This hardware
    bug may be triggered when the TSO header size is greater than 80
    bytes. When this condition is detected in a TSO packet, the driver
    will use GSO to segment the packet to workaround the hardware bug.

    Thanks to Juergen Kreileder for reporting the
    problem and collecting traces to help debug the problem.

    And thanks to Herbert Xu for providing
    the GSO mechanism that happens to be the perfect workaround for this
    problem.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Clear a bit to enable a hardware fix for some ASF related problem.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add workaround to limit the burst size of rx BDs being DMA'ed to the
    chip. This works around hardware errata on a number of 5750, 5752,
    and 5755 chips.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add tg3_netif_stop() when changing the vlgrp (vlan group) pointer. It
    is necessary to quiesce the device before changing that pointer.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • I wasn't paranoid enough in verifying GSO information. A bogus gso_segs
    could upset drivers as much as a bogus header would. Let's reset it in
    the per-protocol gso_segment functions.

    I didn't verify gso_size because that can be verified by the source of
    the dodgy packets.

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

    Herbert Xu
     
  • drivers/i2c/busses/i2c-i801.c: In function 'i801_probe':
    drivers/i2c/busses/i2c-i801.c:496: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'resource_size_t'

    Cc: Greg KH
    Cc: Vivek Goyal
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Remove devfs leftovers.

    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Server-side implementation of rpcsec_gss privacy, which enables encryption of
    the payload of every rpc request and response.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Add a rq_sendfile_ok flag to svc_rqst which will be cleared in the privacy
    case so that the wrapping code will get copies of the read data instead of
    real page cache pages. This makes life simpler when we encrypt the response.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Pull out some of the integrity code into its own function, otherwise
    svcauth_gss_release() is going to become very ungainly after the addition of
    privacy code.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Since nfsv4 actually keeps around the file descriptors it gets from open
    (instead of just using them for a single read or write operation), we need to
    make sure that we can do RDWR opens and not just RDONLY/WRONLY.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • These tests always returned true; clearly that wasn't what was intended.

    In keeping with kernel style, make them functions instead of macros while
    we're at it.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Adopt a simpler convention for gss_mech_put(), to simplify rsc_parse().

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • In the event that lookup_one_len() fails in nfsd_link(), fh_unlock() is
    skipped and locks are held overlong.

    Patch was tested on 2.6.17-rc2 by causing lookup_one_len() to fail and
    verifying that fh_unlock() gets called appropriately.

    Signed-off-by: David M. Richter
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David M. Richter
     
  • We're checking nfs_in_grace here a few times when there isn't really any
    reason to--bad_stateid is probably the more sensible return value anyway.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • In the typical v2/v3 case the only new filehandles used as arguments to
    operations are filehandles taken directly off the wire, which don't get
    dentries until fh_verify() is called.

    But in v4 the filehandles that are arguments to operations were often created
    by previous operations (putrootfh, lookup, etc.) using fh_compose, which sets
    the dentry in the filehandle without calling nfsd_setuser().

    This also means that, for example, if filesystem B is mounted on filesystem A,
    and filesystem A is exported without root-squashing, then a client can bypass
    the rootsquashing on B using a compound that starts at a filehandle in A,
    crosses into B using lookups, and then does stuff in B.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Fix an improper unlock in an error path.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • nfsd tries to return to a client the same sort of filehandle as was used by
    the client. This removes some filehandle aliasing issues and means that a
    server upgrade followed by a downgrade will not confused clients not restarted
    during that time.

    However when crossing a mountpoint, the filehandle used for one filesystem
    doesn't provide any useful information on what sort of filehandle should be
    used on the other, and can provide misleading information. So if the
    reference filehandle is on a different filesystem to the one being generated,
    ignore it.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • There is a perfectly valid situation where fh_update gets called on an already
    uptodate filehandle - in nfsd_create_v3 where a CREATE_UNCHECKED finds an
    existing file and wants to just set the size.

    We could possible optimise out the call in that case, but the only harm
    involved is that fh_update prints a warning, so it is easier to remove the
    warning.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Type '3' is used for the fsid in filehandles when the device number of the
    device holding the filesystem has more than 8 bits in either major or minor.
    Unfortunately expkey_parse doesn't recognise type 3. Fix this.

    (Slighty modified from Frank's original)

    Signed-off-by: Frank Filz
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frank Filz
     
  • Just testing the i_sb isn't really enough, at least the vfsmnt must be the
    same. Thanks Al.

    Cc: Al Viro
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Removed Dave Peterson as per his request as co-maintainer of EDAC Thanks Dave.

    Added Mark Gross as maintainer of edac-e752x driver Thanks Mark

    Signed-off-by: Doug Thompson
    Signed-off-by: Dave Peterson
    Signed-off-by: Mark Gross
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • - Add lower-level functions that handle various parts of the initialization
    done by the xxx_probe1() functions. Some of the xxx_probe1() functions are
    much too long and complicated (see "Chapter 5: Functions" in
    Documentation/CodingStyle).

    - Cleanup of probe1() functions in EDAC

    Signed-off-by: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • Remove add_mc_to_global_list(). In next patch, this function will be
    reimplemented with different semantics.

    1 Reimplement add_mc_to_global_list() with semantics that allow the caller to
    determine the ID number for a mem_ctl_info structure. Then modify
    edac_mc_add_mc() so that the caller specifies the ID number for the new
    mem_ctl_info structure. Platform-specific code should be able to assign the
    ID numbers in a platform-specific manner. For instance, on Opteron it makes
    sense to have the ID of the mem_ctl_info structure match the ID of the node
    that the memory controller belongs to.

    2 Modify callers of edac_mc_add_mc() so they use the new semantics.

    Signed-off-by: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • Change MC drivers from using CVS revision strings for their version number,
    Now each driver has its own local string.

    Remove some PCI dependencies from the core EDAC module. Made the code 'struct
    device' centric instead of 'struct pci_dev' Most of the code changes here are
    from a patch by Dave Jiang. It may be best to eventually move the
    PCI-specific code into a separate source file.

    Signed-off-by: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • Two typos in Documentation/IPMI.

    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt LaPlante
     
  • Add __acquire annotations to rcu_read_lock and rcu_read_lock_bh, and add
    __release annotations to rcu_read_unlock and rcu_read_unlock_bh. This
    allows sparse to detect improperly paired calls to these functions.

    Signed-off-by: Josh Triplett
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • - make __cm206_init() __init (required since it calls
    the __init cm206_init())
    - make the needlessly global bcdbin() static
    - remove a comment with an obsolete compile command

    Signed-off-by: Adrian Bunk
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Don't show a menu that can't be entered due to lack of contents on arm (the
    options are only available on arm26).

    Signed-off-by: Adrian Bunk
    Acked-by: Ian Molton
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This corrects the comments describing the 'enabled' and 'pending' flags in
    struct rtc_wkalrm of include/linux/rtc.h.

    Signed-off-by: Andrew Victor
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Victor
     
  • Fix a bug identified by Zou Nan hai :

    If the system is in state SYSTEM_BOOTING, and need_resched() is true,
    cond_resched() returns true even though it didn't reschedule. Consequently
    need_resched() remains true and JBD locks up.

    Fix that by teaching cond_resched() to only return true if it really did call
    schedule().

    cond_resched_lock() and cond_resched_softirq() have a problem too. If we're
    in SYSTEM_BOOTING state and need_resched() is true, these functions will drop
    the lock and will then try to call schedule(), but the SYSTEM_BOOTING state
    will prevent schedule() from being called. So on return, need_resched() will
    still be true, but cond_resched_lock() has to return 1 to tell the caller that
    the lock was dropped. The caller will probably lock up.

    Bottom line: if these functions dropped the lock, they _must_ call schedule()
    to clear need_resched(). Make it so.

    Also, uninline __cond_resched(). It's largeish, and slowpath.

    Acked-by: Ingo Molnar
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The x86_64 build requires a definition for __raw_writeq.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided to try
    out UML today. I found that UML wasn't quite aware of biarch compilers (which
    Ubuntu i386 ships). A fix similar to what was done for x86_64 should probably
    be committed (see
    http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2). Without
    the FLAGS changes, the build will fail at a number of places and without the
    LINK change, the final link will fail.

    Signed-off-by: Nishanth Aravamudan
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Forgot to remove arch/um/kernel/time.c when it was mostly moved to
    arch/um/os-Linux.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Remove um_time() and um_stime() syscalls since they are identical to
    system-wide ones.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • do_timer must be called with xtime_lock held. I'm not sure boot_timer_handler
    needs this, however I don't think it hurts: it simply disables irq and takes a
    spinlock.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike