1. 25 Mar, 2006 2 commits
    • Herbert Xu's avatar
      [SCTP]: Fix up sctp_rcv return value · 2babf9da
      Herbert Xu authored
      I was working on the ipip/xfrm problem and as usual I get side-tracked by
      other problems.
      
      As part of an attempt to change the IPv4 protocol handler calling
      convention I found that SCTP violated the existing convention.
      
      It's returning non-zero values after freeing the skb.  This is doubly bad
      as 1) the skb gets resubmitted; 2) the return value is interpreted as a
      protocol number.
      
      This patch changes those return values to zero.
      
      IPv6 doesn't suffer from this problem because it uses a positive return
      value as an indication for resubmission.  So the only effect of this patch
      there is to increment the IPSTATS_MIB_INDELIVERS counter which IMHO is
      the right thing to do.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2babf9da
    • Herbert Xu's avatar
      [NET]: Take RTNL when unregistering notifier · 9f514950
      Herbert Xu authored
      The netdev notifier call chain is currently unregistered without taking
      any locks outside the notifier system.  Because the notifier system itself
      does not synchronise unregistration with respect to the calling of the
      chain, we as its user need to do our own locking.
      
      We are supposed to take the RTNL for all calls to netdev notifiers, so
      taking the RTNL should be sufficient to protect it.
      
      The registration path in dev.c already takes the RTNL so it's OK.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9f514950
  2. 24 Mar, 2006 38 commits