Blame SOURCES/kvm-nbd-server-Silence-gcc-false-positive.patch

383d26
From 71b082ce48653cb70bf628f753d6e7750f8d03c2 Mon Sep 17 00:00:00 2001
383d26
From: John Snow <jsnow@redhat.com>
383d26
Date: Wed, 18 Jul 2018 22:55:07 +0200
383d26
Subject: [PATCH 82/89] nbd/server: Silence gcc false positive
383d26
383d26
RH-Author: John Snow <jsnow@redhat.com>
383d26
Message-id: <20180718225511.14878-32-jsnow@redhat.com>
383d26
Patchwork-id: 81425
383d26
O-Subject: [RHEL-7.6 qemu-kvm-rhev PATCH 31/35] nbd/server: Silence gcc false positive
383d26
Bugzilla: 1207657
383d26
RH-Acked-by: Eric Blake <eblake@redhat.com>
383d26
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
383d26
RH-Acked-by: Fam Zheng <famz@redhat.com>
383d26
383d26
From: Eric Blake <eblake@redhat.com>
383d26
383d26
The code has a while() loop that always initialized 'end', and
383d26
the loop always executes at least once (as evidenced by the assert()
383d26
just prior to the loop).  But some versions of gcc still complain
383d26
that 'end' is used uninitialized, so silence them.
383d26
383d26
Signed-off-by: Eric Blake <eblake@redhat.com>
383d26
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
383d26
Message-id: 20180622125814.345274-1-eblake@redhat.com
383d26
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
383d26
(cherry picked from commit 45eb6fb6cea28cdc937764aac6585751047bb294)
383d26
Signed-off-by: John Snow <jsnow@redhat.com>
383d26
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
383d26
---
383d26
 nbd/server.c | 3 ++-
383d26
 1 file changed, 2 insertions(+), 1 deletion(-)
383d26
383d26
diff --git a/nbd/server.c b/nbd/server.c
383d26
index 2746046..50ac8bf 100644
383d26
--- a/nbd/server.c
383d26
+++ b/nbd/server.c
383d26
@@ -1937,7 +1937,7 @@ static unsigned int bitmap_to_extents(BdrvDirtyBitmap *bitmap, uint64_t offset,
383d26
                                       unsigned int nb_extents,
383d26
                                       bool dont_fragment)
383d26
 {
383d26
-    uint64_t begin = offset, end;
383d26
+    uint64_t begin = offset, end = offset;
383d26
     uint64_t overall_end = offset + *length;
383d26
     unsigned int i = 0;
383d26
     BdrvDirtyBitmapIter *it;
383d26
@@ -1977,6 +1977,7 @@ static unsigned int bitmap_to_extents(BdrvDirtyBitmap *bitmap, uint64_t offset,
383d26
 
383d26
     bdrv_dirty_bitmap_unlock(bitmap);
383d26
 
383d26
+    assert(offset > end);
383d26
     *length = end - offset;
383d26
     return i;
383d26
 }
383d26
-- 
383d26
1.8.3.1
383d26