sh: panic on machvec section misalignment.
Now that __initmv references the machvec section unconditionally there have been cases where folks have been mistakenly flagging non-machvec structures with the machvec section attribute (presumably to shut up modpost). This leads to obscure breakage in earlyprintk amongst other places and is rather non-obvious. Add a simple sanity check to try and catch __initmv misuse and panic early. Reported-by: Markus Brunner <super.firetwister@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
662ae2169a
commit
5556410e22
1 changed files with 7 additions and 0 deletions
|
@ -90,6 +90,13 @@ void __init sh_mv_setup(void)
|
|||
machvec_size = ((unsigned long)&__machvec_end -
|
||||
(unsigned long)&__machvec_start);
|
||||
|
||||
/*
|
||||
* Sanity check for machvec section alignment. Ensure
|
||||
* __initmv hasn't been misused.
|
||||
*/
|
||||
if (machvec_size % sizeof(struct sh_machine_vector))
|
||||
panic("machvec misaligned, invalid __initmv use?");
|
||||
|
||||
/*
|
||||
* If the machvec hasn't been preselected, use the first
|
||||
* vector (usually the only one) from .machvec.init.
|
||||
|
|
Loading…
Reference in a new issue