lockdep splat from ioctl and mmap fops sharing lock

From: Johannes Weiner
Date: Thu Oct 23 2008 - 09:58:50 EST

Johannes Weiner <hannes@xxxxxxxxxxxx> writes:

> Hi,
> fb_mmap() is called under mmap_sem and acquires fb_info->lock.
> Since 3e680aae4e53ab "fb: convert lock/unlock_kernel() into local fb
> mutex", fb_ioctl() takes fb_info->lock and does copy_to/from_user()
> under it, which in turn might acquire mmap_sem.

More affected drivers:

agp_ioctl() doing usercopy under agp_fe.agp_mutex
agp_mmap() taking agp_fe.agp_mutex under mmap_sem

dv1394_write() doing usercopy under video->mtx
dv1394_mmap() taking video->mtx under mmap_sem

raw1394_ioctl() doing usercopy under fi->state_mutex
raw1394_mmap() taking fi->state_mutex under mmap_sem

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