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]
Date:   Fri, 2 Aug 2019 16:05:01 -0700
From:   "Paul E. McKenney" <paulmck@...ux.ibm.com>
To:     Chuhong Yuan <hslester96@...il.com>
Cc:     Davidlohr Bueso <dave@...olabs.net>,
        Josh Triplett <josh@...htriplett.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 03/10] locking/locktorture: Replace strncmp with
 str_has_prefix

On Fri, Aug 02, 2019 at 09:46:56AM +0800, Chuhong Yuan wrote:
> strncmp(str, const, len) is error-prone because len
> is easy to have typo.
> The example is the hard-coded len has counting error
> or sizeof(const) forgets - 1.
> So we prefer using newly introduced str_has_prefix
> to substitute such strncmp.
> 
> Signed-off-by: Chuhong Yuan <hslester96@...il.com>

Queued, thank you!  I updated the commit log as follows.  Please let
me know if I messed anything up.

							Thanx, Paul

------------------------------------------------------------------------

commit e2be525371b2f6790f6c1ab712c3d273fb1f2bea
Author: Chuhong Yuan <hslester96@...il.com>
Date:   Fri Aug 2 09:46:56 2019 +0800

    locktorture: Replace strncmp() with str_has_prefix()
    
    The strncmp() function is error-prone because it is easy to get the
    length wrong, especially if the string is subject to change, especially
    given the need to account for the terminating nul byte.  This commit
    therefore substitutes the newly introduced str_has_prefix(), which
    does not require a separately specified length.
    
    Signed-off-by: Chuhong Yuan <hslester96@...il.com>
    Signed-off-by: Paul E. McKenney <paulmck@...ux.ibm.com>

diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
index c513031cd7e3..8dd900247205 100644
--- a/kernel/locking/locktorture.c
+++ b/kernel/locking/locktorture.c
@@ -889,16 +889,16 @@ static int __init lock_torture_init(void)
 		cxt.nrealwriters_stress = 2 * num_online_cpus();
 
 #ifdef CONFIG_DEBUG_MUTEXES
-	if (strncmp(torture_type, "mutex", 5) == 0)
+	if (str_has_prefix(torture_type, "mutex"))
 		cxt.debug_lock = true;
 #endif
 #ifdef CONFIG_DEBUG_RT_MUTEXES
-	if (strncmp(torture_type, "rtmutex", 7) == 0)
+	if (str_has_prefix(torture_type, "rtmutex"))
 		cxt.debug_lock = true;
 #endif
 #ifdef CONFIG_DEBUG_SPINLOCK
-	if ((strncmp(torture_type, "spin", 4) == 0) ||
-	    (strncmp(torture_type, "rw_lock", 7) == 0))
+	if ((str_has_prefix(torture_type, "spin")) ||
+	    (str_has_prefix(torture_type, "rw_lock")))
 		cxt.debug_lock = true;
 #endif
 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ