[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <dbf0d09e-6b59-4dfe-8010-b530e2f305b0@linux.ibm.com>
Date: Wed, 13 Dec 2023 20:09:09 -0600
From: Ninad Palsule <ninad@...ux.ibm.com>
To: Lakshmi Yadlapati <lakshmiy@...ibm.com>, joel@....id.au,
eajames@...ux.ibm.com, alistair@...ple.id.au
Cc: linux-fsi@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] fsi: Fix panic on scom file read
Hi Lakshmi,
On 12/13/23 18:07, Lakshmi Yadlapati wrote:
> Reading the scom file without the custom open method (i2cr_scom_open)
> causes a kernel panic. This change replaces simple_open with i2cr_scom_open
> to properly initialize the private_data field in the file structure,
> preventing the panic during scom file operations.
>
> Signed-off-by: Lakshmi Yadlapati <lakshmiy@...ibm.com>
> ---
> drivers/fsi/i2cr-scom.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/fsi/i2cr-scom.c b/drivers/fsi/i2cr-scom.c
> index cb7e02213032..8d65c562b488 100644
> --- a/drivers/fsi/i2cr-scom.c
> +++ b/drivers/fsi/i2cr-scom.c
> @@ -73,9 +73,18 @@ static ssize_t i2cr_scom_write(struct file *filep, const char __user *buf, size_
> return len;
> }
>
> +static int i2cr_scom_open(struct inode *inode, struct file *file)
> +{
> + struct i2cr_scom *scom = container_of(inode->i_cdev, struct i2cr_scom, cdev);
> +
> + file->private_data = scom;
> +
> + return 0;
> +}
> +
> static const struct file_operations i2cr_scom_fops = {
> .owner = THIS_MODULE,
> - .open = simple_open,
> + .open = i2cr_scom_open,
> .llseek = i2cr_scom_llseek,
> .read = i2cr_scom_read,
> .write = i2cr_scom_write,
Looks good.
Reviewed-by: Ninad Palsule <ninad@...ux.ibm.com>
Powered by blists - more mailing lists