~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/um/kernel/skas/syscall.c

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/um/kernel/skas/syscall.c (Architecture m68k) and /arch/ppc/kernel/skas/syscall.c (Architecture ppc)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 /*                                                
  3  * Copyright (C) 2002 - 2007 Jeff Dike (jdike@    
  4  */                                               
  5                                                   
  6 #include <linux/kernel.h>                         
  7 #include <linux/ptrace.h>                         
  8 #include <linux/seccomp.h>                        
  9 #include <kern_util.h>                            
 10 #include <sysdep/ptrace.h>                        
 11 #include <sysdep/ptrace_user.h>                   
 12 #include <sysdep/syscalls.h>                      
 13 #include <linux/time-internal.h>                  
 14 #include <asm/unistd.h>                           
 15 #include <asm/delay.h>                            
 16                                                   
 17 void handle_syscall(struct uml_pt_regs *r)        
 18 {                                                 
 19         struct pt_regs *regs = container_of(r,    
 20         int syscall;                              
 21                                                   
 22         /* Initialize the syscall number and d    
 23         UPT_SYSCALL_NR(r) = PT_SYSCALL_NR(r->g    
 24         PT_REGS_SET_SYSCALL_RETURN(regs, -ENOS    
 25                                                   
 26         if (syscall_trace_enter(regs))            
 27                 goto out;                         
 28                                                   
 29         /* Do the seccomp check after ptrace;     
 30         if (secure_computing() == -1)             
 31                 goto out;                         
 32                                                   
 33         syscall = UPT_SYSCALL_NR(r);              
 34         if (syscall >= 0 && syscall < __NR_sys    
 35                 unsigned long ret = EXECUTE_SY    
 36                                                   
 37                 PT_REGS_SET_SYSCALL_RETURN(reg    
 38                                                   
 39                 /*                                
 40                  * An error value here can be     
 41                  * and then we'd just loop. Ma    
 42                  * some time, so that it won't    
 43                  * not ready, and hopefully ot    
 44                  * progress.                      
 45                  */                               
 46                 if (IS_ERR_VALUE(ret) &&          
 47                     (time_travel_mode == TT_MO    
 48                      time_travel_mode == TT_MO    
 49                         um_udelay(1);             
 50                         schedule();               
 51                 }                                 
 52         }                                         
 53                                                   
 54 out:                                              
 55         syscall_trace_leave(regs);                
 56 }                                                 
 57                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php