Re: Test failure from "file: convert to SLAB_TYPESAFE_BY_RCU"

From: Sven Schnelle
Date: Fri Oct 06 2023 - 09:01:20 EST


Mateusz Guzik <mjguzik@xxxxxxxxx> writes:

> On Fri, Oct 06, 2023 at 11:19:58AM +0200, Sven Schnelle wrote:
>> I'm seeing the same with the strace test-suite on s390. The problem is
>> that /proc/*/fd now contains the file descriptors of the calling
>> process, and not the target process.
>>
>
> This is why:
>
> +static inline struct file *files_lookup_fdget_rcu(struct files_struct *files, unsigned int fd)
> +{
> + RCU_LOCKDEP_WARN(!rcu_read_lock_held(),
> + "suspicious rcu_dereference_check() usage");
> + return lookup_fdget_rcu(fd);
> +}
>
> files argument is now thrown away, instead it always uses current.

Yes, passing files to lookup_fdget_rcu() fixes the issue.