如何拦截发送到Linux内核中USB闪存驱动器的数据?

时间:2013-11-23 20:25:55

标签: linux linux-kernel usb storage driver

在Linux内核源代码中哪里可以找到处理向USB闪存盘发送数据的功能? “数据”是指实际的文件内容。例如,当我将“Report.docx”拖放到USB拇指驱动器时,我需要能够拦截这些数据,以便在将文件内容写入USB拇指驱动器之前修改文件的内容。

据我所知,USB存储模块(drivers/usb/storage)是处理拇指驱动器等大容量存储设备的地方,但我找不到合适的位置。我环顾了transfer.c但我的调试尝试只是显示函数被调用,无论我是否正在传输任何文件。此外,根据我的理解,一切都是通过URB完成的,我不清楚如何处理这些问题。我在寻找合适的地方吗?

出于我的项目的目的,我需要修改驱动程序(不使用任何第三方库或用户空间代码)。我正在使用Linux 3.12.0。

1 个答案:

答案 0 :(得分:0)

不是usb子系统的专家,但我会先看看 驱动程序/ USB /存储/ transport.c :: usb_stor_bulk_transfer_buf()