diff options
author | andre <andre@FreeBSD.org> | 2004-09-15 20:13:26 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2004-09-15 20:13:26 +0000 |
commit | 5b67b5c1f38fdb1ca745e61e704050eb2767e3be (patch) | |
tree | 8aac23c439beefe50c1b1751c071c1ddee07eb91 /sys/netinet/ip_icmp.c | |
parent | 375f58b8c16491ec099f2f95a521bc7aebdb0279 (diff) | |
download | FreeBSD-src-5b67b5c1f38fdb1ca745e61e704050eb2767e3be.zip FreeBSD-src-5b67b5c1f38fdb1ca745e61e704050eb2767e3be.tar.gz |
Remove the last two global variables that are used to store packet state while
it travels through the IP stack. This wasn't much of a problem because IP
source routing is disabled by default but when enabled together with SMP and
preemption it would have very likely cross-corrupted the IP options in transit.
The IP source route options of a packet are now stored in a mtag instead of the
global variable.
Diffstat (limited to 'sys/netinet/ip_icmp.c')
-rw-r--r-- | sys/netinet/ip_icmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 125cdd3..e922111 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -711,7 +711,7 @@ match: * add on any record-route or timestamp options. */ cp = (u_char *) (ip + 1); - if ((opts = ip_srcroute()) == 0 && + if ((opts = ip_srcroute(m)) == 0 && (opts = m_gethdr(M_DONTWAIT, MT_HEADER))) { opts->m_len = sizeof(struct in_addr); mtod(opts, struct in_addr *)->s_addr = 0; |