Question about OABI_COMPAT feature in do_signal() function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Russell,

It's an honor to mail you. I'm writing this mail to ask you about the
OABI_COMPAT feature in do_signal() function.
After freezing and thawing user processes for Suspend-To-Ram, I found
that some user processes(e.g. daemon processes) make prefetch abort
continuously. And finally, I found that the following code in
do_signal() was the root cause:

	/* arch/arm/kernel/signal.c: near 677 line */

	put_user(regs->ARM_pc, &usp[0]);
	/* swi __NR_restart_syscall */
	put_user(0xef000000 | swival, &usp[1]);
	/* ldr  pc, [sp], #12 */
	put_user(0xe49df00c, &usp[2]);

It seems that this code makes processes execute in stack area to
re-enter kernel area. However, when PC is in stack area, I saw that it
*continuously* make data abort exception. (Process stack area is in
general non executable area)

I'm using OMAP3430 board whose core is Cotex-A8 and with enabling both
CONFIG_AEABI and CONFIG_OABI_COMPAT.

Can I ask your comments or idea about this problem?

Regards,
Kyuwon (규원)
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux