From patchwork Tue Apr 27 21:11:21 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 3253 Return-path: Envelope-to: mchehab@infradead.org Delivery-date: Tue, 27 Apr 2010 21:21:24 +0000 Received: from bombadil.infradead.org [18.85.46.34] by pedra with IMAP (fetchmail-6.3.6) for (single-drop); Tue, 27 Apr 2010 18:23:15 -0300 (BRT) Received: from vger.kernel.org ([209.132.180.67]) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1O6sDb-0007Jy-VR; Tue, 27 Apr 2010 21:21:24 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756908Ab0D0VVW (ORCPT + 1 other); Tue, 27 Apr 2010 17:21:22 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:43691 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756907Ab0D0VVV (ORCPT ); Tue, 27 Apr 2010 17:21:21 -0400 Received: from imap1.linux-foundation.org (imap1.linux-foundation.org [140.211.169.55]) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id o3RLHc0E021542 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 27 Apr 2010 14:20:21 -0700 Received: from localhost.localdomain (localhost [127.0.0.1]) by imap1.linux-foundation.org (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id o3RLBM13019988; Tue, 27 Apr 2010 14:11:22 -0700 Message-Id: <201004272111.o3RLBM13019988@imap1.linux-foundation.org> Subject: [patch 04/11] drivers/media/video: avoid NULL dereference To: mchehab@infradead.org Cc: linux-media@vger.kernel.org, akpm@linux-foundation.org, julia@diku.dk, mmcclell@bigfoot.com From: akpm@linux-foundation.org Date: Tue, 27 Apr 2010 14:11:21 -0700 MIME-Version: 1.0 X-Spam-Status: No, hits=-3.504 required=5 tests=AWL, BAYES_00, OSDL_HEADER_SUBJECT_BRACKETED X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Julia Lawall It seems impossible for ov to be NULL at this point. The semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E, E1; identifier f; statement S1,S3; iterator iter; @@ if ((E == NULL && ...) || ...) { ... when != false ((E == NULL && ...) || ...) when != true ((E != NULL && ...) || ...) when != iter(E,...) S1 when != E = E1 ( sizeof(E->f) | * E->f ) ... when any return ...; } else S3 // Signed-off-by: Julia Lawall Cc: Mark McClelland Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton --- drivers/media/video/ov511.c | 5 ----- 1 file changed, 5 deletions(-) diff -puN drivers/media/video/ov511.c~drivers-media-video-avoid-null-dereference drivers/media/video/ov511.c --- a/drivers/media/video/ov511.c~drivers-media-video-avoid-null-dereference +++ a/drivers/media/video/ov511.c @@ -5916,11 +5916,6 @@ ov51x_disconnect(struct usb_interface *i mutex_lock(&ov->lock); usb_set_intfdata (intf, NULL); - if (!ov) { - mutex_unlock(&ov->lock); - return; - } - /* Free device number */ ov511_devused &= ~(1 << ov->nr);