[PATCH] efi: Fix free_end build warning
Geoff Levand
geoff at infradead.org
Thu Nov 13 11:42:40 PST 2014
Hi Will,
On Thu, 2014-11-13 at 11:44 +0000, Will Deacon wrote:
> Do you have any idea how GCC arrives at this conclusion? I can't see a
> path through that function where we use free_end without initialising it.
I've seen it warn like this before, when it shouldn't. I guess
-Wmaybe-uninitialized makes it more conservative.
Using:
aarch64-linux-gnu-gcc (Ubuntu/Linaro 4.8.2-13ubuntu1) 4.8.2 20140110 (prerelease) [ibm/gcc-4_8-branch merged from gcc-4_8-branch, revision 205847]
> Does something like the patch below help?
Here is the full output, for-next/core gives:
/home/geoff/projects/linaro/git/linux-kexec/arch/arm64/kernel/efi.c:281:31: warning: ‘free_end’ may be used uninitialized in this function [-Wmaybe-uninitialized]
total_freed += free_region(free_start, free_end);
^
/home/geoff/projects/linaro/git/linux-kexec/arch/arm64/kernel/efi.c:225:28: note: ‘free_end’ was declared here
u64 keep_end, free_start, free_end;
^
Your mod gives:
/home/geoff/projects/linaro/git/linux-kexec/arch/arm64/kernel/efi.c:279:31: warning: ‘free_end’ may be used uninitialized in this function [-Wmaybe-uninitialized]
total_freed += free_region(free_start, free_end);
^
/home/geoff/projects/linaro/git/linux-kexec/arch/arm64/kernel/efi.c:225:28: note: ‘free_end’ was declared here
u64 keep_end, free_start, free_end;
^
So about the same.
-Geoff
More information about the linux-arm-kernel
mailing list