填写图片摘要(选填)
从显示的错误回执表,我们你可以看出,是我们的match函数里面的strncmp函数错了问题,访问了空指针。u200b源代码如下:u200b
到底哪里出了问题呢??我们明明访问的dev->init_name,和drv->name,难道他们是空指针??
解决:u200b
我们找到内核代码:u200bu200b
1、先从dev->init_name出发找到device的注册函数:u200b
填写图片摘要(选填)
进入device_add:u200b
我们看到其中一段代码,如果dev->init_name不为空则dev_set_name(dev, "%s", dev->init_name);最后将dev->init_name置为空,问题找到了!!u200b
2、怎么修改呢?设备文件名到底放到哪里了呢?
实际上,放到了dev->kobj.name里面。