From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752613AbbJOSmP (ORCPT ); Thu, 15 Oct 2015 14:42:15 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:54074 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751674AbbJOSmO (ORCPT ); Thu, 15 Oct 2015 14:42:14 -0400 Subject: Re: [PATCH 2/2] isdn: correctly check failed allocation To: Insu Yun , netdev@vger.kernel.org, linux-kernel@vger.kernel.org References: <1444926568-29572-1-git-send-email-wuninsu@gmail.com> <1444926568-29572-2-git-send-email-wuninsu@gmail.com> Cc: taesoo@gatech.edu, yeongjin.jang@gatech.edu, insu@gatech.edu From: isdn@linux-pingi.de X-Enigmail-Draft-Status: N1110 Message-ID: <561FF37C.7070107@linux-pingi.de> Date: Thu, 15 Oct 2015 20:42:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1444926568-29572-2-git-send-email-wuninsu@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:VSt9mL3327SMTEgQ8XVdyMAcBlbl6ZjjXdioeiimwElNprvD5i9 PWjmg0Ku8OdOslAsIVGrSwWbyT6+V7AmAwEdUXFVGydu363cpLTsrldtKKfL3EGdE3FEGpv G/kKJeXssUquXx3iFZOH19Urx334nftn1NeQe14LRvtLyPxLMWWLm3Q8tIYEkHBPjAniEUH 4Rq6v1n7vUx1XdfJPHn+Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:zGlFhmltiGI=:+nsU+QriSCnEZSnYe0zqfE JjEnqynJtO/GQYdHBuiDBgSAuiRgMZf2oO5m6G3Cjb7/zb8JuzaqwvOnYzesD3W81ycNA4s+3 c/IpcyPT9SMMdR/TAw3Cfdun96EdYecIQROjir9Kzc4MrS00n89exsb8jDDpS5+mdYXplS3eX L05Y1PlhmjbMrfKL/CMsYlMM8sHniI9g51ZOVg7kAcO0qtIXaZhWUcRR7WJJPW1ahxGgi9afb KTKjqdA45qQ3eAmjI1DeogBsYpgEK6O5Pbi6obpnoB5CeHlR9VWFFN9nZErhRJhr5YJUyK0+s SVZm6JujHZyAeCULnE+BgIZqAw0eRtG4cqBjSxgxeEBBZl9hId99hZ0JL0mFVIN5KVV4+Ui8a mqOUKSpPHvfQNusgTiFmnuCrfAkcynVoagZhl9wONLOJEaOE8KT2geXLFyTR0ieeMd9ItE1ay OPzYc3AxXe1CO0XZs3opZMuBD+b2rzCZTeGbohcSi7ML5J4Xf/BE9MNRxX8TNt45wdF8VKbKP +CN1bd9ujMLk7dvl+ZyZ0xnmnj6TukTSEGVUm/gMw/8FvlWulnJvenIEOovg7/jkhWgKfbvdu K7WU3CoMHlXU2+MRRgCbKcQD8H3mR293Z/KZ2BqqPORgWJ1bOjPHnzduOnnqSNx/H6qx12jfP 6XyZTXJDU1wVJBcahUm/Dz57QA5/1Z4TMRjUSdt3S5Mon2sceXijITe10GGmveaxwCMFeRqET ycYo1h1IeVAE3+JQ Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Insu, thanks for bringing up this issue again. I thought I did fix this a year ago, but seems it did not managed to sent it upstream. The patch do not fix this completly, since it will drop the original skb from the L2 I frame queue, so the transmission would lost an I-FRAME, which is not allowed by the protocol. The format of the new lines is wrong, you need to use TAB. Best regards Karsten Am 15.10.2015 um 18:29 schrieb Insu Yun: > Since skb_clone is memory allocation, it could be failed when lack of resource. > Therefore, return value of skb_clone needs to be checked and handle error. > > Signed-off-by: Insu Yun > --- > drivers/isdn/mISDN/layer2.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/isdn/mISDN/layer2.c b/drivers/isdn/mISDN/layer2.c > index 949cabb..888c610 100644 > --- a/drivers/isdn/mISDN/layer2.c > +++ b/drivers/isdn/mISDN/layer2.c > @@ -1509,6 +1509,12 @@ l2_pull_iqueue(struct FsmInst *fi, int event, void *arg) > } > > nskb = skb_clone(skb, GFP_ATOMIC); > + if (!nskb) { > + printk(KERN_WARNING "%s: no skb mem in %s\n", > + mISDNDevName4ch(&l2->ch), __func__); > + return; > + } > + > p1 = skb_headroom(nskb); > if (p1 >= i) > memcpy(skb_push(nskb, i), header, i); >