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.