I am working on a project where I want to modify the Linux USB storage driver to encrypt the contents that it sends over to a USB thumb drive.
Naturally, I need to find where the data is actually transferred over from the computer to the USB device.
I have been looking at the USB storage module code from the kernel source code (drivers/usb/storage), and I have a hunch that the buffers are passed through in transport.c
. Is that correct?
Also, is it possible to modify the data before it is sent? How would I do that?
The kernel version I am working on is 3.12.0. My OS is Ubuntu 13.04 64-bit. Thank you.