[PATCH] wireguard: queueing: Fix implicit type conversion

Jason A. Donenfeld Jason at zx2c4.com
Fri Oct 29 14:27:17 UTC 2021


On Fri, Oct 29, 2021 at 3:08 AM Jiasheng Jiang <jiasheng at iscas.ac.cn> wrote:
> It is universally accepted that the implicit type conversion is
> terrible.

I'm not so sure about this, but either way, I think this needs a bit
more justification and analysis to merge. cpumask_weight returns an
unsigned, for example, and is used as a modulo operand later in the
function. It looks like nr_cpumask_bits is also unsigned. And so on.
So you're really trading one implicit type conversion package for
another. If you're swapping these around, why? It can't be because,
"it is universally accepted that the implicit type conversion is
terrible," since you're adding more of it in a different form. Is your
set of implicit type conversions semantically more proper? If so,
please describe that. Alternatively, is there a way to harmonize
everything into one type? Is there a minimal set of casts that enables
that?

Jason


More information about the WireGuard mailing list