| Summary: | [ipfilter] fastroute crashes for lo0 udp | ||
|---|---|---|---|
| Product: | Base System | Reporter: | jguyett <jguyett> |
| Component: | kern | Assignee: | Cy Schubert <cy> |
| Status: | Closed Feedback Timeout | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.0-CURRENT | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
jguyett
2000-03-01 20:30:33 UTC
>Number: 17109 >Category: kern >Synopsis: fastroute crashes for lo0 udp >Confidential: yes >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 1 12:40:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: tyme >Release: FreeBSD 4.0-CURRENT i386 >Organization: >Environment: FreeBSD-current cvsupped on 2/28 >Description: IPFilter rule crashed a machine with a specific lo0 fastroute rule In syslog: Mar 1 14:32:32 pc47668 /kernel: vr0: can't handle af139 >How-To-Repeat: Insert the rule somewhere where it will be hit by a traceroute to localhost. block in log quick on lo0 fastroute proto udp from any port != 53 to any >Fix: Unknown >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message IPFilter rule crashed a machine with a specific lo0 fastroute rule In syslog: Mar 1 14:32:32 pc47668 /kernel: vr0: can't handle af139 Fix: Unknown How-To-Repeat: Insert the rule somewhere where it will be hit by a traceroute to localhost. block in log quick on lo0 fastroute proto udp from any port != 53 to any Responsible Changed From-To: freebsd-bugs->darrenr darrenr is responsible for ipfilter The problem rule is: block in log quick on lo0 fastroute proto udp from any port != 53 to any The problem action is: traceroute localhost This no longer causes a crash but causes an infinite loop. Why ? "fastroute" re-routes the packet back onto lo0. When fr_check returns, ipintr() sees another packet on the lo0 queue and calls ip_input() for it. So we process the same packet *again* (it gets fastroute'd to lo0...) Darren State Changed From-To: open->suspended it's not clear what the solution to this should be...packet goes around in circles, forever, because the TTL isn't dropping (fastroute) and always comes back to match the same rule...punt on it for now. State Changed From-To: suspended->suspended commit bit has been taken in for safekeeping. Responsible Changed From-To: darrenr->freebsd-net Responsible Changed From-To: freebsd-net->cy Mine. Have you experienced this panic in FreeBSD 8, 9, 10, or CURRENT (11)? FreeBSD 4.0 no longer supported. (4.0 has ipf 3.3.8 whereas 8.X and 9.X use ipf 4.1.28 and 10.X+ has 5.1.2.) |