[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231214000744.1281464-1-lakshmiy@us.ibm.com>
Date: Wed, 13 Dec 2023 18:07:44 -0600
From: Lakshmi Yadlapati <lakshmiy@...ibm.com>
To: joel@....id.au, eajames@...ux.ibm.com, ninad@...ux.ibm.com,
alistair@...ple.id.au
Cc: Lakshmi Yadlapati <lakshmiy@...ibm.com>,
linux-fsi@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: [PATCH v1] fsi: Fix panic on scom file read
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,
--
2.39.2
Powered by blists - more mailing lists