page fault in isdn4bsd-kmod

Hans Petter Selasky hps at selasky.org
Thu Apr 26 08:06:24 UTC 2018


Hi,

>> (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?

--HPS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i4b-NULL.diff
Type: text/x-patch
Size: 830 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-isdn/attachments/20180426/d762e602/attachment.bin>


More information about the freebsd-isdn mailing list