[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YWwqE5T6h5j14M/M@kroah.com>
Date: Sun, 17 Oct 2021 15:50:11 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: William Breathitt Gray <vilhelm.gray@...il.com>
Cc: jic23@...nel.org, linux-stm32@...md-mailman.stormreply.com,
kernel@...gutronix.de, a.fatoum@...gutronix.de,
kamel.bouhara@...tlin.com, gwendal@...omium.org,
alexandre.belloni@...tlin.com, david@...hnology.com,
linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, syednwaris@...il.com,
patrick.havelange@...ensium.com, fabrice.gasnier@...com,
mcoquelin.stm32@...il.com, alexandre.torgue@...com,
o.rempel@...gutronix.de, jarkko.nikula@...ux.intel.com,
Dan Carpenter <dan.carpenter@...cle.com>
Subject: Re: [PATCH v17 2/9] counter: Add character device interface
Note, review of this now that it has been submitted in a pull request to
me, sorry I missed this previously...
On Wed, Sep 29, 2021 at 12:15:59PM +0900, William Breathitt Gray wrote:
> +static int counter_chrdev_open(struct inode *inode, struct file *filp)
> +{
> + struct counter_device *const counter = container_of(inode->i_cdev,
> + typeof(*counter),
> + chrdev);
> +
> + /* Ensure chrdev is not opened more than 1 at a time */
> + if (!atomic_add_unless(&counter->chrdev_lock, 1, 1))
> + return -EBUSY;
I understand the feeling that you wish to stop userspace from doing
this, but really, it does not work. Eventhough you are doing this
correctly (you should see all the other attempts at doing this), you are
not preventing userspace from having multiple processes access this
device node at the same time, so please, don't even attempt to stop this
from happening.
So you can drop the atomic "lock" you have here, it's not needed at all.
thanks,
greg k-h
Powered by blists - more mailing lists