]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
super-intel: fix compilation error
authorKinga Stefaniuk <kinga.stefaniuk@intel.com>
Tue, 6 Aug 2024 09:14:02 +0000 (11:14 +0200)
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Tue, 6 Aug 2024 11:53:54 +0000 (13:53 +0200)
Fix compilation error:

super-intel.c: In function ‘end_migration’:
super-intel.c:4360:29: error: writing 2 bytes into a region
of size 0 [-Werror=stringop-overflow=]
 4360 |         dev->vol.migr_state = 0;
      |         ~~~~~~~~~~~~~~~~~~~~^~~
cc1: note: destination object is likely at address zero
cc1: all warnings being treated as errors
make: *** [Makefile:232: super-intel.o] Error 1

reported, when GCC 14 is used. Return when dev is NULL, to avoid it.

Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
super-intel.c

index ab9b5d3fc7f524ac5c93a5d408a51a183e7aa33b..f6745e101371dd2cc94552f28639b8dbdb483b0e 100644 (file)
@@ -4330,6 +4330,12 @@ static void migrate(struct imsm_dev *dev, struct intel_super *super,
 static void end_migration(struct imsm_dev *dev, struct intel_super *super,
                          __u8 map_state)
 {
+       /* To avoid compilation error, saying dev can't be NULL when
+        * migr_state is assigned.
+        */
+       if (dev == NULL)
+               return;
+
        struct imsm_map *map = get_imsm_map(dev, MAP_0);
        struct imsm_map *prev = get_imsm_map(dev, dev->vol.migr_state == 0 ?
                                                    MAP_0 : MAP_1);