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] [thread-next>] [day] [month] [year] [list]
Message-Id: <220DFA78-0A12-4F46-B778-B331A7F2841A@linux.dev>
Date: Wed, 12 Feb 2025 13:11:08 +0100
From: Thorsten Blum <thorsten.blum@...ux.dev>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Christian Brauner <brauner@...nel.org>,
 Thomas Gleixner <tglx@...utronix.de>,
 Andrew Morton <akpm@...ux-foundation.org>,
 Jeff Layton <jlayton@...nel.org>,
 Adrian Ratiu <adrian.ratiu@...labora.com>,
 xu xin <xu.xin16@....com.cn>,
 Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
 Felix Moessbauer <felix.moessbauer@...mens.com>,
 linux-kernel@...r.kernel.org,
 linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH] proc: Use str_yes_no() helper in proc_pid_ksm_stat()

On 12. Feb 2025, at 13:04, Al Viro wrote:
> On Wed, Feb 12, 2025 at 12:59:52PM +0100, Thorsten Blum wrote:
>> Remove hard-coded strings by using the str_yes_no() helper function.
> 
>> seq_printf(m, "ksm_merge_any: %s\n",
>> - test_bit(MMF_VM_MERGE_ANY, &mm->flags) ? "yes" : "no");
>> + str_yes_no(test_bit(MMF_VM_MERGE_ANY, &mm->flags)));
>> ret = mmap_read_lock_killable(mm);
>> if (ret) {
>> mmput(mm);
>> return ret;
>> }
>> seq_printf(m, "ksm_mergeable: %s\n",
>> - ksm_process_mergeable(mm) ? "yes" : "no");
>> + str_yes_no(ksm_process_mergeable(mm)));
> 
> Is that any more readable?  If anything, that might be better off with something
> like a printf modifier...

The helpers have other benefits (from include/linux/string_choices.h):

/*
 * Here provide a series of helpers in the str_$TRUE_$FALSE format (you can
 * also expand some helpers as needed), where $TRUE and $FALSE are their
 * corresponding literal strings. These helpers can be used in the printing
 * and also in other places where constant strings are required. Using these
 * helpers offers the following benefits:
 *  1) Reducing the hardcoding of strings, which makes the code more elegant
 *     through these simple literal-meaning helpers.
 *  2) Unifying the output, which prevents the same string from being printed
 *     in various forms, such as enable/disable, enabled/disabled, en/dis.
 *  3) Deduping by the linker, which results in a smaller binary file.
 */

Thanks,
Thorsten

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ