Re: s390/pkey: Use memdup_user() rather than duplicating its implementation

From: Markus Elfring
Date: Wed Nov 06 2019 - 08:01:59 EST


>> Reuse existing functionality from memdup_user() instead of keeping
>> duplicate source code.
>>
>> Generated by: scripts/coccinelle/api/memdup_user.cocci
â
>> Fixes: f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d ("s390/pkey: add CCA AES cipher key support")
>
> This doesn't fix anything

How would you categorise the proposed source code reduction and software reuse?


> and the Fixes: line is not appropriate.

Will the development opinions vary between contributors?


>> + return !ukey || keylen < MINKEYBLOBSIZE || keylen > KEYBLOBBUFSIZE
>> + ? ERR_PTR(-EINVAL)
>> + : memdup_user(ukey, keylen);
>
> This is a very poor use of ternary ?: code.

The conditional operator is applied once more in the intended way,
isn't it?


> This is much more readable for humans.

Readability preferences can vary also for this code structure.


>> + return uapqns && nr_apqns > 0
>> + ? memdup_user(uapqns, nr_apqns * sizeof(struct pkey_apqn))
>> + : NULL;
>
> And here you reverse the form of the earlier block.

I kept the previous condition specification.


> Please be consistent and use this style:

Would further developers like to get a more verbose variant for this
software transformation?

Regards,
Markus