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

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