Bug 188092

Summary: [patch] icmp_error() fails to clear "fragmented" flag in the IP header
Product: Base System Reporter: Eugene Grosbein <ports>
Component: kernAssignee: Andrey V. Elsukov <ae>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 9.2-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Eugene Grosbein 2014-03-30 19:30:00 UTC
	icmp_error() function copies "more fragments" flag
	from original IP header. This may generate "fragmented" ICMP error packet
	if original IP packed was fragmented.

How-To-Repeat: 	Run "traceroute -I outerhost 1501" when your mtu is 1500 or less
	and next hop is FreeBSD router. You will see only "stars"
	for the first hop because of this error.
Comment 1 Andrey V. Elsukov freebsd_committer freebsd_triage 2014-03-31 13:43:42 UTC
Responsible Changed
From-To: freebsd-bugs->ae

Take it.
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-03-31 14:00:54 UTC
Author: ae
Date: Mon Mar 31 13:00:49 2014
New Revision: 263966
URL: http://svnweb.freebsd.org/changeset/base/263966

Log:
  Don't copy the MF flag from original IP header to ICMP error message.
  
  PR:		188092
  MFC after:	1 week
  Sponsored by:	Yandex LLC

Modified:
  head/sys/netinet/ip_icmp.c

Modified: head/sys/netinet/ip_icmp.c
==============================================================================
--- head/sys/netinet/ip_icmp.c	Mon Mar 31 09:37:11 2014	(r263965)
+++ head/sys/netinet/ip_icmp.c	Mon Mar 31 13:00:49 2014	(r263966)
@@ -348,6 +348,7 @@ stdreply:	icmpelen = max(8, min(V_icmp_q
 	nip->ip_hl = 5;
 	nip->ip_p = IPPROTO_ICMP;
 	nip->ip_tos = 0;
+	nip->ip_off = 0;
 	icmp_reflect(m);
 
 freeit:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 3 Andrey V. Elsukov freebsd_committer freebsd_triage 2014-03-31 14:01:23 UTC
State Changed
From-To: open->patched

Patched in head/. Thanks!
Comment 4 dfilter service freebsd_committer freebsd_triage 2014-04-07 13:50:12 UTC
Author: ae
Date: Mon Apr  7 12:50:08 2014
New Revision: 264221
URL: http://svnweb.freebsd.org/changeset/base/264221

Log:
  MFC r263966:
    Don't copy the MF flag from original IP header to ICMP error message.
  
  PR:		188092
  Sponsored by:	Yandex LLC

Modified:
  stable/10/sys/netinet/ip_icmp.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/ip_icmp.c
==============================================================================
--- stable/10/sys/netinet/ip_icmp.c	Mon Apr  7 07:06:13 2014	(r264220)
+++ stable/10/sys/netinet/ip_icmp.c	Mon Apr  7 12:50:08 2014	(r264221)
@@ -347,6 +347,7 @@ stdreply:	icmpelen = max(8, min(V_icmp_q
 	nip->ip_hl = 5;
 	nip->ip_p = IPPROTO_ICMP;
 	nip->ip_tos = 0;
+	nip->ip_off = 0;
 	icmp_reflect(m);
 
 freeit:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-04-07 13:50:39 UTC
Author: ae
Date: Mon Apr  7 12:50:34 2014
New Revision: 264222
URL: http://svnweb.freebsd.org/changeset/base/264222

Log:
  MFC r263966:
    Don't copy the MF flag from original IP header to ICMP error message.
  
  PR:		188092
  Sponsored by:	Yandex LLC

Modified:
  stable/9/sys/netinet/ip_icmp.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet/ip_icmp.c
==============================================================================
--- stable/9/sys/netinet/ip_icmp.c	Mon Apr  7 12:50:08 2014	(r264221)
+++ stable/9/sys/netinet/ip_icmp.c	Mon Apr  7 12:50:34 2014	(r264222)
@@ -343,6 +343,7 @@ stdreply:	icmpelen = max(8, min(V_icmp_q
 	nip->ip_hl = 5;
 	nip->ip_p = IPPROTO_ICMP;
 	nip->ip_tos = 0;
+	nip->ip_off = 0;
 	icmp_reflect(m);
 
 freeit:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 6 dfilter service freebsd_committer freebsd_triage 2014-04-07 13:51:45 UTC
Author: ae
Date: Mon Apr  7 12:51:41 2014
New Revision: 264223
URL: http://svnweb.freebsd.org/changeset/base/264223

Log:
  MFC r263966:
    Don't copy the MF flag from original IP header to ICMP error message.
  
  PR:		188092
  Sponsored by:	Yandex LLC

Modified:
  stable/8/sys/netinet/ip_icmp.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/netinet/   (props changed)

Modified: stable/8/sys/netinet/ip_icmp.c
==============================================================================
--- stable/8/sys/netinet/ip_icmp.c	Mon Apr  7 12:50:34 2014	(r264222)
+++ stable/8/sys/netinet/ip_icmp.c	Mon Apr  7 12:51:41 2014	(r264223)
@@ -339,6 +339,7 @@ stdreply:	icmpelen = max(8, min(V_icmp_q
 	nip->ip_hl = 5;
 	nip->ip_p = IPPROTO_ICMP;
 	nip->ip_tos = 0;
+	nip->ip_off = 0;
 	icmp_reflect(m);
 
 freeit:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 7 Andrey V. Elsukov freebsd_committer freebsd_triage 2014-04-07 13:52:04 UTC
State Changed
From-To: patched->closed

Merged to stable/10, stable/9, stable/8. Thanks!