- 论坛徽章:
- 1
|
我现在写的一段内核代码,一运行就会当机,但是只是在某一个内核的suse上会这样,在大多数是没问题的,实在找不到解决办法,请各位高人帮忙看看,非常感谢!代码如下:
int test (struct file *pst_File)
{
int res = -1;
char *ac_Buf= NULL;
char * pc_FdName = NULL;
char file_path[PAGE_SIZE + 1] = {0};
ac_Buf = kmalloc(PAGE_SIZE, GFP_ATOMIC);
if (!ac_Buf)
return -1;
{
pc_FdName = d_path(&(pst_File->f_path), ac_Buf, PAGE_SIZE);
if (NULL != pc_FdName)
{
memset(file_path, 0 , PAGE_SIZE);
strncpy(file_path, pc_FdName, PAGE_SIZE);
res = 0;
}
else
{
res = -1;
}
}
kfree(ac_Buf);
return res;
}
目的就是通过文件fd来获取到这个文件的全路径。 |
|