设备的写缓冲存只有100字节,但应用程序要写入4096字节,如果考虑不周全,很可能在写驱动缓存时越界,导致系统奔溃。


test.c(应用程序,用户)

嵌入式linux,加载驱动程序后,运行程序导致系统奔溃


demo1.c(驱动程序,内核)

嵌入式linux,加载驱动程序后,运行程序导致系统奔溃

★★★如果把copy_from_user(info,buf,count)改写为copy_from_user(info,buf,size),会导致系统奔溃。



重启虚拟机后:

嵌入式linux,加载驱动程序后,运行程序导致系统奔溃



★★★系统奔溃,重启虚拟机后,在/dev目录下所建立的节点被清除,而且在/proc/devices文件中所申请的设备号被清除

嵌入式linux,加载驱动程序后,运行程序导致系统奔溃

自己创建的设备文件,通常在重启之后删除,需要重新创建节点


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
  • 2021-10-12
  • 2021-07-24
  • 2021-12-05
  • 2021-07-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
  • 2021-04-23
  • 2021-10-29
  • 2021-12-27
  • 2021-09-25
相关资源
相似解决方案