NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-arm/43339: IPL_NONE == IPL_SOFTNET on arm ports and it causes assertion panic
>Number: 43339
>Category: port-arm
>Synopsis: IPL_NONE == IPL_SOFTNET on arm ports and it causes assertion
>panic
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: port-arm-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat May 22 16:50:00 +0000 2010
>Originator: Izumi Tsutsui
>Release: NetBSD 5.99.29
>Organization:
>Environment:
System: NetBSD 5.99.29 (GENERIC) updated around 201005221600Z
Architecture: arm
Machine: shark
>Description:
shark GENERIC kernel gets the following panic on remote login:
panic: pool 'synpl' is IPL_NONE, but called from interrupt context
The pool 'synpl' is allocated in sys/netinet/tcp_input.c:
---
pool_init(&syn_cache_pool, sizeof(struct syn_cache), 0, 0, 0,
"synpl", NULL, IPL_SOFTNET);
---
But in most arm ports, IPL_SOFTNET == IPL_NONE in <machine/intr.h>:
---
#define IPL_NONE 0
#ifdef __HAVE_FAST_SOFTINTS
#define IPL_SOFTCLOCK 1
#define IPL_SOFTBIO 2
#define IPL_SOFTNET 3
#define IPL_SOFTSERIAL 4
#define IPL_VM 5
#define IPL_SCHED 6
#define IPL_HIGH 7
#define NIPL 8
#else
#define IPL_SOFTCLOCK IPL_NONE
#define IPL_SOFTBIO IPL_NONE
#define IPL_SOFTNET IPL_NONE
#define IPL_SOFTSERIAL IPL_NONE
#define IPL_VM 1
#define IPL_SCHED 2
#define IPL_HIGH 3
#define NIPL 4
#endif
---
>How-To-Repeat:
Boot GENERIC kernels with options DIAGNOSTIC on arm ports
and use TCP connections.
>Fix:
Set proper IPL_SOFTfoo values?
Disable options DIAGNOSTIC in all GENERIC kernels for workaround?
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index