Date: Thu, 6 Feb 2003 07:40:12 -0800 (PST) From: Maxim Konovalov <maxim@macomnet.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/48009: dummynet(4) related machine hangs Message-ID: <200302061540.h16FeCKk062537@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/48009; it has been noted by GNATS.
From: Maxim Konovalov <maxim@macomnet.ru>
To: =?KOI8-R?Q?Pawe=B3_Ma=B3achowski?= <pawmal@unia.3lo.lublin.pl>
Cc: bug-followup@freebsd.org
Subject: Re: kern/48009: dummynet(4) related machine hangs
Date: Thu, 6 Feb 2003 18:33:58 +0300 (MSK)
Known problem. Could you please try a patch below?
Index: ip_dummynet.c
===================================================================
RCS file: /home/maxim/cvs/sys/netinet/ip_dummynet.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ip_dummynet.c 9 Dec 2002 12:41:50 -0000 1.6
+++ ip_dummynet.c 9 Dec 2002 13:45:30 -0000 1.7
@@ -1547,6 +1547,7 @@
} else
x = b;
+ s = splimp();
x->bandwidth = p->bandwidth ;
x->numbytes = 0; /* just in case... */
bcopy(p->if_name, x->if_name, sizeof(p->if_name) );
@@ -1561,14 +1562,13 @@
free(x, M_DUMMYNET);
return s ;
}
- s = splimp() ;
x->next = b ;
if (a == NULL)
all_pipes = x ;
else
a->next = x ;
- splx(s);
}
+ splx(s);
} else { /* config queue */
struct dn_flow_set *x, *a, *b ;
@@ -1597,6 +1597,7 @@
return EINVAL ;
x = b;
}
+ s = splimp();
set_fs_parms(x, pfs);
if ( x->rq == NULL ) { /* a new flow_set */
@@ -1605,14 +1606,13 @@
free(x, M_DUMMYNET);
return s ;
}
- s = splimp() ;
x->next = b;
if (a == NULL)
all_flow_sets = x;
else
a->next = x;
- splx(s);
}
+ splx(s);
}
return 0 ;
}
%%%
--
Maxim Konovalov, maxim@macomnet.ru, maxim@FreeBSD.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302061540.h16FeCKk062537>
