1
在uaccess.h中聲明的copy_from_user函數是否從指針修改(void __user *)? 指針在函數聲明中沒有聲明爲const,只是它指向的內容。copy_from_user是否修改用戶指針?
我問的原因是我想兩次使用copy_from_user,第二個copy_from_user從第一個完成的地方複製。
我打算做這樣的事情,它保證工作嗎?
//buf is a user pointer that is already defined
copy_from_user(my_first_alloced_region, buf, some_size);
//do stuff
copy_from_user(my_second_alloced_region, buf + some_size, some_other_size);
在此先感謝。
啊,真的,那是我的一個相當新人的監督。那麼在函數聲明中使用const關鍵字指針是毫無意義的? – Michael
如果你的願望是保護指針值本身,那麼是的,它是毫無意義的......'const T *'是一個指向'T'類型的'const'對象的指針,所以它保護指向的對象,不是指針值。但是由於你只傳遞一個指針值,而不是指針引用,所以即使被調用者修改它,指針變量本身也不能在調用者中改變。 – Jason
我的意思是使用指針本身的const類型'T * const var_name' – Michael