summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/signal.c
diff options
context:
space:
mode:
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>2009-01-23 15:49:41 -0800
committerH. Peter Anvin <hpa@linux.intel.com>2009-01-23 17:17:36 -0800
commitfe40c0af3cff3ea461cf25bddb979abc7279d4df (patch)
treebe37f58bce212299476186147e44dbd486be34a1 /arch/x86/kernel/signal.c
parentcc86c9e0dc1a41451240b948bb39d46bb2536ae8 (diff)
x86: uaccess: introduce try and catch framework
Impact: introduce new uaccess exception handling framework Introduce {get|put}_user_try and {get|put}_user_catch as new uaccess exception handling framework. {get|put}_user_try begins exception block and {get|put}_user_catch(err) ends the block and gets err if an exception occured in {get|put}_user_ex() in the block. The exception is stored thread_info->uaccess_err. The example usage of this framework is below; int func() { int err = 0; get_user_try { get_user_ex(...); get_user_ex(...); : } get_user_catch(err); return err; } Note: get_user_ex() is not clear the value when an exception occurs, it's different from the behavior of __get_user(), but I think it doesn't matter. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/signal.c')
0 files changed, 0 insertions, 0 deletions