Received: by 10.223.176.5 with SMTP id f5csp2023744wra; Sun, 4 Feb 2018 18:32:31 -0800 (PST) X-Google-Smtp-Source: AH8x225zWc+E29nM2L4J+a5e2a8LeTOtKve/1u5wtuYMwt358m2N/YRbkVv9Vlxn/rsxCJO51gnI X-Received: by 2002:a17:902:6bca:: with SMTP id m10-v6mr41555599plt.351.1517797951589; Sun, 04 Feb 2018 18:32:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517797951; cv=none; d=google.com; s=arc-20160816; b=orB+sp4ISQy7lG6pCvdj0Sq889XvRpU9srOmlexw3xC4tw+98j0ht87QuGGF85qXWW UDxEb0tOPYZ/xXDUd8pvyDVUjZtz7SkAqYHS71XS51eLeu+jdVif9cGH9KUv8gAHc0WV QTJ27Ya50qbGThojHhqg8eADUcyRBEq754wRhUzRrCXCGQceN5Kx+p/YyEL609yVEAPT Iq4mlVB+Km4Qw8OVED9zRMIVlKnOtmkECY6iJpscm031GgLP04yikTd86ZhKRPKWZZP/ B7j/rhRLQ5THrVR8QqRui9+5OvtDBe2TXMAj0n1MYVgdePxmIR+JiLB2GE5FcrhYDeZw ZLEw== 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:message-id:date:subject:cc:to:from:dmarc-filter :arc-authentication-results; bh=qwo7ecgGPkDBeFsrYBJA49liiolCSPtWgnXBLF3oZAU=; b=x7Hx4Wx0uXKUGA3+R3aqLrUCmYQe/POVsuK+ZYbf1ytOXbkTSsYr3cfg8ftxBNdf8H RBx3gtXj5NPxautbCjH9pQs1aPO1n0sBDZqngBJwjOqnA2iZmD8a6ldjYydzYFhKV6DS djyFB53wKRBUVyBArmlY5BmVnYi0gF/pB17bCHVpGRLPiHlceZVy+RLnmoxM+D5w+RNH Ze5Luhcl92aK9xk1zO5sF5gZHYXpEeyoG5q/Kv54xZpi+bz65Vd3ZmDTmWJTX65J7BhP 6Gg8MfdtGvBQjpAg8aF0kohocYXDXXslJvMxJ4n6dpS6lITL9/5ZLYxPbOyorrlCoITO cA9A== 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 62-v6si3967022ple.267.2018.02.04.18.32.16; Sun, 04 Feb 2018 18:32:31 -0800 (PST) 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 S1752426AbeBECbN (ORCPT + 99 others); Sun, 4 Feb 2018 21:31:13 -0500 Received: from mail.kernel.org ([198.145.29.99]:33404 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752294AbeBECbG (ORCPT ); Sun, 4 Feb 2018 21:31:06 -0500 Received: from localhost.localdomain (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3E899208FE; Mon, 5 Feb 2018 02:31:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E899208FE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=mhiramat@kernel.org From: Masami Hiramatsu To: Pawel Osciak , Marek Szyprowski , Kyungmin Park Cc: mhiramat@kernel.org, Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, orito.takao@socionext.com Subject: [PATCH] [BUGFIX] media: vb2: Fix videobuf2 to map correct area Date: Mon, 5 Feb 2018 11:30:41 +0900 Message-Id: <151779784111.20697.5012233804870630070.stgit@devbox> X-Mailer: git-send-email 2.13.6 User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fixes vb2_vmalloc_get_userptr() to ioremap correct area. Since the current code does ioremap the page address, if the offset > 0, it does not do ioremap the last page and results in kernel panic. This fixes to pass the page address + offset to ioremap so that ioremap can map correct area. Also, this uses __pfn_to_phys() to get the physical address of given PFN. Signed-off-by: Masami Hiramatsu Reported-by: Takao Orito --- drivers/media/v4l2-core/videobuf2-vmalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c index 3a7c80cd1a17..896f2f378b40 100644 --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c @@ -106,7 +106,7 @@ static void *vb2_vmalloc_get_userptr(struct device *dev, unsigned long vaddr, if (nums[i-1] + 1 != nums[i]) goto fail_map; buf->vaddr = (__force void *) - ioremap_nocache(nums[0] << PAGE_SHIFT, size); + ioremap_nocache(__pfn_to_phys(nums[0]) + offset, size); } else { buf->vaddr = vm_map_ram(frame_vector_pages(vec), n_pages, -1, PAGE_KERNEL);