> -----Original Message----- > From: Arnd Bergmann [mailto:[email protected]] > Sent: Tuesday 19 March 2019 19:46 > To: Dragan Cvetic <[email protected]> > Cc: gregkh <[email protected]>; Michal Simek <[email protected]>; > Derek Kiernan <[email protected]>; Linux ARM > <[email protected]>; Linux Kernel Mailing List > <[email protected]> > Subject: Re: [PATCH 04/12] misc: xilinx_sdfec: Add open, close and ioctl > > On Tue, Mar 19, 2019 at 7:10 PM Dragan Cvetic <[email protected]> wrote: > > > -----Original Message----- > > > From: Arnd Bergmann [mailto:[email protected]] > > > Sent: Tuesday 19 March 2019 15:36 > > > To: Dragan Cvetic <[email protected]> > > > Cc: gregkh <[email protected]>; Michal Simek > > > <[email protected]>; Linux ARM <linux-arm- > [email protected]>; > > > Derek Kiernan <[email protected]>; Linux Kernel Mailing List > > > <[email protected]> > > > Subject: Re: [PATCH 04/12] misc: xilinx_sdfec: Add open, close and ioctl > > > > > > On Tue, Mar 19, 2019 at 3:59 PM Dragan Cvetic <[email protected]> wrote: > > > > > > > > > > > + /* Only one open per device at a time */ > > > > > > + if (!atomic_dec_and_test(&xsdfec->open_count)) { > > > > > > + atomic_inc(&xsdfec->open_count); > > > > > > + return -EBUSY; > > > > > > + } > > > > > > > > > > What is that limitation for? Is it worse to open it twice than > > > > > to dup() or fork()? > > > > > > > > > The device can be opened only once. > > > > > > What I mean here is that preventing the double open() is > > > a fairly weak protection: it means you cannot have multiple > > > 'struct file' pointers attached to the same inode, but you > > > can still have the same 'struct file' being available to > > > multiple processes. > > > > > Could you please suggest the solution? > > My intention was to prevent more than one process access the same device. > > Generally speaking, you can't prevent it, but you should make sure that > if two processes attempt to use the same device, nothing bad happens. > Usually it's enough to have appropriate locking. > There is a need to increase the driver security, even the proposed is not perfect, it is acceptable for us for now.
> Arnd

