0
我一直在努力,但沒有取得任何進展。如何發送動態數組到copy_to_user(內核模塊)
我想發送一個動態數組從內核到用戶空間。看起來,靜態數組很容易發送到用戶空間,但我得到的填充,我沒有做正確的動態陣列的東西正確的靜態或固定的變量,如int a,char b [100]可以很好地工作與動態陣列
put_user或copy_to_user。但是當我嘗試傳遞指針時,系統調用會被終止或發生錯誤。
是否可以使用copy_to_user發送動態數組? 我一直在努力解決這個問題,但我渴望獲得幫助,並虛心尋求你的指導。
謝謝。
感謝您的回覆,但我不明白memcpy [data.items,...],我們在哪裏使用它並將其分配給? –
@SunghoHong'copy_to_user(&from-> items,...)'等同於'memcpy(&data.items,...)'。我希望明白爲什麼第二個是錯誤的,並且通過類比理解爲什麼第一個錯誤。 – ephemient
不,沒有必要在內核中添加任何額外的內存「kmalloc」。你已經有了一個'items'數組,你只需要將它複製到正確的地方 - 你現在將它複製到錯誤的地方。 – ephemient