Re: [PATCH driver-core-linus] kernfs: add back missing error check in kernfs_fop_mmap()

From: Tobias Powalowski
Date: Sun Apr 20 2014 - 12:56:20 EST


Am 20.04.2014 14:29, schrieb Tejun Heo:
> While updating how mmap enabled kernfs files are handled by lockdep,
> 9b2db6e18945 ("sysfs: bail early from kernfs_file_mmap() to avoid
> spurious lockdep warning") inadvertently dropped error return check
> from kernfs_file_mmap(). The intention was just dropping "if
> (ops->mmap)" check as the control won't reach the point if the mmap
> callback isn't implemented, but I mistakenly removed the error return
> check together with it.
>
> This led to Xorg crash on i810 which was reported and bisected to the
> commit and then to the specific change by Tobias.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Reported-and-bisected-by: Tobias Powalowski <tobias.powalowski@xxxxxxxxxxxxxx>
> References: http://lkml.kernel.org/g/533D01BD.1010200@xxxxxxxxxxxxxx
> ---
> Hello,
>
> Oops, sorry that I didn't see the mistake which seems so obvious now.
> Can you please verify that this patch works?
>
> Thanks a lot for the report and bisection!
>
> fs/kernfs/file.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c
> index 8034706..e01ea4a 100644
> --- a/fs/kernfs/file.c
> +++ b/fs/kernfs/file.c
> @@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma)
>
> ops = kernfs_ops(of->kn);
> rc = ops->mmap(of, vma);
> + if (rc)
> + goto out_put;
>
> /*
> * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup()
Hi,
confirmed patch works fine.

Thanks.

greetings
tpowa

--
Tobias Powalowski
Archlinux Developer & Package Maintainer (tpowa)
http://www.archlinux.org
tpowa@xxxxxxxxxxxxx


Attachment: signature.asc
Description: OpenPGP digital signature