lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <33f8428e-f152-49a6-a074-b8532b96ff9a@kernel.org>
Date: Mon, 17 Mar 2025 07:17:07 +0100
From: Jiri Slaby <jirislaby@...nel.org>
To: xie.ludan@....com.cn, tglx@...utronix.de
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH linux-next] genirq: use sysfs_emit() instead of
 scnprintf().

On 17. 03. 25, 7:12, Jiri Slaby wrote:
>>> --- a/kernel/irq/irqdesc.c
>>>
>>> +++ b/kernel/irq/irqdesc.c
>>>
>>> @@ -257,11 +257,11 @@ static ssize_t per_cpu_count_show(struct 
>>> kobject *kobj,
>>>
>>> for_each_possible_cpu(cpu) {
>>>
>>> unsigned int c = irq_desc_kstat_cpu(desc, cpu);
>>>
>>> -ret += scnprintf(buf + ret, PAGE_SIZE - ret, "%s%u", p, c);
>>>
>>> +ret += sysfs_emit(buf + ret, "%s%u", p, c);
>>
>> Well, so the PAGE_SIZE boundary is never checked for this stacking 
>> write now, right?
> 
> ^^^ not really clear what I mean, so:
> 
> If you advance buf by ret every time, sysfs_emit() still would only 
> check if buf is not written more than "PAGE_SIZE" bytes. But the 
> original code performs this proper "PAGE_SIZE - ret" check.

Apparently, sysfs_emit_at() is your friend here.

>> thanks,
-- 
js
suse labs


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ