作者roylee17 (把我id还我阿......)
看板LinuxDev
标题Re: [核心] kmalloc()
时间Fri Jun 20 00:52:48 2008
※ 引述《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