staging: zsmalloc: Ensure handle is never 0 on success
authorOlav Haugan <ohaugan@codeaurora.org>
Fri, 22 Nov 2013 17:30:41 +0000 (09:30 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 18:55:47 +0000 (10:55 -0800)
commit6871b98011fd07991f9259c9be339b1bde34d527
treeb6cf86e9ee4cf9610a0389d388aad8a71acdbfff
parent51de4ecd7c25fae75eb8d0936a443119e13384f9
staging: zsmalloc: Ensure handle is never 0 on success

commit 67296874eb1cc80317bf2a8fba22b494e21eb29b upstream.

zsmalloc encodes a handle using the pfn and an object
index. On hardware platforms with physical memory starting
at 0x0 the pfn can be 0. This causes the encoded handle to be
0 and is incorrectly interpreted as an allocation failure.

This issue affects all current and future SoCs with physical
memory starting at 0x0. All MSM8974 SoCs which includes
Google Nexus 5 devices are affected.

To prevent this false error we ensure that the encoded handle
will not be 0 when allocation succeeds.

Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/zsmalloc/zsmalloc-main.c