From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55578) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYvFq-0003hK-CU for qemu-devel@nongnu.org; Fri, 20 Mar 2015 07:38:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYvFn-0006m9-28 for qemu-devel@nongnu.org; Fri, 20 Mar 2015 07:38:18 -0400 Message-ID: <550C06A2.6000402@suse.de> Date: Fri, 20 Mar 2015 12:38:10 +0100 From: Alexander Graf MIME-Version: 1.0 References: <1426738458-24229-1-git-send-email-david@gibson.dropbear.id.au> In-Reply-To: <1426738458-24229-1-git-send-email-david@gibson.dropbear.id.au> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] spapr_pci: Fix unsafe signed/unsigned comparisons List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson , armbru@redhat.com Cc: aik@ozlabs.ru, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, mdroth@us.ibm.com On 19.03.15 05:14, David Gibson wrote: > spapr_pci.c contains a number of expressions of the form (uval == -1) or > (uval != -1), where 'uval' is an unsigned value. > > This mostly works in practice, because as long as the width of uval is > greater or equal than that of (int), the -1 will be promoted to the > unsigned type, which is the expected outcome. > > However, at least for the cases where uval is uint32_t, this would break > on platforms where sizeof(int) > 4 (and a few such do exist), because then > the uint32_t value would be promoted to the larger int type, and never be > equal to -1. > > This patch fixes these errors. The fixes for the (uint32_t) cases are > necessary as described above. I've made similar fixes to (uint64_t) and > (hwaddr) cases. Those are strictly theoretical, since I don't know of any > platforms where sizeof(int) > 8, but hey, it's not that hard so we might > as well be strictly C standard compliant. > > Reported-by: Markus Armbruster > Signed-off-by: David Gibson Thanks, applied to ppc-next-2.4. Alex