Re: [PATCH v2] KEYS: add SP800-56A KDF support for DH
From: Mat Martineau <hidden>
Date: 2016-08-05 16:09:02
On Fri, 5 Aug 2016, Stephan Mueller wrote:
Am Donnerstag, 4. August 2016, 13:41:58 CEST schrieb Mat Martineau: Hi Mat,quoted
quoted
+ +long keyctl_dh_compute(struct keyctl_dh_params __user *params, + char __user *buffer, size_t buflen, + struct keyctl_kdf_params __user *kdf) +{ + struct keyctl_kdf_params kdfcopy; + + if (!kdf) + return __keyctl_dh_compute(params, buffer, buflen, NULL); + + if (copy_from_user(&kdfcopy, kdf, sizeof(kdfcopy)) != 0) + return -EFAULT; + + return __keyctl_dh_compute(params, buffer, buflen, &kdfcopy);I'd find this more readable if there was one call to __keyctl_dh_compute.When trying to implement it, I think that it would even be more confusing, because we need a conditional in any case. Do you like return __keyctl_dh_compute(params, buffer, buflen, (kdf) ? &kdfcopy : NULL); better than the already presented code? Besides, this would now imply that we have two conditionals instead of one.
Another approach that uses one conditional is to add a struct keyctl_kdf_params* variable and assign it in the conditional block. Maybe that's not much of a win, it's up to you. -- Mat Martineau Intel OTC