# Linux Project1 Write Up---第4組 ##### 107201021 易瑋泓 ##### 107201019 陳宇揚 ##### 107201023 蔡沐霖 ## Question_1:為甚麼一定要用asmlinkage `asmlinkage`是一個`gcc`標籤,函式定義前面加上這個標籤,表示此函式會從`stack`中抓取參數而不是暫存器。 `system call handler`是機器語言,而`system call routine`是`C` 語言,當機器語言呼叫`C`語言時,並且將參數傳到`stack`中時,在`c`函式的`prototype`前就要用到`asmlinkage`,這樣才能符合引數傳遞規則。 ## Question_2:syscall_define展開內容  它裡面做的事情,主要就是將系統調用的參數統一變成使用`long`的形式來接收,再強轉轉爲`int`的形式,這樣做的原因是為了規避掉之前`64位元Linux`存在的`CVE-2009-2009`漏洞,也就是在將`32位元`的參數送到`64位元`時必須要自行擴展,容易出錯,所以才做了將調用參數統一使用`long`的形式來接收,再強轉為相應參數這樣一件事情。 ## Question_3:include裡面的library放在哪個架構 藉由vm_area_struct 可以呈現線性的記憶體且存放共用資料庫
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up