>+ 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- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/