You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mdadm/SOURCES/0153-super-intel-fix-compil...

47 lines
1.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

From 734de8b02022bf3b7a5f2111f5314a87ddebcc83 Mon Sep 17 00:00:00 2001
From: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
Date: Tue, 6 Aug 2024 11:14:02 +0200
Subject: [PATCH 153/157] super-intel: fix compilation error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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 | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/super-intel.c b/super-intel.c
index ab9b5d3f..f6745e10 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -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);
--
2.41.0