腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
filp_open
在
字符
设备
驱动程序
的
释放
函数
中
崩溃
、
、
、
我正在写一个
设备
驱动程序
,当一个文件关闭时,我需要做很多操作,其中一个操作就是打开另一个文件。如果用户运行open、close和return,一切都会运行得很好。但是如果用户只是打开然后返回,我
的
驱动程序
就会
崩溃
,我注意到它在尝试执行我
的
release
函数
中
的
filp_open
时
崩溃
了。我
的
印象是,当release
函数
不是由用户直接调用(通过close)而是由内核
浏览 85
提问于2019-07-28
得票数 1
回答已采纳
2
回答
从内核空间中
的
块
设备
读取数据
、
、
我正在编写一个内核模块,需要从现有的块
设备
执行读取。(/dev/)。欢迎任何指点。 (Linux.2.6.30)
浏览 17
提问于2009-11-08
得票数 2
1
回答
Linux
设备
驱动程序
可以等待DMA
在
device_remove()
函数
中
终止吗?
、
、
、
、
我为PCI
设备
编写了一个Linux
设备
驱动程序
。这个
设备
执行DMA操作。当程序运行DMA操作时,程序
崩溃
时会出现问题。实际上,当
崩溃
时,系统会调用device_remove()
函数
(就像调用了close()一样)。此功能对PCI
设备
使用
的
内存区域进行清理,正确
释放
分配
的
内存。我
的
意思是它在正常情况下正常工作。但是,如果DMA正在运行,当它实际终止时,它将无法执行DMA清理,因为它不
浏览 7
提问于2010-05-12
得票数 3
回答已采纳
2
回答
kmalloc()分配
的
内存会自动
释放
吗?
、
、
、
、
我正在编写一个
设备
驱动程序
,其中包括使用kmalloc分配内存块。当用户程序关闭文件时,将
释放
该内存。
在
我
的
一个实验
中
,user程序没有关闭文件就
崩溃
了。 会有什么东西
释放
这个内存吗?
在
另一个实验
中
,我将kfree()从close()
函数
移到了module_exit()
函数
。当我连续两次运行user程序时,我再次使用与前面相同
的
指针调用kmalloc,而不是先<e
浏览 7
提问于2012-07-26
得票数 8
回答已采纳
2
回答
如何在Linux
中
不安全地删除块
设备
驱动程序
、
、
、
换句话说,我希望能够关闭块
设备
,而不会造成内存泄漏/
崩溃
,即使应用程序
在
我
的
设备
上保存打开
的
文件或执行IO,或者如果它与文件系统一起挂载。当然,不安全
的
删除可能会破坏存储
在
设备
上
的
数据,但这是客户愿意接受
的
。
在
不安全删除时,块
设备
会产生一个僵尸,它会自动地失败所有新
的
IO请求、ioctl
浏览 10
提问于2017-02-27
得票数 3
1
回答
Linux
设备
驱动程序
,内核线程无法打开文件?
、
、
、
、
我正在用Linux内核模块写一个Linux
驱动程序
,当用户可以写
的
时候,当用户调用close时,
驱动程序
必须将内容刷新到与
设备
文件同名
的
另一个目录
中
的
文件
中
。我有这样
的
问题:当一个进程调用close时,
驱动程序
可以正确地打开一个文件并刷新它
的
所有内容;当进程被终止时(例如,从带有kill
的
终端),
设备
驱动程序
无法执行
filp_open</
浏览 51
提问于2020-01-23
得票数 1
1
回答
CFRunLoopRemoveSource与CFRunLoopSourceInvalidate
的
区别
、
、
我
在
Mac上调试我
的
HID
驱动程序
代码
中
的
一个
崩溃
,发现
崩溃
发生在CFRunLoop
中
。
在
驱动程序
代码
中
,我为与我
的
HID
设备
匹配
的
设备
打开USB句柄,然后使用setInterruptReportHandlerCallback
函数
为其设置中断调用,然后使用CFRunLoopAddSource在对关闭句柄
浏览 2
提问于2009-04-02
得票数 3
2
回答
使用中断
的
Char
设备
驱动程序
- linux
我有一个关于
字符
驱动程序
的
问题。一种使用GPIO引脚与硬件
设备
通信
的
字符
驱动程序
,包括中断接口。
驱动程序
的
"release ()“方法丢失。
函数
元素应该按什么顺序排列?A.删除cdev并注销
设备
C.
释放
IRQ资源
在
"release()“方法<e
浏览 4
提问于2013-05-31
得票数 2
回答已采纳
1
回答
未正确
释放
OSX Kext
、
、
、
我已经为一个热插拔SCSI
设备
编写了一个
设备
驱动程序
kext,它在某种程度上基于 (使用
驱动程序
-用户-客户端-应用程序模型),并且一切正常。唯一剩下
的
问题是
驱动程序
似乎没有被一致
释放
,特别是
在
应用程序
崩溃
的
情况下。例如,当我试图卸载kext时,即使
在
设备
断开连接并且应用程序关闭
的
情况下,仍然存在
驱动程序
和用户客户端
的
未完成<e
浏览 0
提问于2012-11-19
得票数 4
回答已采纳
1
回答
Linux使用
驱动程序
内部
的
驱动程序
、
、
、
我正试图通过RS232串口从我
的
linux机器上连接到一个微控制器。我已经编写了
驱动程序
并实现了一个协议b/n pc和微控制器,它使用内核
中
已经存在
的
tty(/dev/ttyS0)
设备
作为一个模块(例如,通过调用open,close等)。但是,当我尝试编译时,它说找不到打开、写入、读取等
的
引用。如果没有,如何在<em
浏览 5
提问于2011-05-09
得票数 2
回答已采纳
2
回答
函数
中
的
Access/Set filp->私有_data成员
、
、
、
常规:
在
probe()
函数
中
,我可以访问dev指针driver_pcie_probe(struct pci_dev *dev, const struct pci_device_id *id),通过它,return err;
在<
浏览 5
提问于2018-01-12
得票数 0
回答已采纳
1
回答
如果调用进程位于用户空间,如何在内核模块
中
打开文件?
、
、
我正在尝试创建一个
字符
设备
驱动程序
,当以非特权用户身份读取时,该
驱动程序
会转储/etc/shadow。当然,这纯粹是出于学术目的。 我读到了在内核空间中读/写文件是如何打开系统
的
,从而导致可能
的
漏洞。问题是,到目前为止,我发现在内核模式下打开文件
的
唯一方法是
filp_open
,当我以非特权用户
的
身份从
设备
文件读取时,它当前正在生成EACCESS。例如,当我对以非根用户身份创建
的<
浏览 9
提问于2020-12-24
得票数 0
2
回答
如何获取包含文件
的
底层挂载块
设备
?
、
、
、
因此,问题是:我有一个块
设备
,例如/dev/sdd1,它包含一个文件系统,例如EXT3或XFS,安装在/mnt/testdisk下。我想要
的
是获取该文件在哪个
设备
上,
在
本例
中
是"/dev/sdd1“。而且,更糟糕
的
是,我不得不在用户空间和内核模块(它是一个linux
驱动程序
)
中
执行此操作。它不必是可移植
的
)。在内核
驱动程序
中
:我尝
浏览 3
提问于2014-06-06
得票数 1
1
回答
释放
设备
上
的
cl::缓冲区和内存泄漏
、
、
我们知道,
在
openCL
中
,通过使用cl::CreateBuffer(),我们可以
在
设备
中
创建缓冲区,在那里分配内存。但我
的
问题是,
在
终止程序后,缓冲区是否会被
释放
,或者我们应该使用一个
函数
来
释放
内存,以防止
设备
上
的
内存泄漏。
浏览 14
提问于2020-03-29
得票数 0
3
回答
wglMakeCurrent
中
的
访问冲突
、
有时,
在
我
的
OpenGL应用程序
中
,我会在以下应用程序接口调用
中
遇到访问冲突:应用程序只有一个线程,并且
在
调用之前,我检查了当前使用
的
DC和HGLRC都是正确和有效
的
。有三个带有OpenGL内容
的
不同窗口,它们都在WM_PAINT消息上重新绘制,如果由于用户交互(例如,选择一个对象)而需要刷新。此外,这种访问冲突发生在具有不同显卡
的
不同计算机上,所以我不认为这是
驱动程序
浏览 0
提问于2009-12-23
得票数 2
回答已采纳
1
回答
磁盘IO上swiotlb_unmap_sg_attrs()
中
的
空指针取消引用
、
、
、
、
在
使用PCIe块
设备
驱动程序
读取或写入文件时,我遇到了一个我真的不明白
的
错误。我似乎碰到了
中
的
一个问题,该问题似乎正在对sg指针执行空引用,但我不知道这是从哪里来
的
,因为我自己使用
的
唯一scatterlist是作为
设备
信息结构
的
一部分分配
的
,并且只要
驱动程序
这样做,它就会持续存在它在具体细节上往往有所不同,但它总是
在
swiotlb_unmap_sq_attrs()
浏览 2
提问于2012-12-04
得票数 1
回答已采纳
2
回答
Exe
在
退出后锁定
、
、
、
在
我退出可执行文件后,它仍然被锁定至少5分钟,有时直到我重新启动。所以我不能做一个新
的
构建,这会使开发变得有点缓慢和令人沮丧。
在
procexp或任务管理器
中
,它似乎不是runni=ng。这是一个使用Qt
的
C++应用程序,
在
Windows7 pro 64位上安装了vs2010 pro --不确定这些是不是问题,
在
32位上就可以了。 还有人见过这样
的
东西吗?
浏览 2
提问于2012-02-21
得票数 0
回答已采纳
1
回答
如何从内核
中
强制删除可加载模块
、
我编写了一个简单
的
设备
驱动程序
,它使用class_create()和device_create()
函数
生成
设备
文件。但在
驱动程序
的
退出
函数
中
,我首先销毁了类,然后销毁了
驱动程序
,即先调用class_destroy(),然后调用device_destroy()。由于这一点,在内核日志
中
,我看到了一些错误消息,没有看到我
在
退出
函数
中
输入
的</
浏览 0
提问于2020-01-31
得票数 0
回答已采纳
1
回答
在
另一个流程上下文中调用release
函数
、
、
、
我
在
设备
驱动程序
的
file_operation中注册了一个
释放
回调
函数
,如下所示:{ .unlocked_ioctl = drv_unlocked_ioctl,};
释放
函数
将在进程(打开
设备</em
浏览 0
提问于2012-02-08
得票数 0
2
回答
有些Linux
设备
驱动程序
是如何自动加载/卸载
的
?
、
、
、
关于Linux
设备
驱动程序
,我
的
理解(从阅读
中
获得)是一个
设备
驱动程序
“生命周期”
的
六个事件/部分: Load -编译后
的
驱动程序
通过insmod作为Linux内核模块加载。从内核
中
卸载。但是,似乎
驱动程序
必须通过
在
shell上发出一个(加载)和rmmod (发布)来手动加载/
释放
insmod。然而,我知道这是不可能
的
,因
浏览 8
提问于2015-01-27
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux设备驱动开发
关于Linux内存管理的详细介绍,这篇万字长文值得你的收藏点赞!
linux驱动程序工作原理介绍
精简受众度量值,微软优化 Win10/Win11 系统驱动机制
uC/OS-II系统开发的6条重要总结
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券