Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: panic with bpf-using tool
On Thu, Dec 07, 2017 at 06:57:43PM +0900, Ryota Ozaki wrote:
> On Thu, Dec 7, 2017 at 6:54 PM, Thomas Klausner <tk%giga.or.at@localhost> wrote:
> > I just started net/trafshow for fun and shortly afterwards the machine
> > paniced (NetBSD 8.99.7/amd64):
> >
> > WARNING: SPL NOT LOWERED ON SYSCALL 1 235601568 EXIT 176106b0 7
> > WARNING: SPL NOT LOWERED ON SYSCALL 1 235601568 EXIT 176106b0 7
> > vpanic() at netbsd:vpanic+0x140
> > snprintf() at netbsd:snprintf
> > lockdebug_abort() at netbsd:lockdebug_abort+0x6e
> > mutex_vector_exit() at netbsd:mutex_vector_exit+0xe4
> > callout_halt() at netbsd:callout_halt+0xe6
> > bpf_read() at netbsd:bpf_read+0x199
> > dofileread() at netbsd:dofileread+0x8f
> > sys_read() at netbsd:sys_read+0x5f
> > syscall() at netbsd:syscall+0x1d8
> > --- syscall (number 3) ---
> > 7bb169e3e1fa:
> > cpu9: End traceback...
> >
> > Any ideas?
>
> Oops. Could you try the below patch?
>
> Thanks,
> ozaki-r
>
> diff --git a/sys/net/bpf.c b/sys/net/bpf.c
> index c4bd8306042..64c9d4900bd 100644
> --- a/sys/net/bpf.c
> +++ b/sys/net/bpf.c
> @@ -662,7 +662,7 @@ bpf_read(struct file *fp, off_t *offp, struct uio *uio,
>
> mutex_enter(d->bd_mtx);
> if (d->bd_state == BPF_WAITING)
> - callout_halt(&d->bd_callout, d->bd_buf_mtx);
> + callout_halt(&d->bd_callout, d->bd_mtx);
> timed_out = (d->bd_state == BPF_TIMED_OUT);
> d->bd_state = BPF_IDLE;
> mutex_exit(d->bd_mtx);
>
With this patch applied, trafshow runs for minutes without problems.
Thank you!
Thomas
Home |
Main Index |
Thread Index |
Old Index