Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752717AbbEHH0d (ORCPT ); Fri, 8 May 2015 03:26:33 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:50144 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751801AbbEHH0b (ORCPT ); Fri, 8 May 2015 03:26:31 -0400 Date: Fri, 8 May 2015 09:26:26 +0200 From: Greg Kroah-Hartman To: Mitchel Humpherys Cc: Colin Cross , lkml , John Stultz , devel@linuxdriverproject.org, Android Kernel Team , Dan Carpenter Subject: Re: [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's Message-ID: <20150508072626.GA30523@kroah.com> References: <1428628204-25752-1-git-send-email-mitchelh@codeaurora.org> <1428628204-25752-2-git-send-email-mitchelh@codeaurora.org> <20150504082250.GJ14154@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2543 Lines: 52 On Mon, May 04, 2015 at 10:59:39PM -0700, Mitchel Humpherys wrote: > On Mon, May 04 2015 at 01:05:50 PM, Colin Cross wrote: > > On Mon, May 4, 2015 at 1:22 AM, Dan Carpenter wrote: > >> On Thu, Apr 09, 2015 at 06:10:04PM -0700, Mitchel Humpherys wrote: > >>> We're currently using %lu and %ld to print some variables of type > >>> dma_addr_t, which results in the following warning when dma_addr_t is > >>> 64-bits wide: > >>> > >>> drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create': > >>> drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=] > >>> pr_info("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base, > >>> ^ > >>> drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=] > >>> > >>> Fix this by using %pad as instructed in printk-formats.txt. > >>> > >>> Signed-off-by: Mitchel Humpherys > >> > >> This one was just merged and I was about to email you that it introduces > >> some new Smatch warnings, but actually looking at it, it's just wrong. > >> > >> We want to print "chunk_heap->base" and not "&chunk_heap->base". > > > > This would be correct if base was a dma_addr_t... > > > >> And anyway "&chunk_heap->base" is a regular pointer, not a dma_addr_t. > > > > But it is actually an ion_phys_addr_t, which is currently typedef'd to > > unsigned long. Are you using a local patch that replaces > > ion_phys_addr_t with dma_addr_t? > > > >> So please send a new patch that removes the &. > > > > Removing the & is not correct, lib/vsprintf.c will dereference the arg > > for %pad or %pap. I think this patch should just be dropped, the old > > %lu was correct for what is in Linus' tree. > > Ah, you're absolutely correct. We have a local patch that makes > ion_phys_addr_t a dma_addr_t (needed for LPAE), which is why I needed to > convert the printk format... > > Greg, can you please drop this patch from your tree? We'll only need > this if/when mainline Ion gets LPAE support... Now dropped, thanks. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/