01 Oct, 2008

1 commit

  • sctp_is_any() function that is used to check for wildcard addresses
    only looks at the address itself to determine the address family.
    This function is used in the API to check the address passed in from
    the user. If the user simply zerroes out the sockaddr_storage and
    pass that in, we'll end up failing. So, let's try harder to determine
    the address family by also checking the socket if it's possible.

    Signed-off-by: Vlad Yasevich

    Vlad Yasevich
     

19 Jul, 2008

1 commit


13 Apr, 2008

1 commit


12 Mar, 2008

1 commit


05 Feb, 2008

1 commit

  • I was notified by Randy Stewart that lksctp claims to be
    "the reference implementation". First of all, "the
    refrence implementation" was the original implementation
    of SCTP in usersapce written ty Randy and a few others.
    Second, after looking at the definiton of 'reference implementation',
    we don't really meet the requirements.

    Signed-off-by: Vlad Yasevich

    Vlad Yasevich
     

29 Jan, 2008

2 commits


07 Dec, 2007

1 commit

  • During accept/migrate the code attempts to copy the addresses from
    the parent endpoint to the new endpoint. However, if the parent
    was bound to a wildcard address, then we end up pointlessly copying
    all of the current addresses on the system.

    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Vlad Yasevich
     

08 Nov, 2007

1 commit

  • After learning more about rcu, it looks like the ADD-IP hadling
    doesn't need to call call_rcu_bh. All the rcu critical sections
    use rcu_read_lock, so using call_rcu_bh is wrong here.
    Now, restore the local_bh_disable() code blocks and use normal
    call_rcu() calls. Also restore the missing return statement.

    Signed-off-by: Vlad Yasevich

    Vlad Yasevich
     

27 Sep, 2007

1 commit


17 Sep, 2007

2 commits

  • Since the sctp_sockaddr_entry is now RCU enabled as part of
    the patch to synchronize sctp_localaddr_list, it makes sense to
    change all handling of these entries to RCU. This includes the
    sctp_bind_addrs structure and it's list of bound addresses.

    This list is currently protected by an external rw_lock and that
    looks like an overkill. There are only 2 writers to the list:
    bind()/bindx() calls, and BH processing of ASCONF-ACK chunks.
    These are already seriealized via the socket lock, so they will
    not step on each other. These are also relatively rare, so we
    should be good with RCU.

    The readers are varied and they are easily converted to RCU.

    Signed-off-by: Vlad Yasevich
    Acked-by: Paul E. McKenney
    Acked-by: Sridhar Samdurala
    Signed-off-by: David S. Miller

    Vlad Yasevich
     
  • sctp_localaddr_list is modified dynamically via NETDEV_UP
    and NETDEV_DOWN events, but there is not synchronization
    between writer (even handler) and readers. As a result,
    the readers can access an entry that has been freed and
    crash the sytem.

    Signed-off-by: Vlad Yasevich
    Acked-by: Paul E. McKenney
    Acked-by: Sridhar Samdurala
    Signed-off-by: David S. Miller

    Vlad Yasevich
     

15 Feb, 2007

1 commit

  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

11 Feb, 2007

1 commit


03 Dec, 2006

12 commits


22 Jul, 2006

1 commit


09 Oct, 2005

1 commit

  • - added typedef unsigned int __nocast gfp_t;

    - replaced __nocast uses for gfp flags with gfp_t - it gives exactly
    the same warnings as far as sparse is concerned, doesn't change
    generated code (from gcc point of view we replaced unsigned int with
    typedef) and documents what's going on far better.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

12 Jul, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds