Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2499544imm; Mon, 24 Sep 2018 05:31:19 -0700 (PDT) X-Google-Smtp-Source: ACcGV61XmcPB01N+p4zEEo/ui5Q/v7MCCd/m0Dnh8AVjpQsBo5jGucybkuZdxYrH/Bsz1jDC+9M3 X-Received: by 2002:a17:902:286a:: with SMTP id e97-v6mr10556960plb.340.1537792279011; Mon, 24 Sep 2018 05:31:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537792278; cv=none; d=google.com; s=arc-20160816; b=f2QODNxvjhpD9U+O+GqxHfQtjhmHTpW70I9hyg3Rz+uTEAZx0z+nDC36W7NbXmvrqn M758Ouu3nCbbCBdDjhOJwYTWqNqLdJiVtqpwtnVZ2LnXTBEGgNZc6gqHy9l0QxKx9SPi AXZhY8GG6m4fVPeMSwGXvAZzRX4t6N1HpnCCLMjrGKZ+lZz/Lqu6MLBRNAyYtSwykUU9 iFG2abXpZ7vG280kVHRmL+RoauLlVPHocaxKAX18lMebzcCaCzGig8xSgFL++gKb5Yir VJryr5F1FL2q4feqVO9C6G0gmPtJRJP96+IuwYx6DCsxOnH6WUcRAVKvUx7eJRBVXyiV MnQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from; bh=4IADzNeJrG/UNHQKgqDSyjFptkRvR2IkpCjs2ONkW78=; b=w5bpEfzmipLGn982QfmHVnRPy5548TTfBsqaaCTgyHdekn/y8uPve502cn6iIWPg2O EbCxDj0RGXVd10p5B7TxXvUL5sndzrJaWZIbhq8EsKs4rfL1STOxTRA9f+BAvE8cnTEl Ol+j3sYvDyyMDHUPu9DGt5ZtENCMOl3yDmktDZotR7SKSre4iafxiPg55eWhPSePxhby 5gXy1wmfYTfjsCHLXBQNOKJOSOoM4BULHCcKH5tjcdu2bhdzugKzdaCXshkQPNyz3jBX m203zv3GLYNI2fQcDFThUYf+iIGrg1WPlk//RYNQOtQHQJpEX7MxPbcLjkMUvTWOdUom 844A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g197-v6si6438048pfb.318.2018.09.24.05.31.03; Mon, 24 Sep 2018 05:31:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387595AbeIXSai (ORCPT + 99 others); Mon, 24 Sep 2018 14:30:38 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:57492 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732882AbeIXSai (ORCPT ); Mon, 24 Sep 2018 14:30:38 -0400 Received: from localhost (ip-213-127-77-73.ip.prioritytelecom.net [213.127.77.73]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 004E11018; Mon, 24 Sep 2018 12:28:43 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Krzysztof Ha?asa , Hans Verkuil , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.18 036/235] media: tw686x: Fix oops on buffer alloc failure Date: Mon, 24 Sep 2018 13:50:22 +0200 Message-Id: <20180924113108.617197071@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20180924113103.999624566@linuxfoundation.org> References: <20180924113103.999624566@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Krzysztof Ha?asa [ Upstream commit 5a1a2f63d840dc2631505b607e11ff65ac1b7d3c ] The error path currently calls tw686x_video_free() which requires vc->dev to be initialized, causing a NULL dereference on uninitizalized channels. Fix this by setting the vc->dev fields for all the channels first. Fixes: f8afaa8dbc0d ("[media] tw686x: Introduce an interface to support multiple DMA modes") Signed-off-by: Krzysztof Ha?asa Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/media/pci/tw686x/tw686x-video.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/drivers/media/pci/tw686x/tw686x-video.c +++ b/drivers/media/pci/tw686x/tw686x-video.c @@ -1190,6 +1190,14 @@ int tw686x_video_init(struct tw686x_dev return err; } + /* Initialize vc->dev and vc->ch for the error path */ + for (ch = 0; ch < max_channels(dev); ch++) { + struct tw686x_video_channel *vc = &dev->video_channels[ch]; + + vc->dev = dev; + vc->ch = ch; + } + for (ch = 0; ch < max_channels(dev); ch++) { struct tw686x_video_channel *vc = &dev->video_channels[ch]; struct video_device *vdev; @@ -1198,9 +1206,6 @@ int tw686x_video_init(struct tw686x_dev spin_lock_init(&vc->qlock); INIT_LIST_HEAD(&vc->vidq_queued); - vc->dev = dev; - vc->ch = ch; - /* default settings */ err = tw686x_set_standard(vc, V4L2_STD_NTSC); if (err)