Re: Deadlock on the mm->mmap_sem

Ulrich Weigand
2001-09-18T13:24:06Z

Manfred Spraul wrote:

>+ if (retval > count) BUG();
>+ if (copy_to_user(buf, kbuf, retval)) {
>+ retval = -EFAULT;
>+ } else {
>+ *ppos = (lineno << MAPS_LINE_SHIFT) + loff;
> }
> up_read(&mm->mmap_sem);

The copy_to_user is still done with the lock held ... I guess you just
forgot to move the up_read() up before the copy_to_user(), right?

Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com