Messages in this thread | | | Date | Tue, 23 Dec 2008 00:38:02 -0500 | From | "Brian Gerst" <> | Subject | Re: [RFC -tip 2/4] x86: uaccess: introduce __{get|put}_user exception handling framework |
| |
On Tue, Dec 23, 2008 at 12:22 AM, Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> wrote: > From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> > > Impact: introduce new framework > > Introduce exception handling framework. > __{get|put}_user_ex_try() begins exception block and > __{get|put}_user_ex_catch() ends block and if an exception occurred in this > block using __{get|put}_user_ex, direct jump to __{get|put}_user_ex_catch() > and err is set to specified value.
You shouldn't do this. According to the gcc manual[1], "Speaking of labels, jumps from one asm to another are not supported. The compiler's optimizers do not know about these jumps, and therefore they cannot take account of them when deciding how to optimize."
[1] http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Extended-Asm.html
| |