mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-01-03 12:20:56 +00:00
Update syscall-1.md
This commit is contained in:
parent
0c7541c1d3
commit
89b67c5dc8
@ -299,7 +299,7 @@ The second macro `__SYSCALL_DEFINEx` expands to the definition of the five follo
|
||||
The first `sys##name` is definition of the syscall handler function with the given name - `sys_system_call_name`. The `__SC_DECL` macro takes the `__VA_ARGS__` and combines call input parameter system type and the parameter name, because the macro definition is unable to determine the parameter types. And the `__MAP` macro applyes `__SC_DECL` macro to the `__VA_ARGS__` arguments. The other functions that are generated by the `__SYSCALL_DEFINEx` macro are need to protect from the [CVE-2009-0029](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0029) and we will not dive into details about this here. Ok, as result of the `SYSCALL_DEFINE3` macro, we will have:
|
||||
|
||||
```C
|
||||
asmlinkage long sys_write(unsigned int fd, const char __user * filename, size_t count);
|
||||
asmlinkage long sys_write(unsigned int fd, const char __user * buf, size_t count);
|
||||
```
|
||||
|
||||
Now we know a little about the system call's definition and we can go back to the implementation of the `write` system call. Let's look on the implementation of this system call again:
|
||||
|
Loading…
Reference in New Issue
Block a user