From mboxrd@z Thu Jan 1 00:00:00 1970 From: ydroneaud@opteya.com (Yann Droneaud) Date: Wed, 04 Mar 2015 19:38:52 +0100 Subject: locking a device for exclusive use by userspace process (or kernel thread) In-Reply-To: <20150304181105.GA13218@kroah.com> References: <1425491944.3069.29.camel@opteya.com> <20150304181105.GA13218@kroah.com> Message-ID: <1425494332.3069.43.camel@opteya.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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: > > > > 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