mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
sh: Make the unaligned trap handler always obey notification levels.
Presently there are a couple of paths in to the alignment handler, where only the address error path presently quiets the notificiation messages based on the configuration settings. We carry over the notification level tests to the default alignment handler itself incase so that they behave uniformly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
fcb4ebd678
commit
1232d88a47
1 changed files with 12 additions and 6 deletions
|
@ -452,12 +452,18 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
|
|||
rm = regs->regs[index];
|
||||
|
||||
/* shout about fixups */
|
||||
if (!expected && printk_ratelimit())
|
||||
printk(KERN_NOTICE "Fixing up unaligned %s access "
|
||||
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
|
||||
user_mode(regs) ? "userspace" : "kernel",
|
||||
current->comm, task_pid_nr(current),
|
||||
(void *)regs->pc, instruction);
|
||||
if (!expected) {
|
||||
if (user_mode(regs) && (se_usermode & 1) && printk_ratelimit())
|
||||
pr_notice("Fixing up unaligned userspace access "
|
||||
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
|
||||
current->comm, task_pid_nr(current),
|
||||
(void *)regs->pc, instruction);
|
||||
else if (se_kernmode_warn && printk_ratelimit())
|
||||
pr_notice("Fixing up unaligned kernel access "
|
||||
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
|
||||
current->comm, task_pid_nr(current),
|
||||
(void *)regs->pc, instruction);
|
||||
}
|
||||
|
||||
ret = -EFAULT;
|
||||
switch (instruction&0xF000) {
|
||||
|
|
Loading…
Reference in a new issue