On Tue, Mar 31, 2015 at 01:28:09PM -0400, Waiman Long wrote:
> +static __always_inline u32 lfsr_taps(int bits)

> +static inline u32 lfsr(u32 val, int bits)
> +{
> +     u32 bit = val & 1;
> +
> +     /*
> +      * LFSR doesn't work with a start state of 0, so force it to a
> +      * non-zero value (bits) as the next state.
> +      */
> +     if (val == 0)
> +             return bits;

Arguably this should be a debug/warn instead of a silent modification.

> +     val >>= 1;
> +     if (bit)
> +             val ^= lfsr_taps(bits);
> +     return val;
> +}

I was also thinking that if we modify the hash to be dynamically signed
we cannot use the compile time tap selection and need to change the
interface slightly.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to