On 03/23/2018 05:18 AM, Jesper Dangaard Brouer wrote:

> +
> +     /* Note, below struct compat code was primarily needed when
> +      * page_pool code lived under MM-tree control, given mmots and
> +      * net-next trees progress in very different rates.
> +      *
> +      * Allow kernel devel trees and driver to progress at different rates
> +      */
> +     param_copy_sz = PAGE_POOL_PARAMS_SIZE;
> +     memset(&pool->p, 0, param_copy_sz);
> +     if (params->size < param_copy_sz) {
> +             /* Older module calling newer kernel, handled by only
> +              * copying supplied size, and keep remaining params zero
> +              */
> +             param_copy_sz = params->size;
> +     } else if (params->size > param_copy_sz) {
> +             /* Newer module calling older kernel. Need to validate
> +              * no new features were requested.
> +              */
> +             unsigned char *addr = (unsigned char *)params + param_copy_sz;
> +             unsigned char *end  = (unsigned char *)params + params->size;
> +
> +             for (; addr < end; addr++) {
> +                     if (*addr != 0)
> +                             return -E2BIG;
> +             }
> +     }

I do not see the need for this part.

Reply via email to