| To: | Jim Keniston <jkenisto@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] [1/2] kernel error reporting (revised) |
| From: | Andrew Morton <akpm@xxxxxxxx> |
| Date: | Tue, 15 Jul 2003 12:51:21 -0700 |
| Cc: | jmorris@xxxxxxxxxxxxxxxx, davem@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, jgarzik@xxxxxxxxx, alan@xxxxxxxxxxxxxxxxxxx, rddunlap@xxxxxxxx, kuznet@xxxxxxxxxxxxx, jkenisto@xxxxxxxxxx |
| In-reply-to: | <3F143D0A.A052F0B6@xxxxxxxxxx> |
| References: | <Mutt.LNX.4.44.0307131052420.2146-100000@xxxxxxxxxxxxxxxxxxxxxxxxxx> <3F143D0A.A052F0B6@xxxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
Jim Keniston <jkenisto@xxxxxxxxxx> wrote:
>
> +int kernel_error_event_iov(const struct iovec *iov, unsigned int nseg,
> + u32 groups)
> +{
> ...
> +
> + return netlink_broadcast(kerror_nl, skb, 0, ~0, GFP_ATOMIC);
This appears to be deadlocky when called from interrupt handlers.
netlink_broadcast() does read_lock(&nl_table_lock). But nl_table_lock is
not an irq-safe lock.
Possibly netlink_broadcast() can be made callable from hardirq context, but
it looks to be non trivial. The various error and delivery handlers need
to be reviewed, the kfree_skb() calls should be thought about, etc.
|
| Previous by Date: | Re: Fw: [PATCH] IPv6: Allow 6to4 routes with SIT, Pekka Savola |
|---|---|
| Next by Date: | 2.6.0-test1: oops in raw_rcv_skb, Burton Windle |
| Previous by Thread: | Re: [PATCH] [2/2] kernel error reporting (revised), Jim Keniston |
| Next by Thread: | Re: [PATCH] [1/2] kernel error reporting (revised), kuznet |
| Indexes: | [Date] [Thread] [Top] [All Lists] |