> > This patch series changes all appropriate instances of signed char > > arrays or buffer to unsigned char. > > > > For each patch, if changing one variable to u8 involves its > > callers/callees, then those changes are included in that patch as > > well. > > > > This doesn't apply to ioctl functions, since the types for buffer of > > ioctl-like functions needs to be char* instead of u8* to keep the > > compiler happy. > > Why is that? What is forcing those types to be that way? These are all self- > contained in the driver itself, so they should be able to be changed, right? > > Do you have an example of a function that you want to change but somehow > can not? > Sorry for this confusion, I should have put more context into this patch. This is a re-send of a former patch which was rejected by kernel build test robot when I tried to change all char instances of this driver to u8 in order to remove any potential undefined behaviors. This patch(also the former rejected one) were based on a former discussion with you, the email was quite lengthy, so I attached the link here for your reference. https://www.spinics.net/lists/linux-usb/msg196153.html In conclusion, only the one I noted in the link has security implication and should be fixed, the other changes from char to u8 are just "in case". If you still think it's needed to change all instances of char in this driver to u8, I'll enrich the patch note(which I should have done earlier) and re-send the patch series again. Or if you think just fixing that specific UB in sisusb_write_mem_bulk is enough, I'll submit another patch. Sorry again for this lost of context and the inconvenience. Best, Changming