Re: [核心] kmalloc()
※ 引述《seele2dx (兄弟劍下無兄弟)》之銘言:
: 小弟目前在修改 linux kernel中碰到一個問題
: 假如想要在kernel裡面增加一個我所需要的結構
: 例子如下:
: struct test *P ;
: function A (struct test *ptr) //預計要傳入上面的全域變數 P
: {
: ptr = (struct test *) kmalloc ( sizeof(struct test), GFP_KERNEL);
這裡最好加個檢查,看看是否有成功配置到記憶體
: memset ( *ptr, 0, sizeof(struct test) );
: ptr->a = xxxx;
: ptr->b = qqqq;
: ... 初始化
: }
: 但是每次執行到該函式,系統便會當機。
: 請問對於kmalloc的實際運用,該如何才正確呢? 感謝 :)
另外,你的 *P 是全域變數的話,是可以直接在 function A 修改
如果要當參數傳入 function A,而且會修改到,應寫成
function A( struct test **ptr){
*ptr = kmalloc( ...)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.228.25
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章