| Function report | 
| Source Code: kernel\ptrace.c | Create Date:2022-07-28 09:13:30 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:ptrace_peek_siginfo
Proto:static int ptrace_peek_siginfo(struct task_struct *child, unsigned long addr, unsigned long data)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct task_struct * | child | |
| unsigned long | addr | |
| unsigned long | data | 
| 715 | ret = copy_from_user( & arg, (void__user * )addr, sizeof(structptrace_peeksiginfo_args)) | 
| 720 | If flags & ~Read signals from a shared (process wide) queue Then Return -EINVAL | 
| 723 | If how may siginfos to take < 0 Then Return -EINVAL | 
| 727 | If from which siginfo to start > ULONG_MAX Then Return 0 | 
| 730 | If flags & Read signals from a shared (process wide) queue Then pending = shared_pending | 
| 735 | When i < how may siginfos to take cycle | 
| 737 | off = from which siginfo to start + i | 
| 738 | bool found = false | 
| 740 | spin_lock_irq( & siglock) | 
| 742 | If Not off -- Then | 
| 748 | spin_unlock_irq( & siglock) | 
| 750 | If Not found Then Break | 
| 757 | If copy_siginfo_to_user32(uinfo, & info) Then | 
| 762 | Else | 
| 767 | If copy_siginfo_to_user(uinfo, & info) Then | 
| 774 | i++ | 
| 776 | If signal_pending(current process) Then Break | 
| 779 | cond_resched() | 
| 785 | Return ret | 
| Name | Describe | 
|---|---|
| ptrace_request | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |