[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191231080722.GA6804@pi3>
Date: Tue, 31 Dec 2019 09:07:22 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: kbuild test robot <lkp@...el.com>
Cc: kbuild-all@...ts.01.org, Joerg Roedel <joro@...tes.org>,
Robin Murphy <robin.murphy@....com>,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
Eric Auger <eric.auger@...hat.com>,
Douglas Anderson <dianders@...omium.org>,
Suman Anna <s-anna@...com>, Tero Kristo <t-kristo@...com>,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] iommu: Enable compile testing for some of drivers
On Tue, Dec 31, 2019 at 03:43:39PM +0800, kbuild test robot wrote:
> Hi Krzysztof,
>
> I love your patch! Perhaps something to improve:
>
> [auto build test WARNING on iommu/next]
> [also build test WARNING on v5.5-rc4]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/iommu-omap-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191231-022212
> base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
> config: ia64-allmodconfig (attached as .config)
> compiler: ia64-linux-gcc (GCC) 7.5.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> GCC_VERSION=7.5.0 make.cross ARCH=ia64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@...el.com>
I saw it already while compile testing my patch. I must admit that I
could not find easy/fast fix for it. Probably the
omap_iommu_translate() helper should be made 64-bit friendly but this
obfuscates the code. The driver and hardware supports only 32-bit addresses.
Best regards,
Krzysztof
>
> All warnings (new ones prefixed by >>):
>
> In file included from drivers/iommu/omap-iommu.c:33:0:
> drivers/iommu/omap-iommu.c: In function 'omap_iommu_iova_to_phys':
> >> drivers/iommu/omap-iopgtable.h:44:21: warning: large integer implicitly truncated to unsigned type [-Woverflow]
> #define IOPTE_MASK (~(IOPTE_SIZE - 1))
> ^
> >> drivers/iommu/omap-iommu.c:1641:41: note: in expansion of macro 'IOPTE_MASK'
> ret = omap_iommu_translate(*pte, da, IOPTE_MASK);
> ^~~~~~~~~~
> drivers/iommu/omap-iopgtable.h:51:23: warning: large integer implicitly truncated to unsigned type [-Woverflow]
> #define IOLARGE_MASK (~(IOLARGE_SIZE - 1))
> ^
> >> drivers/iommu/omap-iommu.c:1643:41: note: in expansion of macro 'IOLARGE_MASK'
> ret = omap_iommu_translate(*pte, da, IOLARGE_MASK);
> ^~~~~~~~~~~~
> drivers/iommu/omap-iopgtable.h:27:25: warning: large integer implicitly truncated to unsigned type [-Woverflow]
> #define IOSECTION_MASK (~(IOSECTION_SIZE - 1))
> ^
> >> drivers/iommu/omap-iommu.c:1649:41: note: in expansion of macro 'IOSECTION_MASK'
> ret = omap_iommu_translate(*pgd, da, IOSECTION_MASK);
> ^~~~~~~~~~~~~~
> drivers/iommu/omap-iopgtable.h:34:23: warning: large integer implicitly truncated to unsigned type [-Woverflow]
> #define IOSUPER_MASK (~(IOSUPER_SIZE - 1))
> ^
> >> drivers/iommu/omap-iommu.c:1651:41: note: in expansion of macro 'IOSUPER_MASK'
> ret = omap_iommu_translate(*pgd, da, IOSUPER_MASK);
> ^~~~~~~~~~~~
>
> vim +44 drivers/iommu/omap-iopgtable.h
>
> 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 38
> 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 39 /*
> 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 40 * "small page" address mask and size definitions.
> 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 41 */
> a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 42 #define IOPTE_SHIFT 12
> 5ff98fa68c88d7 drivers/iommu/omap-iopgtable.h Suman Anna 2015-07-20 43 #define IOPTE_SIZE BIT(IOPTE_SHIFT)
> a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 @44 #define IOPTE_MASK (~(IOPTE_SIZE - 1))
> a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 45
>
> :::::: The code at line 44 was first introduced by commit
> :::::: a9dcad5e375800fcb07f7617dba23b3aade8f09d omap iommu: tlb and pagetable primitives
>
> :::::: TO: Hiroshi DOYU <Hiroshi.DOYU@...ia.com>
> :::::: CC: Hiroshi DOYU <Hiroshi.DOYU@...ia.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
Powered by blists - more mailing lists