# Re: \[patch 2/3\] kcmp: Add KCMP\_EPOLL\_TFD mode to compare epoll target files

- From: Cyrill Gorcunov \<hidden\>
- Date: 2017-03-13 18:38:02 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2017/03/118593
- Thread: https://ratatoskr.run/linux-fsdevel/2017/03/118596/t.md

```text
On Mon, Mar 13, 2017 at 10:37:24AM -0700, Andrei Vagin wrote:
> 
> Here is one question inline.
> 
> Acked-by: Andrei Vagin <redacted>

Thanks!

> > +
> > +	files = get_files_struct(task2);
> > +	if (!files)
> > +		return -EBADF;
> > +
> > +	spin_lock(&files->file_lock);
> > +	filp_epoll = fcheck_files(files, slot.efd);
> > +	if (filp_epoll)
> > +		get_file(filp_epoll);
> > +	else
> > +		filp_tgt = ERR_PTR(-EBADF);
> > +	spin_unlock(&files->file_lock);
> > +	put_files_struct(files);
> 
> Why can we not use fget here ^^^^ ?

Because it's not @current's file table but foreigner process.
So we make sure there is no expand_fdtable in progress and
we test for file descriptor which is being freed.
```
