On Fri, 23 Mar 2018 06:28:13 -0700 Eric Dumazet <eric.duma...@gmail.com> wrote:
> 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. Okay, then I'll just drop it. I'm considering changing page_pool_create() to just take everything as parameters. -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer