[Intel-gfx] [PATCH 3/3] drm/i915/gem: Mark up the racy read of the mmap_singleton
Mika Kuoppala
mika.kuoppala at linux.intel.com
Wed Mar 11 12:02:24 UTC 2020
Chris Wilson <chris at chris-wilson.co.uk> writes:
> [11057.642683] BUG: KCSAN: data-race in i915_gem_mmap [i915] / singleton_release [i915]
> [11057.642717]
> [11057.642740] write (marked) to 0xffff8881f24471a0 of 8 bytes by task 44668 on cpu 2:
> [11057.643162] singleton_release+0x38/0x60 [i915]
> [11057.643192] __fput+0x160/0x3c0
> [11057.643217] ____fput+0x16/0x20
> [11057.643241] task_work_run+0xba/0x100
> [11057.643263] exit_to_usermode_loop+0xe4/0xf0
> [11057.643286] do_syscall_64+0x27e/0x2c0
> [11057.643314] entry_SYSCALL_64_after_hwframe+0x44/0xa9
> [11057.643339]
> [11057.643359] read to 0xffff8881f24471a0 of 8 bytes by task 44667 on cpu 3:
> [11057.643774] i915_gem_mmap+0x295/0x670 [i915]
> [11057.643802] mmap_region+0x62b/0xac0
> [11057.643825] do_mmap+0x414/0x6b0
> [11057.643848] vm_mmap_pgoff+0xa9/0xf0
> [11057.643875] ksys_mmap_pgoff+0x1ac/0x2f0
> [11057.643900] do_syscall_64+0x6e/0x2c0
> [11057.643924] entry_SYSCALL_64_after_hwframe+0x44/0xa9
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> index e8cccc131c40..b39c24dae64e 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> @@ -775,7 +775,7 @@ static struct file *mmap_singleton(struct drm_i915_private *i915)
> struct file *file;
>
> rcu_read_lock();
> - file = i915->gem.mmap_singleton;
> + file = READ_ONCE(i915->gem.mmap_singleton);
> if (file && !get_file_rcu(file))
> file = NULL;
> rcu_read_unlock();
> --
> 2.20.1
More information about the Intel-gfx
mailing list