Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Apr 2018 12:14:09 +0200
From:      Andreas Longwitz <longwitz@incore.de>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freebsd-isdn@freebsd.org
Subject:   Re: page fault in isdn4bsd-kmod
Message-ID:  <5AE2F7F1.3040503@incore.de>
In-Reply-To: <fa6422c2-f4f7-0144-ed73-b2da39312e3b@selasky.org>
References:  <5AE0A686.7060109@incore.de> <caac8127-942f-4324-ebdf-1f36ae539752@selasky.org> <fa6422c2-f4f7-0144-ed73-b2da39312e3b@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Hans,

>>> (kgdb) f 12
>>> #12 0xc0c631b9 in cd_update (cd=0xc50cb920, pipe=0x0, event=11) at
>>> dss1_l3fsm.h:359
>>> 359             l2softc_t *sc = ((__typeof(pipe))(cd->pipe))->L5_sc;
>>> (kgdb) list
>>> 354      * NOTE: pipe might be zero!
>>> 355      */
>>> 356     static void
>>> 357     cd_update(call_desc_t *cd, DSS1_TCP_pipe_t *pipe, int event)
>>> 358     {
>>> 359             l2softc_t *sc = ((__typeof(pipe))(cd->pipe))->L5_sc;
>>> 360             __typeof(cd->state)
>>> 361               state = cd->state;
>>> 362
>>> 363             /*
>>>
> 
> Event 11 means EV_L3_RELEASE. It does not use the "sc" variable. I think
> different compilers might produce different results. However, the right
> solution is simply to ignore the "cd->pipe" being NULL in this case. It
> should be set in all the other cases where "sc" is used.
> 
> It might look like an outgoing call which was instantly hung up.
> 
> Can you try the attached patch?

Thanks for your patch, looks good. I will reboot my production server
today in the evening.

Andreas





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5AE2F7F1.3040503>