1. 31 7月, 2008 3 次提交
  2. 30 7月, 2008 16 次提交
  3. 28 7月, 2008 1 次提交
    • A
      missing bits of net-namespace / sysctl · eeb61f71
      Al Viro 提交于
      Piss-poor sysctl registration API strikes again, film at 11...
      
      What we really need is _pathname_ required to be present in already
      registered table, so that kernel could warn about bad order.  That's the
      next target for sysctl stuff (and generally saner and more explicit
      order of initialization of ipv[46] internals wouldn't hurt either).
      
      For the time being, here are full fixups required by ..._rotable()
      stuff; we make per-net sysctl sets descendents of "ro" one and make sure
      that sufficient skeleton is there before we start registering per-net
      sysctls.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eeb61f71
  4. 27 7月, 2008 13 次提交
  5. 26 7月, 2008 7 次提交
    • M
      cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu · 0bc3cc03
      Mike Travis 提交于
        * Replace previous instances of the cpumask_of_cpu_ptr* macros
          with a the new (lvalue capable) generic cpumask_of_cpu().
      Signed-off-by: NMike Travis <travis@sgi.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0bc3cc03
    • W
      dccp: Add check for truncated ICMPv6 DCCP error packets · 860239c5
      Wei Yongjun 提交于
      This patch adds a minimum-length check for ICMPv6 packets, as per the previous
      patch for ICMPv4 payloads.
      Signed-off-by: NWei Yongjun <yjwei@cn.fujitsu.com>
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      860239c5
    • W
      dccp: Fix incorrect length check for ICMPv4 packets · 18e1d836
      Wei Yongjun 提交于
      Unlike TCP, which only needs 8 octets of original packet data, DCCP requires
      minimally 12 or 16 bytes for ICMP-payload sequence number checks.
      
      This patch replaces the insufficient length constant of 8 with a two-stage
      test, making sure that 12 bytes are available, before computing the basic
      header length required for sequence number checks.
      Signed-off-by: NWei Yongjun <yjwei@cn.fujitsu.com>
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      18e1d836
    • W
      dccp: Add check for sequence number in ICMPv6 message · e0bcfb0c
      Wei Yongjun 提交于
      This adds a sequence number check for ICMPv6 DCCP error packets, in the same
      manner as it has been done for ICMPv4 in the previous patch.
      Signed-off-by: NWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      e0bcfb0c
    • W
      dccp: Fix sequence number check for ICMPv4 packets · d68f0866
      Wei Yongjun 提交于
      The payload of ICMP message is a part of the packet sent by ourself,
      so the sequence number check must use AWL and AWH, not SWL and SWH.
      
      For example:
           Endpoint A                  Endpoint B
      
           DATA-ACK       -------->
           (SEQ=X)
                          <--------    ICMP (Fragmentation Needed)
                                       (SEQ=X)
      Signed-off-by: NWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      d68f0866
    • G
      dccp: Bug-Fix - AWL was never updated · 73f18fdb
      Gerrit Renker 提交于
      The AWL lower Ack validity window advances in proportion to GSS, the greatest
      sequence number sent. Updating AWL other than at connection setup (in the
      DCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.
      
      This bug lead to syslog messages such as
      
       "kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] 
        P.ackno exists or LAWL(82947089) <= P.ackno(82948208)
                                         <= S.AWH(82948728), sending SYNC..."
      
      The difference between AWL/AWH here is 1639 packets, while the expected value
      (the Sequence Window) would have been 100 (the default).  A closer look showed
      that LAWL = AWL = 82947089 equalled the ISS on the Response.
      
      The patch now updates AWL with each increase of GSS.
      
      
      Further changes:
      ----------------
      The patch also enforces more stringent checks on the ISS sequence number:
      
       * AWL is initialised to ISS at connection setup and remains at this value;
       * AWH is then always set to GSS (via dccp_update_gss());
       * so on the first Request: AWL =      AWH = ISS,
         and on the n-th Request: AWL = ISS, AWH = ISS + n.
      
      As a consequence, only Response packets that refer to Requests sent by this
      host will pass, all others are discarded. This is the intention and in effect 
      implements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.
      
      Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>   
      Acked-by: NIan McDonald <ian.mcdonald@jandi.co.nz>
      73f18fdb
    • G
      dccp: Allow to distinguish original and retransmitted packets · 59435444
      Gerrit Renker 提交于
      This patch allows the sender to distinguish original and retransmitted packets,
      which is in particular needed for the retransmission of DCCP-Requests:
       * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS = ISS;
       * all retransmitted Requests use GSS' = GSS + 1, so that the n-th retransmitted
         Request has sequence number ISS + n (mod 48).
      
      To add generic support, the patch reorganises existing code so that:
       * icsk_retransmits == 0     for the original packet and
       * icsk_retransmits = n > 0  for the n-th retransmitted packet
      at the time dccp_transmit_skb() is called, via dccp_retransmit_skb().
       
      Thanks to Wei Yongjun for pointing this problem out.
      
      Further changes:
      ----------------
       * removed the `skb' argument from dccp_retransmit_skb(), since sk_send_head
         is used for all retransmissions (the exception is client-Acks in PARTOPEN
         state, but these do not use sk_send_head);
       * since sk_send_head always contains the original skb (via dccp_entail()),
         skb_cloned() never evaluated to true and thus pskb_copy() was never used.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      59435444