03 Jan, 2006

8 commits


28 Dec, 2005

1 commit

  • The below "jumbo" patch fixes the following problems in MLDv2.

    1) Add necessary "ntohs" to recent "pskb_may_pull" check [breaks
    all nonzero source queries on little-endian (!)]

    2) Add locking to source filter list [resend of prior patch]

    3) fix "mld_marksources()" to
    a) send nothing when all queried sources are excluded
    b) send full exclude report when source queried sources are
    not excluded
    c) don't schedule a timer when there's nothing to report

    NOTE: RFC 3810 specifies the source list should be saved and each
    source reported individually as an IS_IN. This is an obvious DOS
    path, requiring the host to store and then multicast as many sources
    as are queried (e.g., millions...). This alternative sends a full,
    relevant report that's limited to number of sources present on the
    machine.

    4) fix "add_grec()" to send empty-source records when it should
    The original check doesn't account for a non-empty source
    list with all sources inactive; the new code keeps that
    short-circuit case, and also generates the group header
    with an empty list if needed.

    5) fix mca_crcount decrement to be after add_grec(), which needs
    its original value

    These issues (other than item #1 ;-) ) were all found by Yan Zheng,
    much thanks!

    Signed-off-by: David L Stevens
    Signed-off-by: David S. Miller

    David L Stevens
     

25 Dec, 2005

3 commits


23 Dec, 2005

3 commits

  • Len Brown
     
  • Linus Torvalds
     
  • Currently a simple

    void foo(void) { preempt_enable(); }

    produces the following code on ARM:

    foo:
    bic r3, sp, #8128
    bic r3, r3, #63
    ldr r2, [r3, #4]
    ldr r1, [r3, #0]
    sub r2, r2, #1
    tst r1, #4
    str r2, [r3, #4]
    blne preempt_schedule
    mov pc, lr

    The problem is that the TIF_NEED_RESCHED flag is loaded _before_ the
    preemption count is stored back, hence any interrupt coming within that
    3 instruction window causing TIF_NEED_RESCHED to be set won't be
    seen and scheduling won't happen as it should.

    Nothing currently prevents gcc from performing that reordering. There
    is already a barrier() before the decrement of the preemption count, but
    another one is needed between this and the TIF_NEED_RESCHED flag test
    for proper code ordering.

    Signed-off-by: Nicolas Pitre
    Acked-by: Nick Piggin
    Signed-off-by: Linus Torvalds

    Nicolas Pitre
     

22 Dec, 2005

3 commits


21 Dec, 2005

4 commits


20 Dec, 2005

3 commits

  • Ensure we call unmap_mapping_range() and sync dirty pages to disk before
    doing an NFS direct write.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • When we insert a new xfrm_state which potentially
    subsumes an existing one, make sure all cached
    bundles are flushed so that the new SA is used
    immediately.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • I reported a problem and gave hints to the solution, but nobody seemed
    to react. So I prepared a patch against 2.6.14.4.

    Tested on 2.6.14.4 with "ip monitor addr" and with the program
    attached, while adding and removing IPv6 address. Both programs didn't
    receive any messages. Tested 2.6.14.4 + this patch, and both programs
    received add and remove messages.

    Signed-off-by: Kristian Slavov
    Acked-by: Jamal Hadi salim
    ACKed-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Kristian Slavov
     

19 Dec, 2005

2 commits


17 Dec, 2005

5 commits


16 Dec, 2005

3 commits


15 Dec, 2005

5 commits