locking a device for exclusive use by userspace process (or kernel thread)
Yann Droneaud
ydroneaud at opteya.com
Wed Mar 4 13:38:52 EST 2015
Hi Greg,
Le mercredi 04 mars 2015 à 10:11 -0800, Greg KH a écrit :
> On Wed, Mar 04, 2015 at 06:59:04PM +0100, Yann Droneaud wrote:
> > Hi,
> >
> > I have a device and I have to write a driver that exposes the
> > following three operations to kernel modules AND to userspace
> > programs:
>
> <snip>
>
> Why?
I'm trying to improve the current driver for this device to allow the
lock to be released when userspace program owning the lock is killed.
> What type of device is this?
It's a device with some kind of over complicated mailbox.
A userspace program is supposed to feed the mailbox with multiple
commands and no other userspace program should be allowed to play with
the device during that time.
> And who is asking you to do this homework assignment?
>
It's not a homework assignment. It's not even something a little penguin
ask me to do.
I was so sure I could map the semaphore sematics to open() and close()
and use that file descriptor to represent the lock that I feel terribly
sorry for not being able to do so.
(At one point I felt like I was fighting against 40 years of Unix, and
such a fight is not going to be won by myself :)
So I'm back to step 0 and looking for a way to be able to release a
lock in case of a userspace program is killed.
> good luck,
>
Thanks :)
Regards.
--
Yann Droneaud
OPTEYA
More information about the Kernelnewbies
mailing list