https://github.com/torvalds/linux
Revision 5ab4a6c81eb3dbe32361791d1535f9153f79b0ed authored by David L Stevens on 27 December 2005, 22:03:00 UTC, committed by David S. Miller on 27 December 2005, 22:03:00 UTC
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 <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1b93ae6
History
Tip revision: 5ab4a6c81eb3dbe32361791d1535f9153f79b0ed authored by David L Stevens on 27 December 2005, 22:03:00 UTC
[IPV6] mcast: Fix multiple issues in MLDv2 reports.
Tip revision: 5ab4a6c
File Mode Size
Documentation
arch
block
crypto
drivers
fs
include
init
ipc
kernel
lib
mm
net
scripts
security
sound
usr
.gitignore -rw-r--r-- 391 bytes
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 87.5 KB
Kbuild -rw-r--r-- 1.2 KB
MAINTAINERS -rw-r--r-- 63.8 KB
Makefile -rw-r--r-- 42.8 KB
README -rw-r--r-- 14.7 KB
REPORTING-BUGS -rw-r--r-- 3.0 KB

README

back to top