From: Davide Caratti <[email protected]>
Date: Tue, 16 May 2017 18:27:45 +0200
> @@ -2243,6 +2243,30 @@ __wsum skb_copy_and_csum_bits(const struct sk_buff
> *skb, int offset,
> }
> EXPORT_SYMBOL(skb_copy_and_csum_bits);
>
> +static __wsum warn_crc32c_csum_update(const void *buff, int len, __wsum sum)
> +{
> + net_warn_ratelimited(
> + "%s: attempt to compute crc32c without libcrc32c.ko\n",
> + __func__);
> + return 0;
> +}
> +
> +static __wsum warn_crc32c_csum_combine(__wsum csum, __wsum csum2,
> + int offset, int len)
> +{
> + net_warn_ratelimited(
> + "%s: attempt to compute crc32c without libcrc32c.ko\n",
> + __func__);
> + return 0;
> +}
> +
> +const struct skb_checksum_ops *crc32c_csum_stub __read_mostly =
> + &(struct skb_checksum_ops) {
> + .update = warn_crc32c_csum_update,
> + .combine = warn_crc32c_csum_combine,
> +};
> +EXPORT_SYMBOL(crc32c_csum_stub);
Please, if you are going to do this, declare things in a more
traditional and canonical way:
static const struct skb_checksum_ops default_crc32c_ops = {
.update = warn_crc32c_csum_update,
.combine = warn_crc32c_csum_combine,
};
const struct skb_checksum_ops *crc32c_csum_stub __read_mostly =
&default_crc32c_ops;
> +static const struct skb_checksum_ops *crc32c_csum_ops __read_mostly =
> + &(struct skb_checksum_ops) {
> + .update = sctp_csum_update,
> + .combine = sctp_csum_combine,
> +};
Likewise.