Received: by 10.223.176.5 with SMTP id f5csp376302wra; Tue, 6 Feb 2018 00:04:01 -0800 (PST) X-Google-Smtp-Source: AH8x226pBQHtIeQagoMz4jqkSJjgCixUAoYBbXbyTTbYs9CmjANkkxOdLe8OFt8hIsnhjOgwP+Ux X-Received: by 10.99.42.85 with SMTP id q82mr1241090pgq.285.1517904241018; Tue, 06 Feb 2018 00:04:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517904240; cv=none; d=google.com; s=arc-20160816; b=xirX5kvlxzyyvXqoHu8Dsj1rXeezVL5QfOm1hQHcUNbNtuXM98iV/ArmD3+FBtUq12 jSrgZd3izKSxXWCqh6nP1V/7cnohvfU4sgPgkr3wSmxRXm48KvkJvsEjJJrVHib90SWt B3eK8kgGJLe0gCVjy/V+I/6+cPOLqiBg7TvNyXl5czX1QGl9Axfq7d9sAuLDmJmLCM4l 6mjsLnwk1Z0aX2DAl1HugSwKjTazyzrFdWI+s6VwvZxeYv3kkWbfm0ws7+HKgkG47eMS YbU2E/jAIub+19WNvLYi/eCljJ+sf0u9CgOsdEfSIb8zSYwEWXwK6le3EHz+sg8k80p+ Gf5g== 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=mJpp+LwXpSMV4ZCm/S9Fk95GUApeT53CVH8930aeXyE=; b=IVFm0oC2BPgJbHWcRxx/dthoHDXIyBfUw4E8zuLukuwFspKACZdrerXFhADmFHjIVf enAdv1KoK8vxX1M6ZJvXI07+1ZKwFFIbZSH1eshbSf894s5RfzsJGYXK1t+dmCFV5cl2 zxql9RVStFX0EbaTRtsE7GmIqFKZBYZn04eCLLjkHP/H/nj/rGTEmGbC350gdm2Hd0om /4HDOP4WpssuZbZ/OM2c3o9jSeZ74z5hgWpKjKT0VAm71x3mH+WUpYn7PjSxpFGjkVIz Oe1YqmTetEH1xIE0GiOFC/asrM4zd33XqLO/Qn9iwPnJ8eyh1RaTBOCwpq6C2qAdJOL2 1u3Q== 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 w186si4420934pgb.419.2018.02.06.00.03.44; Tue, 06 Feb 2018 00:04:00 -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 S1752246AbeBFICy (ORCPT + 99 others); Tue, 6 Feb 2018 03:02:54 -0500 Received: from mail.kernel.org ([198.145.29.99]:54794 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751835AbeBFICs (ORCPT ); Tue, 6 Feb 2018 03:02:48 -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 EC96A21734; Tue, 6 Feb 2018 08:02:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EC96A21734 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, Fumihiro ATSUMI Subject: [PATCH v2] media: vb2: Fix videobuf2 to map correct area Date: Tue, 6 Feb 2018 17:02:23 +0900 Message-Id: <151790414344.19507.15297848847845554616.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 size + 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 Reported-by: Fumihiro ATSUMI --- Chanegs in v2: - Fix to pass size + offset instead of changing address. --- 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..359fb9804d16 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]), size + offset); } else { buf->vaddr = vm_map_ram(frame_vector_pages(vec), n_pages, -1, PAGE_KERNEL);