On 8/19/21 7:25 PM, Damien Le Moal wrote: > I would rather keep the argument as an int and add a check for > "len > UINT16_MAX" to return an error (-EINVAL) rather than having the interface > automatically cast/truncate len values that are too large. Doing so, buggy > drivers will get back an error and can be fixed. With the change to uint16_t, > errors may end up being hidden. > > scsi_mode_select() has such check. And looking at that function, it also has > problems with the buffer length max possible values as the added length of the > header is not accounted for. I fixed that too in a different patch (not sent > yet). Thoughts ? Changing the argument type into uint16_t would make it possible for the compiler to warn about integer truncation. The compiler probably would only warn about truncation if the scsi_mode_sense() len argument is a constant. Anyway, I'm also fine with a runtime check for the len argument and keeping its type. Bart.