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 - 2026 Red Hat, Inc.