tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/netinet



hi,

> Module Name:  src
> Committed By: tls
> Date:         Thu Apr  1 00:24:41 UTC 2010
> 
> Modified Files:
>       src/sys/netinet: ip_flow.c tcp_input.c
> 
> Log Message:
> After discussion with ad@: it appears that KERNEL_LOCK also protects
> the driver output path (that is, ifp->if_output()).  In the case of
> entry through the socket code, we are fine, because pru_usrreq takes
> KERNEL_LOCK.  However, there are a few other ways to cause output
> which require protection:
> 
>       1) direct calls to tcp_output() in tcp_input()
>       2) fast-forwarding code (ip_flow) -- protected elsewise
>          against itself by the softnet lock.
>       3) *Possibly* the ARP code.  I have currently persuaded
>          myself that it is safe because of how it's called.
>       4) Possibly the ICMP code.
> 
> This change addresses #1 and #2.

what's the status of the rest?

it seems that ip_forward() at least still has the problem.

YAMAMOTO Takashi

> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.58 -r1.59 src/sys/netinet/ip_flow.c
> cvs rdiff -u -r1.300 -r1.301 src/sys/netinet/tcp_input.c
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.


Home | Main Index | Thread Index | Old Index