lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 30 Apr 2019 15:06:12 +0100
From:   Julien Grall <julien.grall@....com>
To:     Ian Jackson <ian.jackson@...rix.com>,
        Stefano Stabellini <sstabellini@...nel.org>
Cc:     xen-devel@...ts.xenproject.org, andy.gross@...aro.org,
        david.brown@...aro.org, linux-arm-msm@...r.kernel.org,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: qcom_scm: Incompatible pointer type build failure

Hi Ian,

Thank you for the report.

On 30/04/2019 13:44, Ian Jackson wrote:
> osstest service owner writes ("[linux-4.19 test] 135420: regressions - FAIL"):
>> flight 135420 linux-4.19 real [real]
>> http://logs.test-lab.xenproject.org/osstest/logs/135420/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>   build-armhf-pvops             6 kernel-build             fail REGR. vs. 129313
> 
> http://logs.test-lab.xenproject.org/osstest/logs/135420/build-armhf-pvops/6.ts-kernel-build.log
> 
>    drivers/firmware/qcom_scm.c: In function ‘qcom_scm_assign_mem’:
>    drivers/firmware/qcom_scm.c:469:47: error: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type [-Werror=incompatible-pointer-types]
>      ptr = dma_alloc_coherent(__scm->dev, ptr_sz, &ptr_phys, GFP_KERNEL);
>                                                   ^
>    In file included from drivers/firmware/qcom_scm.c:21:0:
>    ./include/linux/dma-mapping.h:560:21: note: expected ‘dma_addr_t * {aka long long unsigned int *}’ but argument is of type ‘phys_addr_t * {aka unsigned int *}’
>     static inline void *dma_alloc_coherent(struct device *dev, size_t size,
>                         ^~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
>    scripts/Makefile.build:303: recipe for target 'drivers/firmware/qcom_scm.o' failed
>    make[2]: *** [drivers/firmware/qcom_scm.o] Error 1
>    scripts/Makefile.build:544: recipe for target 'drivers/firmware' failed
>    make[1]: *** [drivers/firmware] Error 2
>    make[1]: *** Waiting for unfinished jobs....
> 
> I think this build failure is probably a regression; rather it is due
> to the stretch update which brings in a new compiler.

The bug has always been present (and still present in master), it is possible 
the compiler became smarter with the upgrade to stretch.

The problem is similar to [1] and happen when the size of phys_addr_t is 
different to dma_addr_t.

I have CCed the maintainers of this file.

Cheers,

[1] https://lists.xenproject.org/archives/html/xen-devel/2019-04/msg00940.html

-- 
Julien Grall

Powered by blists - more mailing lists