Yes, that makes more sense. We can avoid a loop here and do the check in fastrpc_get_args().On 08/02/2019 13:55, Greg KH wrote:No, you don't need to loop it here, check it in the call that evaluates
My Bad, there should be a loop here!+Am I wrong in that you are only checking the first reserved field in
+ /* Make sure reserved field is set to 0 */
+ if (args->reserved) {
+ kfree(args);
+ return -EINVAL;
this array of args? Don't you have a whole bunch of them here (nscalars
of them)? Don't you need to check them all and not just the first one?
I will fix this in next version!
the individual args, which will catch the issue when people send
"internal" commands.
Which reminds me, what happens if a sequence has problems half way
through the list of args? Do you "roll back" to the beginning, or just
abort? What happens to the internal device state then?