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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250315141721157LhKSIQccKZ3ZgAzuvbQo1@zte.com.cn>
Date: Sat, 15 Mar 2025 14:17:21 +0800 (CST)
From: <xie.ludan@....com.cn>
To: <tglx@...utronix.de>
Cc: <linux-kernel@...r.kernel.org>
Subject: [PATCH linux-next] genirq: use sysfs_emit() instead of scnprintf().

From: XieLudan <xie.ludan@....com.cn>

Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.

Signed-off-by: XieLudan <xie.ludan@....com.cn>
---
 kernel/irq/irqdesc.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 287830739783..8ffe12fe5af6 100644
--- 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);
 		p = ",";
 	}
 
-	ret += scnprintf(buf + ret, PAGE_SIZE - ret, "\n");
+	ret += sysfs_emit(buf + ret, "\n");
 	return ret;
 }
 IRQ_ATTR_RO(per_cpu_count);
@@ -274,7 +274,7 @@ static ssize_t chip_name_show(struct kobject *kobj,
 
 	raw_spin_lock_irq(&desc->lock);
 	if (desc->irq_data.chip && desc->irq_data.chip->name) {
-		ret = scnprintf(buf, PAGE_SIZE, "%s\n",
+		ret = sysfs_emit(buf, "%s\n",
 				desc->irq_data.chip->name);
 	}
 	raw_spin_unlock_irq(&desc->lock);
@@ -337,7 +337,7 @@ static ssize_t name_show(struct kobject *kobj,
 
 	raw_spin_lock_irq(&desc->lock);
 	if (desc->name)
-		ret = scnprintf(buf, PAGE_SIZE, "%s\n", desc->name);
+		ret = sysfs_emit(buf, "%s\n", desc->name);
 	raw_spin_unlock_irq(&desc->lock);
 
 	return ret;
@@ -354,14 +354,14 @@ static ssize_t actions_show(struct kobject *kobj,
 
 	raw_spin_lock_irq(&desc->lock);
 	for_each_action_of_desc(desc, action) {
-		ret += scnprintf(buf + ret, PAGE_SIZE - ret, "%s%s",
+		ret += sysfs_emit(buf + ret, "%s%s",
 				 p, action->name);
 		p = ",";
 	}
 	raw_spin_unlock_irq(&desc->lock);
 
 	if (ret)
-		ret += scnprintf(buf + ret, PAGE_SIZE - ret, "\n");
+		ret += sysfs_emit(buf + ret, "\n");
 
 	return ret;
 }
-- 
2.25.1
<div class="zcontentRow"><p><span style="font-family: Arial, Helvetica, &quot;Microsoft Yahei&quot;, sans-serif; background-color: rgb(255, 255, 255);">From: XieLudan &lt;xie.ludan@....com.cn&gt;</span></p><p><br></p><p>Follow the advice in Documentation/filesystems/sysfs.rst:</p><p>show() should only use sysfs_emit() or sysfs_emit_at() when formatting</p><p>the value to be returned to user space.</p><p><br></p><p>Signed-off-by: XieLudan &lt;xie.ludan@....com.cn&gt;</p><p>---</p><p>&nbsp;kernel/irq/irqdesc.c | 12 ++++++------</p><p>&nbsp;1 file changed, 6 insertions(+), 6 deletions(-)</p><p><br></p><p>diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c</p><p>index 287830739783..8ffe12fe5af6 100644</p><p>--- a/kernel/irq/irqdesc.c</p><p>+++ b/kernel/irq/irqdesc.c</p><p>@@ -257,11 +257,11 @@ static ssize_t per_cpu_count_show(struct kobject *kobj,</p><p>&nbsp;<span style="white-space:pre">	</span>for_each_possible_cpu(cpu) {</p><p>&nbsp;<span style="white-space:pre">		</span>unsigned int c = irq_desc_kstat_cpu(desc, cpu);</p><p>&nbsp;</p><p>-<span style="white-space:pre">		</span>ret += scnprintf(buf + ret, PAGE_SIZE - ret, "%s%u", p, c);</p><p>+<span style="white-space:pre">		</span>ret += sysfs_emit(buf + ret, "%s%u", p, c);</p><p>&nbsp;<span style="white-space:pre">		</span>p = ",";</p><p>&nbsp;<span style="white-space:pre">	</span>}</p><p>&nbsp;</p><p>-<span style="white-space:pre">	</span>ret += scnprintf(buf + ret, PAGE_SIZE - ret, "\n");</p><p>+<span style="white-space:pre">	</span>ret += sysfs_emit(buf + ret, "\n");</p><p>&nbsp;<span style="white-space:pre">	</span>return ret;</p><p>&nbsp;}</p><p>&nbsp;IRQ_ATTR_RO(per_cpu_count);</p><p>@@ -274,7 +274,7 @@ static ssize_t chip_name_show(struct kobject *kobj,</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_lock_irq(&amp;desc-&gt;lock);</p><p>&nbsp;<span style="white-space:pre">	</span>if (desc-&gt;irq_data.chip &amp;&amp; desc-&gt;irq_data.chip-&gt;name) {</p><p>-<span style="white-space:pre">		</span>ret = scnprintf(buf, PAGE_SIZE, "%s\n",</p><p>+<span style="white-space:pre">		</span>ret = sysfs_emit(buf, "%s\n",</p><p>&nbsp;<span style="white-space:pre">				</span>desc-&gt;irq_data.chip-&gt;name);</p><p>&nbsp;<span style="white-space:pre">	</span>}</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_unlock_irq(&amp;desc-&gt;lock);</p><p>@@ -337,7 +337,7 @@ static ssize_t name_show(struct kobject *kobj,</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_lock_irq(&amp;desc-&gt;lock);</p><p>&nbsp;<span style="white-space:pre">	</span>if (desc-&gt;name)</p><p>-<span style="white-space:pre">		</span>ret = scnprintf(buf, PAGE_SIZE, "%s\n", desc-&gt;name);</p><p>+<span style="white-space:pre">		</span>ret = sysfs_emit(buf, "%s\n", desc-&gt;name);</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_unlock_irq(&amp;desc-&gt;lock);</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>return ret;</p><p>@@ -354,14 +354,14 @@ static ssize_t actions_show(struct kobject *kobj,</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_lock_irq(&amp;desc-&gt;lock);</p><p>&nbsp;<span style="white-space:pre">	</span>for_each_action_of_desc(desc, action) {</p><p>-<span style="white-space:pre">		</span>ret += scnprintf(buf + ret, PAGE_SIZE - ret, "%s%s",</p><p>+<span style="white-space:pre">		</span>ret += sysfs_emit(buf + ret, "%s%s",</p><p>&nbsp;<span style="white-space:pre">				</span> p, action-&gt;name);</p><p>&nbsp;<span style="white-space:pre">		</span>p = ",";</p><p>&nbsp;<span style="white-space:pre">	</span>}</p><p>&nbsp;<span style="white-space:pre">	</span>raw_spin_unlock_irq(&amp;desc-&gt;lock);</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>if (ret)</p><p>-<span style="white-space:pre">		</span>ret += scnprintf(buf + ret, PAGE_SIZE - ret, "\n");</p><p>+<span style="white-space:pre">		</span>ret += sysfs_emit(buf + ret, "\n");</p><p>&nbsp;</p><p>&nbsp;<span style="white-space:pre">	</span>return ret;</p><p>&nbsp;}</p><p>--&nbsp;</p><p>2.25.1</p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p></div>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ