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>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100723164218.GC750@n2100.arm.linux.org.uk>
Date:	Fri, 23 Jul 2010 17:42:18 +0100
From:	Russell King - ARM Linux <linux@....linux.org.uk>
To:	Stepan Moskovchenko <stepanm@...eaurora.org>
Cc:	dwalker@...eaurora.org, linux-kernel@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH RFC] arm: msm: Add QSD8x60 System MMU support.

On Thu, Jul 22, 2010 at 02:21:34PM -0700, Stepan Moskovchenko wrote:
> Add support for the System MMUs found on the 8x60 and 8x72
> families of Qualcomm MSMs. These SMMUs allow virtualization
> of the address space used by most of the multimedia cores
> on these chips.

There's lots of "return -1;" statements in this patch - it's obscene
that this is used to indicate "some error occurred" in kernel space
rather than a real errno value - even when an existing function
(eg, request_irq) gave you an error code already.

The problem comes when someone - or you - uses your code, assuming that
you do return errno values, just like the rest of the kernel.  I've seen
cases where this happened all the way through to userspace.  When "-1"
is interpreted as an errno value, it means "Operation not permitted"
which almost is never what you meant - and as kernel functions return
negative errno values, this is exactly how it gets interpreted.

Please note this for the future - and please review patches on this
point internally first.

Thanks.
--
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