Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH] net/core: split dev_ifsioc() according to locking | Date | Sun, 7 Oct 2007 02:17:08 +0200 |
| |
On Saturday 06 October 2007, Jeff Garzik wrote: > > This always bugged me: dev_ioctl() called dev_ifsioc() either inside > read_lock(dev_base_lock) or rtnl_lock(), depending on the ioctl being > executed. > > This change moves the ioctls executed inside dev_base_lock to a new > function, dev_ifsioc_locked(). Now the locking context is completely > clear to the reader. > > Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Great idea!
I've been experimenting with a new compat_dev_ioctl() function along the lines of what I just posted for the blkdev ioctls. For that, it would be perfect to streamline dev_ioctl further:
* move the dev_load() and locking into dev_ifsioc{,_locked} * move the copy_to_user step to a single place at the end of dev_ioctl
After that, we could have very simple dev_ioctl and compat_dev_ioctl functions calling the same dev_ifsioc{,_locked} functions.
Arnd <>< - 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/
| |