init: free_initmem: poison freed init memory

Various architectures including x86 poison the freed init memory.  Do the
same in the generic free_initmem implementation and switch sparc32
architecture that is identical to the generic code over to it now.

Link: http://lkml.kernel.org/r/1550515285-17446-4-git-send-email-rppt@linux.ibm.com
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Mike Rapoport 2019-05-13 17:18:46 -07:00 committed by Linus Torvalds
parent 522c991945
commit f40399992a
2 changed files with 1 additions and 6 deletions

View File

@ -294,11 +294,6 @@ void __init mem_init(void)
mem_init_print_info(NULL); mem_init_print_info(NULL);
} }
void free_initmem (void)
{
free_initmem_default(POISON_FREE_INITMEM);
}
void sparc_flush_page_to_ram(struct page *page) void sparc_flush_page_to_ram(struct page *page)
{ {
unsigned long vaddr = (unsigned long)page_address(page); unsigned long vaddr = (unsigned long)page_address(page);

View File

@ -1076,7 +1076,7 @@ static inline void mark_readonly(void)
void __weak free_initmem(void) void __weak free_initmem(void)
{ {
free_initmem_default(-1); free_initmem_default(POISON_FREE_INITMEM);
} }
static int __ref kernel_init(void *unused) static int __ref kernel_init(void *unused)