On 27 January 2017 at 05:31, Alexander Shishkin <[email protected]> wrote: > Mathieu Poirier <[email protected]> writes: > >> On Thu, Jan 26, 2017 at 11:40:57AM +0200, Alexander Shishkin wrote: >>> + if (!ifh->nr_file_filters) >>> + return; >> >> Is this mandatory or an optimisation to avoid circling through a list of >> filters >> that don't included user space files? > > It's both. It stems from the fact that the remainder of this function > relies on ctx::task not being NULL, which is not the case with cpu > contexts and now that we've enabled address filters for such contexts, > it's a problem. So checking for !task would have done the trick here, > but this way we'll also avoid going down this path for task contexts > in the absence of file-based filters. In particular, grabbing the mmap > semaphore and filters spinlock we can do without.
Yes, I see it now. Do you have bigger plans for ->nr_file_filters? If the purpose is only to indicate the presence of user space files then it should be a 'bool' type (and probably changed to ->file_filters). Thanks, Mathieu > > Regards, > -- > Alex

