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: <1318581857.3362.8.camel@br98xy6r>
Date:	Fri, 14 Oct 2011 10:44:17 +0200
From:	Michael Holzheu <holzheu@...ux.vnet.ibm.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	andre.goddard@...il.com, schwidefsky@...ibm.com,
	heiko.carstens@...ibm.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Fix strim() semantics for strings that have only blanks

Hello Andrew,

On Thu, 2011-10-13 at 16:54 -0700, Andrew Morton wrote:
> On Wed, 12 Oct 2011 10:31:57 +0200
> > Also strim() explicitly does not have "__must_check", in order to use it
> > without using the return value.
> > 
> 
> This observation seems to have nothing to do with the patch?

Well, it is just a hint that it was intentionally that the return value
of strim() can be ignored and therefore I legally can use it like I do
it ;-)

> I think that strim() _should_ have __must_check annotation (which means
> that strim() simply disappears, which is good).  It is only safe to
> ignore the strim() return value if the caller knows that the string
> started with a non-space.  The number of situations where this is
> guaranteed are faily small, I suspect.

Everywhere I use that function I know that my string has only trailing
blanks (or only blanks). Therefore I think we should have a function
that just removes trailing blanks. Perhaps we should change strim() to:

void strim(char *str);

And change the three users that need the return value to use the
strstrip() instead:

grep -r " = strim(" linux-2.6
security/apparmor/lib.c:	char *name = strim(fqname);
security/apparmor/lsm.c:	args = strim(args);
security/apparmor/policy.c:	hname = strim((char *)hname);

Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ