* [PATCH] arm64: Fix flush_icache_range prototype
@ 2017-10-23 12:54 Marc Zyngier
2017-10-23 13:05 ` Will Deacon
0 siblings, 1 reply; 2+ messages in thread
From: Marc Zyngier @ 2017-10-23 12:54 UTC (permalink / raw)
To: linux-arm-kernel
flush_icache_range can return -EFAULT, and yet its prototype
has void as a return type. Fix it by aligning it to that of
__flush_cache_user_range.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
arch/arm64/include/asm/cacheflush.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h
index 76d1cc85d5b1..377fa6b5d67f 100644
--- a/arch/arm64/include/asm/cacheflush.h
+++ b/arch/arm64/include/asm/cacheflush.h
@@ -65,7 +65,7 @@
* - kaddr - page address
* - size - region size
*/
-extern void flush_icache_range(unsigned long start, unsigned long end);
+extern long flush_icache_range(unsigned long start, unsigned long end);
extern void __flush_dcache_area(void *addr, size_t len);
extern void __inval_dcache_area(void *addr, size_t len);
extern void __clean_dcache_area_poc(void *addr, size_t len);
--
2.11.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH] arm64: Fix flush_icache_range prototype
2017-10-23 12:54 [PATCH] arm64: Fix flush_icache_range prototype Marc Zyngier
@ 2017-10-23 13:05 ` Will Deacon
0 siblings, 0 replies; 2+ messages in thread
From: Will Deacon @ 2017-10-23 13:05 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Oct 23, 2017 at 01:54:14PM +0100, Marc Zyngier wrote:
> flush_icache_range can return -EFAULT, and yet its prototype
> has void as a return type. Fix it by aligning it to that of
> __flush_cache_user_range.
>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm64/include/asm/cacheflush.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h
> index 76d1cc85d5b1..377fa6b5d67f 100644
> --- a/arch/arm64/include/asm/cacheflush.h
> +++ b/arch/arm64/include/asm/cacheflush.h
> @@ -65,7 +65,7 @@
> * - kaddr - page address
> * - size - region size
> */
> -extern void flush_icache_range(unsigned long start, unsigned long end);
> +extern long flush_icache_range(unsigned long start, unsigned long end);
Oh blimey, I hadn't realised that. However, this is used in the core code,
which expects a void return type and I'd like to avoid the risk of compiler
warnings complaining that the returned value is not used. I don't think
there's a problem with leaving this as void, since the PCS already says
that x0 is caller saved and this is out-of-line asm.
It just means that we silently handle userspace addresses, rather than
trigger a panic in the absence of software-PAN.
Will
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-10-23 13:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-23 12:54 [PATCH] arm64: Fix flush_icache_range prototype Marc Zyngier
2017-10-23 13:05 ` Will Deacon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).