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>