在 Linux 内核源代码的哪个位置可以找到处理将数据发送到 USB 闪存驱动器的函数? “数据”是指实际文件内容。例如,当我将“Report.docx”拖放到 USB 拇指驱动器时,我需要能够拦截此数据,以便在将文件写入 USB 拇指驱动器之前修改文件的内容。
我知道 USB 存储模块 (drivers/usb/storage
) 是处理 USB 大容量存储设备(如拇指驱动器)的地方,但我找不到正确的位置。我环顾了 transfer.c
但我的调试尝试只显示函数被调用,无论我是否正在传输任何文件。此外,根据我的理解,一切都是通过 URB 完成的,我不清楚如何处理这些。我找对地方了吗?
为了我的项目,我需要修改驱动程序(不使用任何第三方库或用户空间代码)。我正在使用 Linux 3.12.0。
最佳答案
不是 usb 子系统方面的专家,但我会先看看 驱动程序/usb/storage/transport.c::usb_stor_bulk_transfer_buf()
关于linux - Linux内核如何拦截发送到U盘的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167445/