On Sat, Aug 04, 2007 at 08:31:37PM +0200, Jesper Juhl wrote: > (first send: Monday 25 June 2007, resending due to no response) > (resending again since there has still been no response) > > > If we fail to allocate an skb in > drivers/isdn/capi/capidrv.c::send_message(), then we'll end up > dereferencing a NULL pointer. > Since out of memory conditions are not unheard of, I believe it > is better to print a error message and just return rather than > bring down the whole kernel. > Sure, doing this may upset some application, but that's still > better than crashing the whole system. > > (ps. please Cc me on replies from the isdn4linux list since I'm not > subscribed > there) > > > Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]>
Acked-by: Karsten Keil <[EMAIL PROTECTED]> > --- > > drivers/isdn/capi/capidrv.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/drivers/isdn/capi/capidrv.c b/drivers/isdn/capi/capidrv.c > index 23b6f7b..476012b 100644 > --- a/drivers/isdn/capi/capidrv.c > +++ b/drivers/isdn/capi/capidrv.c > @@ -506,9 +506,14 @@ static void send_message(capidrv_contr * card, _cmsg * > cmsg) > { > struct sk_buff *skb; > size_t len; > + > capi_cmsg2message(cmsg, cmsg->buf); > len = CAPIMSG_LEN(cmsg->buf); > skb = alloc_skb(len, GFP_ATOMIC); > + if (!skb) { > + printk(KERN_ERR "capidrv::send_message: can't allocate mem\n"); > + return; > + } > memcpy(skb_put(skb, len), cmsg->buf, len); > if (capi20_put_message(&global.ap, skb) != CAPI_NOERROR) > kfree_skb(skb); > > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Karsten Keil SuSE Labs ISDN and VOIP development SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/