From c4f18c64a5b4a05df7255204a9e88977acbf7e8d Mon Sep 17 00:00:00 2001 From: Allen Pais Date: Wed, 29 Mar 2017 14:21:58 +0530 Subject: [PATCH] megaraid: Fix unaligned warning The MegaRAID userland descriptor structures do not properly align pointers on their natural boundaries. This causes warnings to be issued when storcli or the SNMP daemon are in use. Quiesce the warning until the user-kernel interface has been fixed. Orabug: 24817799 Signed-off-by: Kashyap Desai Signed-off-by: Martin K. Petersen (cherry picked from commit 069af368ac74dc0130f91836b9f85f7cd5b18749) Signed-off-by: Martin K. Petersen Signed-off-by: Allen Pais --- drivers/scsi/megaraid/megaraid_sas_base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 890637fdd61e..99195a6312f5 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -6178,7 +6179,8 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance, sense_ptr = (unsigned long *) ((unsigned long)ioc->frame.raw + ioc->sense_off); - if (copy_to_user((void __user *)((unsigned long)(*sense_ptr)), + unsigned long tmp = get_unaligned((unsigned long *) sense_ptr); + if (copy_to_user((void __user *)((unsigned long)tmp), sense, ioc->sense_len)) { printk(KERN_ERR "megasas: Failed to copy out to user " "sense data\n"); -- 2.50.1