Function report |
Source Code:arch\x86\kernel\signal_compat.c |
Create Date:2022-07-28 07:31:02 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:The compat_siginfo_t structure and handing code is very easy* to break in several ways. It must always be updated when new* updates are made to the main siginfo_t, and* copy_siginfo_to_user32() must be updated when the
Proto:static inline void signal_compat_build_tests(void)
Type:void
Parameter:Nothing
43 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, _sifields) != 3 * sizeof(int)) |
69 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_kill) |
70 | Ensure that the size of each si_field never changes(_kill, 2 * sizeof(int)) |
71 | CHECK_SI_SIZE(_kill, 2 * sizeof(int)) |
73 | BUILD_BUG_ON - break compile if a condition is true(offsetof(siginfo_t, How these fields are to be accessed.) != 0x10) |
75 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, How these fields are to be accessed.) != 0xC) |
78 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_timer) |
79 | Ensure that the size of each si_field never changes(_timer, 3 * sizeof(int)) |
80 | CHECK_SI_SIZE(_timer, 6 * sizeof(int)) |
86 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_overrun) != 0x10) |
87 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_value) != 0x14) |
89 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_rt) |
90 | Ensure that the size of each si_field never changes(_rt, 3 * sizeof(int)) |
91 | CHECK_SI_SIZE(_rt, 4 * sizeof(int)) |
93 | BUILD_BUG_ON - break compile if a condition is true(offsetof(siginfo_t, How these fields are to be accessed.) != 0x10) |
96 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, How these fields are to be accessed.) != 0x0C) |
98 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_value) != 0x14) |
100 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_sigchld) |
101 | Ensure that the size of each si_field never changes(_sigchld, 5 * sizeof(int)) |
102 | CHECK_SI_SIZE(_sigchld, 8 * sizeof(int)) |
104 | BUILD_BUG_ON - break compile if a condition is true(offsetof(siginfo_t, How these fields are to be accessed.) != 0x10) |
109 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, How these fields are to be accessed.) != 0x0C) |
111 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_status) != 0x14) |
112 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_utime) != 0x18) |
113 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_stime) != 0x1C) |
123 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_sigfault) |
124 | Ensure that the size of each si_field never changes(_sigfault, 4 * sizeof(int)) |
125 | CHECK_SI_SIZE(_sigfault, 8 * sizeof(int)) |
128 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_addr) != 0x0C) |
131 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_addr_lsb) != 0x10) |
135 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_lower) != 0x14) |
136 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_upper) != 0x18) |
139 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_pkey) != 0x14) |
141 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_sigpoll) |
142 | Ensure that the size of each si_field never changes(_sigpoll, 2 * sizeof(int)) |
143 | CHECK_SI_SIZE(_sigpoll, 4 * sizeof(int)) |
147 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_band) != 0x0C) |
150 | The offsets of all the (unioned) si_fields are fixed* in the ABI, of course. Make sure none of them ever* move and are always at the beginning:(_sigsys) |
151 | Ensure that the size of each si_field never changes(_sigsys, 3 * sizeof(int)) |
152 | CHECK_SI_SIZE(_sigsys, 4 * sizeof(int)) |
157 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_call_addr) != 0x0C) |
158 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_syscall) != 0x10) |
159 | BUILD_BUG_ON - break compile if a condition is true(offsetof(compat_siginfo_t, si_arch) != 0x14) |
Name | Describe |
---|---|
sigaction_compat_abi |
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 |