drivers/acpi/apei/erst-dbg.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
Use the result of copy_from_user() directly instead of assigning it to
the local variable 'rc' and then overwriting it in erst_dbg_write() or
immediately returning from erst_dbg_ioctl().
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
drivers/acpi/apei/erst-dbg.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/acpi/apei/erst-dbg.c b/drivers/acpi/apei/erst-dbg.c
index 246076341e8c..ff0e8bf8e97a 100644
--- a/drivers/acpi/apei/erst-dbg.c
+++ b/drivers/acpi/apei/erst-dbg.c
@@ -60,9 +60,8 @@ static long erst_dbg_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
switch (cmd) {
case APEI_ERST_CLEAR_RECORD:
- rc = copy_from_user(&record_id, (void __user *)arg,
- sizeof(record_id));
- if (rc)
+ if (copy_from_user(&record_id, (void __user *)arg,
+ sizeof(record_id)))
return -EFAULT;
return erst_clear(record_id);
case APEI_ERST_GET_RECORD_COUNT:
@@ -175,8 +174,7 @@ static ssize_t erst_dbg_write(struct file *filp, const char __user *ubuf,
erst_dbg_buf = p;
erst_dbg_buf_len = usize;
}
- rc = copy_from_user(erst_dbg_buf, ubuf, usize);
- if (rc) {
+ if (copy_from_user(erst_dbg_buf, ubuf, usize)) {
rc = -EFAULT;
goto out;
}
--
2.51.0
在 2025/9/4 06:49, Thorsten Blum 写道: > Use the result of copy_from_user() directly instead of assigning it to > the local variable 'rc' and then overwriting it in erst_dbg_write() or > immediately returning from erst_dbg_ioctl(). > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > --- > drivers/acpi/apei/erst-dbg.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/acpi/apei/erst-dbg.c b/drivers/acpi/apei/erst-dbg.c > index 246076341e8c..ff0e8bf8e97a 100644 > --- a/drivers/acpi/apei/erst-dbg.c > +++ b/drivers/acpi/apei/erst-dbg.c > @@ -60,9 +60,8 @@ static long erst_dbg_ioctl(struct file *f, unsigned int cmd, unsigned long arg) > > switch (cmd) { > case APEI_ERST_CLEAR_RECORD: > - rc = copy_from_user(&record_id, (void __user *)arg, > - sizeof(record_id)); > - if (rc) > + if (copy_from_user(&record_id, (void __user *)arg, > + sizeof(record_id))) > return -EFAULT; > return erst_clear(record_id); > case APEI_ERST_GET_RECORD_COUNT: > @@ -175,8 +174,7 @@ static ssize_t erst_dbg_write(struct file *filp, const char __user *ubuf, > erst_dbg_buf = p; > erst_dbg_buf_len = usize; > } > - rc = copy_from_user(erst_dbg_buf, ubuf, usize); > - if (rc) { > + if (copy_from_user(erst_dbg_buf, ubuf, usize)) { > rc = -EFAULT; > goto out; > } Hi Thorsten, Thanks for the patch. The changes look good to me. Since this is a code cleanup with no functional changes, could you please mention "no functional change" or similar wording in the commit message to make it clear? With that addressed: Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com> Thanks, Shuai
On Fri, Sep 5, 2025 at 3:19 AM Shuai Xue <xueshuai@linux.alibaba.com> wrote: > > > > 在 2025/9/4 06:49, Thorsten Blum 写道: > > Use the result of copy_from_user() directly instead of assigning it to > > the local variable 'rc' and then overwriting it in erst_dbg_write() or > > immediately returning from erst_dbg_ioctl(). > > > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > > --- > > drivers/acpi/apei/erst-dbg.c | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/acpi/apei/erst-dbg.c b/drivers/acpi/apei/erst-dbg.c > > index 246076341e8c..ff0e8bf8e97a 100644 > > --- a/drivers/acpi/apei/erst-dbg.c > > +++ b/drivers/acpi/apei/erst-dbg.c > > @@ -60,9 +60,8 @@ static long erst_dbg_ioctl(struct file *f, unsigned int cmd, unsigned long arg) > > > > switch (cmd) { > > case APEI_ERST_CLEAR_RECORD: > > - rc = copy_from_user(&record_id, (void __user *)arg, > > - sizeof(record_id)); > > - if (rc) > > + if (copy_from_user(&record_id, (void __user *)arg, > > + sizeof(record_id))) > > return -EFAULT; > > return erst_clear(record_id); > > case APEI_ERST_GET_RECORD_COUNT: > > @@ -175,8 +174,7 @@ static ssize_t erst_dbg_write(struct file *filp, const char __user *ubuf, > > erst_dbg_buf = p; > > erst_dbg_buf_len = usize; > > } > > - rc = copy_from_user(erst_dbg_buf, ubuf, usize); > > - if (rc) { > > + if (copy_from_user(erst_dbg_buf, ubuf, usize)) { > > rc = -EFAULT; > > goto out; > > } > > Hi Thorsten, > Thanks for the patch. > > The changes look good to me. > > Since this is a code cleanup with no functional changes, could you > please mention "no functional change" or similar wording in the commit > message to make it clear? Added. > With that addressed: > Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com> And patch applied as 6.18 material, thanks!
© 2016 - 2025 Red Hat, Inc.