Patch "md: avoid warning for 32-bit sector_t" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    md: avoid warning for 32-bit sector_t

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     md-avoid-warning-for-32-bit-sector_t.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 3312c951efaba55080958974047414576b9e5d63 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@xxxxxxxx>
Date: Mon, 21 Dec 2015 10:51:01 +1100
Subject: md: avoid warning for 32-bit sector_t

From: Arnd Bergmann <arnd@xxxxxxxx>

commit 3312c951efaba55080958974047414576b9e5d63 upstream.

When CONFIG_LBDAF is not set, sector_t is only 32-bits wide, which
means we cannot have devices with more than 2TB, and the code that
is trying to handle compatibility support for large devices in
md version 0.90 is meaningless but also causes a compile-time warning:

drivers/md/md.c: In function 'super_90_load':
drivers/md/md.c:1029:19: warning: large integer implicitly truncated to unsigned type [-Woverflow]
drivers/md/md.c: In function 'super_90_rdev_size_change':
drivers/md/md.c:1323:17: warning: large integer implicitly truncated to unsigned type [-Woverflow]

This adds a check for CONFIG_LBDAF to avoid even getting into this
code path, and also adds an explicit cast to let the compiler know
it doesn't have to warn about the truncation.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
 drivers/md/md.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -1028,8 +1028,9 @@ static int super_90_load(struct md_rdev
 	 * (not needed for Linear and RAID0 as metadata doesn't
 	 * record this size)
 	 */
-	if (rdev->sectors >= (2ULL << 32) && sb->level >= 1)
-		rdev->sectors = (2ULL << 32) - 2;
+	if (IS_ENABLED(CONFIG_LBDAF) && (u64)rdev->sectors >= (2ULL << 32) &&
+	    sb->level >= 1)
+		rdev->sectors = (sector_t)(2ULL << 32) - 2;
 
 	if (rdev->sectors < ((sector_t)sb->size) * 2 && sb->level >= 1)
 		/* "this cannot possibly happen" ... */
@@ -1322,8 +1323,9 @@ super_90_rdev_size_change(struct md_rdev
 	/* Limit to 4TB as metadata cannot record more than that.
 	 * 4TB == 2^32 KB, or 2*2^32 sectors.
 	 */
-	if (num_sectors >= (2ULL << 32) && rdev->mddev->level >= 1)
-		num_sectors = (2ULL << 32) - 2;
+	if (IS_ENABLED(CONFIG_LBDAF) && (u64)num_sectors >= (2ULL << 32) &&
+	    rdev->mddev->level >= 1)
+		num_sectors = (sector_t)(2ULL << 32) - 2;
 	md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size,
 		       rdev->sb_page);
 	md_super_wait(rdev->mddev);


Patches currently in stable-queue which might be from arnd@xxxxxxxx are

queue-4.4/kasan-rework-kconfig-settings.patch
queue-4.4/hdpvr-hide-unused-variable.patch
queue-4.4/mtd-ichxrom-maybe-uninitialized-with-gcc-4.9.patch
queue-4.4/profile-hide-unused-functions-when-config_proc_fs.patch
queue-4.4/perf-x86-shut-up-false-positive-wmaybe-uninitialized-warning.patch
queue-4.4/hwrng-exynos-use-__maybe_unused-to-hide-pm-functions.patch
queue-4.4/usb-cdc_subset-only-build-when-one-driver-is-enabled.patch
queue-4.4/ipv4-ipconfig-avoid-unused-ic_proto_used-symbol.patch
queue-4.4/revert-power-bq27xxx_battery-remove-unneeded-dependency-in-kconfig.patch
queue-4.4/go7007-add-media_camera_support-dependency.patch
queue-4.4/scsi-advansys-fix-build-warning-for-pci-n.patch
queue-4.4/ssb-mark-ssb_bus_register-as-__maybe_unused.patch
queue-4.4/tty-cyclades-cyz_interrupt-is-only-used-for-pci.patch
queue-4.4/infiniband-cxgb4-use-pr-format-string-for-printing-resources.patch
queue-4.4/video-fbdev-via-remove-possibly-unused-variables.patch
queue-4.4/binfmt_elf-compat-avoid-unused-function-warning.patch
queue-4.4/drm-gma500-remove-helper-function.patch
queue-4.4/fbdev-s6e8ax0-avoid-unused-function-warnings.patch
queue-4.4/netfilter-ipvs-avoid-unused-variable-warnings.patch
queue-4.4/idle-i7300-add-pci-dependency.patch
queue-4.4/b2c2-flexcop-avoid-unused-function-warnings.patch
queue-4.4/fbdev-auo_k190x-avoid-unused-function-warnings.patch
queue-4.4/cw1200-fix-bogus-maybe-uninitialized-warning.patch
queue-4.4/x86-build-silence-the-build-with-make-s.patch
queue-4.4/gpio-xgene-mark-pm-functions-as-__maybe_unused.patch
queue-4.4/kvm-add-x86_local_apic-dependency.patch
queue-4.4/arm-tegra-select-usb_ulpi-from-ehci-rather-than-platform.patch
queue-4.4/asoc-mediatek-add-i2c-dependency.patch
queue-4.4/reiserfs-avoid-a-wmaybe-uninitialized-warning.patch
queue-4.4/scsi-advansys-fix-uninitialized-data-access.patch
queue-4.4/mtd-sh_flctl-pass-fifo-as-physical-address.patch
queue-4.4/driver-core-use-dev-argument-in-dev_dbg_ratelimited-stub.patch
queue-4.4/modsign-hide-openssl-output-in-silent-builds.patch
queue-4.4/net-hp100-remove-unnecessary-ifdefs.patch
queue-4.4/genirq-msi-add-stubs-for-get_cached_msi_msg-pci_write_msi_msg.patch
queue-4.4/asoc-intel-kconfig-fix-build-when-acpi-is-not-enabled.patch
queue-4.4/asoc-ux500-add-module_license-tag.patch
queue-4.4/wireless-cw1200-use-__maybe_unused-to-hide-pm-functions_.patch
queue-4.4/mptfusion-hide-unused-seq_mpt_print_ioc_summary-function.patch
queue-4.4/tlan-avoid-unused-label-with-pci-n.patch
queue-4.4/usb-musb-ux500-remove-duplicate-check-for-dma_is_compatible.patch
queue-4.4/mtd-cfi-enforce-valid-geometry-configuration.patch
queue-4.4/thermal-spear-use-__maybe_unused-for-pm-functions.patch
queue-4.4/x86-microcode-amd-change-load_microcode_amd-s-param-to-bool-to-fix-preemptibility-bug.patch
queue-4.4/video-fbdev-mmp-add-module_license.patch
queue-4.4/fbdev-sis-enforce-selection-of-at-least-one-backend.patch
queue-4.4/x86-boot-avoid-warning-for-zero-filling-.bss.patch
queue-4.4/power-bq27xxx_battery-mark-some-symbols-__maybe_unused.patch
queue-4.4/scsi-mvumi-use-__maybe_unused-to-hide-pm-functions.patch
queue-4.4/usb-phy-msm-add-regulator-dependency.patch
queue-4.4/isdn-icn-remove-a-warning.patch
queue-4.4/ncr5380-shut-up-gcc-indentation-warning.patch
queue-4.4/arm64-dts-add-cooling-cells-to-cpu-nodes.patch
queue-4.4/vmxnet3-prevent-building-with-64k-pages.patch
queue-4.4/genksyms-fix-segfault-with-invalid-declarations.patch
queue-4.4/x86-platform-add-pci-dependency-for-punit_atom_debug.patch
queue-4.4/target-user-fix-cast-from-pointer-to-phys_addr_t.patch
queue-4.4/rtlwifi-fix-gcc-6-indentation-warning.patch
queue-4.4/alsa-hda-ca0132-fix-possible-null-pointer-use.patch
queue-4.4/thermal-fix-intel_soc_dts_iosf_core-dependencies.patch
queue-4.4/arm64-define-bug-instruction-without-config_bug.patch
queue-4.4/v4l-remove-media_tuner-dependency-for-video_tuner.patch
queue-4.4/tc358743-fix-register-i2c_rd-wr-functions.patch
queue-4.4/scsi-fdomain-drop-fdomain_pci_tbl-when-built-in.patch
queue-4.4/scsi-initio-remove-duplicate-module-device-table.patch
queue-4.4/netlink-fix-nla_put_-u8-u16-u32-for-kasan.patch
queue-4.4/x86-fpu-math-emu-fix-possible-uninitialized-variable-use.patch
queue-4.4/asoc-rockchip-use-__maybe_unused-to-hide-st_irq_syscfg_resume.patch
queue-4.4/staging-ste_rmi4-avoid-unused-function-warnings.patch
queue-4.4/em28xx-only-use-mt9v011-if-camera-support-is-enabled.patch
queue-4.4/pwc-hide-unused-label.patch
queue-4.4/input-tca8418_keypad-hide-gcc-4.9-wmaybe-uninitialized-warning.patch
queue-4.4/fbdev-sm712fb-avoid-unused-function-warnings.patch
queue-4.4/isdn-sc-work-around-type-mismatch-warning.patch
queue-4.4/tty-hvc_xen-hide-xen_console_remove-when-unused.patch
queue-4.4/virtio_balloon-prevent-uninitialized-variable-use.patch
queue-4.4/drm-nouveau-hide-gcc-4.9-wmaybe-uninitialized.patch
queue-4.4/dell-wmi-dell-laptop-depends-dmi.patch
queue-4.4/x86-add-multiuser-dependency-for-kvm.patch
queue-4.4/md-avoid-warning-for-32-bit-sector_t.patch
queue-4.4/isdn-eicon-reduce-stack-size-of-sig_ind-function.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]