Bug 15001
Summary: | megaraid_sas fills dmesg with megasas: Failed to copy out to user sense data | ||
---|---|---|---|
Product: | SCSI Drivers | Reporter: | Alex (mailatgoogl) |
Component: | Other | Assignee: | scsi_drivers-other |
Status: | RESOLVED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | CC: | bo.yang, linux-bugs, mailatgoogl, mi_whitebrook_13, thenzl |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.31.8 2.6.31.9 2.6.31.10 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
dmesg
patch to handle compat apps |
Description
Alex
2010-01-07 12:42:02 UTC
We submited 4.12 driver to upstream which accepted by main stream 2.6.33. Is there available to try 4.12? Thanks, Bo Yang Created attachment 24507 [details]
dmesg
dmesg
Hello , so what I have done : I copied megaraid directory from 2.6.33-rc3 and compiled module here is my Makefile obj-$(CONFIG_MEGARAID_MM) += megaraid_mm.o obj-$(CONFIG_MEGARAID_MAILBOX) += megaraid_mbox.o obj-$(CONFIG_MEGARAID_SAS) += megaraid_sas.o KDIR := /lib/modules/2.6.31.11-grsec/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) CONFIG_DEBUG_SECTION_MISMATCH=y modules and here is the make's output /home/pkg/megaraid/megaraid# make make -C /lib/modules/2.6.31.11-grsec/build SUBDIRS=/home/pkg/megaraid/megaraid CONFIG_DEBUG_SECTION_MISMATCH=y modules make[1]: Entering directory `/usr/src/linux-headers-2.6.31.11-grsec' Building modules, stage 2. MODPOST 1 modules WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x30): Section mismatch in reference from the variable megasas_pci_driver to the function .text:megasas_suspend() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x48): Section mismatch in reference from the variable megasas_pci_driver to the function .text:megasas_resume() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x50): Section mismatch in reference from the variable megasas_pci_driver to the function .text:megasas_shutdown() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0xf8): Section mismatch in reference from the variable driver_attr_poll_mode_io to the function .text:megasas_sysfs_show_poll_mode_io() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x100): Section mismatch in reference from the variable driver_attr_poll_mode_io to the function .text:megasas_sysfs_set_poll_mode_io() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x128): Section mismatch in reference from the variable driver_attr_dbg_lvl to the function .text:megasas_sysfs_show_dbg_lvl() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x130): Section mismatch in reference from the variable driver_attr_dbg_lvl to the function .text:megasas_sysfs_set_dbg_lvl() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x158): Section mismatch in reference from the variable driver_attr_release_date to the function .text:megasas_sysfs_show_release_date() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x188): Section mismatch in reference from the variable driver_attr_version to the function .text:megasas_sysfs_show_version() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x1f8): Section mismatch in reference from the variable megasas_template to the function .text:megasas_queue_command() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x210): Section mismatch in reference from the variable megasas_template to the function .text:megasas_reset_device() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x220): Section mismatch in reference from the variable megasas_template to the function .text:megasas_reset_bus_host() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x228): Section mismatch in reference from the variable megasas_template to the function .text:megasas_reset_bus_host() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x230): Section mismatch in reference from the variable megasas_template to the function .text:megasas_slave_alloc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x238): Section mismatch in reference from the variable megasas_template to the function .text:megasas_slave_configure() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x278): Section mismatch in reference from the variable megasas_template to the function .text:megasas_bios_param() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x288): Section mismatch in reference from the variable megasas_template to the function .text:megasas_reset_timer() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x2f0): Section mismatch in reference from the variable megasas_instance_template_ppc to the function .text:megasas_fire_cmd_ppc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x2f8): Section mismatch in reference from the variable megasas_instance_template_ppc to the function .text:megasas_enable_intr_ppc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x300): Section mismatch in reference from the variable megasas_instance_template_ppc to the function .text:megasas_disable_intr_ppc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x308): Section mismatch in reference from the variable megasas_instance_template_ppc to the function .text:megasas_clear_intr_ppc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x310): Section mismatch in reference from the variable megasas_instance_template_ppc to the function .text:megasas_read_fw_status_reg_ppc() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x320): Section mismatch in reference from the variable megasas_instance_template_gen2 to the function .text:megasas_fire_cmd_gen2() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x328): Section mismatch in reference from the variable megasas_instance_template_gen2 to the function .text:megasas_enable_intr_gen2() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x330): Section mismatch in reference from the variable megasas_instance_template_gen2 to the function .text:megasas_disable_intr_gen2() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x338): Section mismatch in reference from the variable megasas_instance_template_gen2 to the function .text:megasas_clear_intr_gen2() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x340): Section mismatch in reference from the variable megasas_instance_template_gen2 to the function .text:megasas_read_fw_status_reg_gen2() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x350): Section mismatch in reference from the variable megasas_instance_template_skinny to the function .text:megasas_fire_cmd_skinny() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x358): Section mismatch in reference from the variable megasas_instance_template_skinny to the function .text:megasas_enable_intr_skinny() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x360): Section mismatch in reference from the variable megasas_instance_template_skinny to the function .text:megasas_disable_intr_skinny() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x368): Section mismatch in reference from the variable megasas_instance_template_skinny to the function .text:megasas_clear_intr_skinny() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x370): Section mismatch in reference from the variable megasas_instance_template_skinny to the function .text:megasas_read_fw_status_reg_skinny() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x380): Section mismatch in reference from the variable megasas_instance_template_xscale to the function .text:megasas_fire_cmd_xscale() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x388): Section mismatch in reference from the variable megasas_instance_template_xscale to the function .text:megasas_enable_intr_xscale() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x390): Section mismatch in reference from the variable megasas_instance_template_xscale to the function .text:megasas_disable_intr_xscale() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x398): Section mismatch in reference from the variable megasas_instance_template_xscale to the function .text:megasas_clear_intr_xscale() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x3a0): Section mismatch in reference from the variable megasas_instance_template_xscale to the function .text:megasas_read_fw_status_reg_xscale() WARNING: /home/pkg/megaraid/megaraid/megaraid_sas.o(.data+0x3c8): Section mismatch in reference from the variable driver_attr_support_poll_for_event to the function .text:megasas_sysfs_show_support_poll_for_event() make[1]: Leaving directory `/usr/src/linux-headers-2.6.31.11-grsec' than I copied megaraid_sas.ko to modules tree and run update-initramfs -uv after reboot : uname -a Linux mydb 2.6.31.11-grsec #1 SMP Fri Jan 8 10:22:54 CET 2010 x86_64 GNU/Linux modinfo megaraid_sas filename: /lib/modules/2.6.31.11-grsec/kernel/misc/megaraid/megaraid_sas.ko description: LSI MegaRAID SAS Driver author: megaraidlinux@lsi.com version: 00.00.04.12-rc1 license: GPL srcversion: 4B304EFDDEF265C4DB3635B alias: pci:v00001028d00000015sv*sd*bc*sc*i* alias: pci:v00001000d00000413sv*sd*bc*sc*i* alias: pci:v00001000d00000071sv*sd*bc*sc*i* alias: pci:v00001000d00000073sv*sd*bc*sc*i* alias: pci:v00001000d00000079sv*sd*bc*sc*i* alias: pci:v00001000d00000078sv*sd*bc*sc*i* alias: pci:v00001000d0000007Csv*sd*bc*sc*i* alias: pci:v00001000d00000060sv*sd*bc*sc*i* alias: pci:v00001000d00000411sv*sd*bc*sc*i* depends: scsi_mod vermagic: 2.6.31.11-grsec SMP mod_unload parm: poll_mode_io:Complete cmds from IO path, (default=0) (int) I still get this messages megasas: Failed to copy out to user sense data the same was for 4.17 version which I got from dell site . dmesg is attached . and what does this message mean ? is it harmless ? Thank you . Regards , Alex This is a "me too" post... I have a problem since the commit (SCSI: megaraid_sas: fix 64 bit sense pointer truncation) with several Dell 2950 Servers. It happens both on the Perc 5/i and the Perc 6/i controllers. All of these machines have 8GB RAM and are running x86_64 kernels (currently 2.6.32.2). I always get messages like this in the Kernel Log (plus on the console, which is VERY annoying: [69274.972038] megasas: Failed to copy out to user sense data [69274.972182] megasas: Failed to copy out to user sense data [71168.206030] megasas: Failed to copy out to user sense data [71168.206175] megasas: Failed to copy out to user sense data It happens about 2-5 times per hour, most of the time several of those errors (2-3) are reported in close timely vicinity, like within a few seconds. Other than this these servers seem to be stable, so i guess it is a spurious message caused by above commit. Replacing megaraid_sas.c with the version from Kernel 2.6.32 cures the problem. I've also tried using version v00.00.04.12-rc1 of megaraid_sas.c (and .h) from Kernel 2.6.33-rc3 and i can confirm that it shows the same problems on my hardware: [70120.567013] megasas: Failed to copy out to user sense data [70120.576426] megasas: Failed to copy out to user sense data [70120.576869] megasas: Failed to copy out to user sense data [70120.587822] megasas: Failed to copy out to user sense data Created attachment 24890 [details]
patch to handle compat apps
The issue is probably caused by a 32bit application in a 64bit os. The 'open manage' here uses a 32bit pointer and the driver after the 'SCSI: megaraid_sas: fix 64 bit sense pointer truncation' works with it as if it was a 64bit pointer.
The attached patch handles the situation on my test box.
(In reply to comment #5) > Created an attachment (id=24890) [details] > patch to handle compat apps > > The issue is probably caused by a 32bit application in a 64bit os. The 'open > manage' here uses a 32bit pointer and the driver after the 'SCSI: > megaraid_sas: > fix 64 bit sense pointer truncation' works with it as if it was a 64bit > pointer. > The attached patch handles the situation on my test box. thank you for the patch , it handles the issue , tested on 2.6.32.7 . (In reply to comment #6) > thank you for the patch , it handles the issue , tested on 2.6.32.7 . That means that you no more see the "megasas: Failed to copy out to user sense data" or have you also verified that the management software works as expected? (In reply to comment #7) > (In reply to comment #6) > > thank you for the patch , it handles the issue , tested on 2.6.32.7 . > > That means that you no more see the > "megasas: Failed to copy out to user sense data" Yes , that means that I don't see this message any more , and what does it mean "Failed to copy out to user sense data" ? > or have you also verified that the management software works as expected? And I still can retrieve information with MegaCli utility , should I check something special ? (In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > thank you for the patch , it handles the issue , tested on 2.6.32.7 . > > > > That means that you no more see the > > "megasas: Failed to copy out to user sense data" > Yes , that means that I don't see this message any more , > and what does it mean "Failed to copy out to user sense data" ? That means that the function copy_to_user in the driver failed and the ioctl returned EFAULT. Usually programs can cope with that, but it could mean that they are not able to collect informations from that device. > > or have you also verified that the management software works as expected? > And I still can retrieve information with MegaCli utility , should I check > something special ? I'm not sure with MegaCli, what I meant here is the Dell management sw 'Open Manage', so if you can check if this sw can collect info from megaraid driver. (In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #7) > > > (In reply to comment #6) > > > > thank you for the patch , it handles the issue , tested on 2.6.32.7 . > > > > > > That means that you no more see the > > > "megasas: Failed to copy out to user sense data" > > Yes , that means that I don't see this message any more , > > and what does it mean "Failed to copy out to user sense data" ? > That means that the function copy_to_user in the driver failed and the ioctl > returned EFAULT. Usually programs can cope with that, but it could mean that > they are not able to collect informations from that device. > > > > or have you also verified that the management software works as expected? > > And I still can retrieve information with MegaCli utility , should I check > > something special ? > I'm not sure with MegaCli, what I meant here is the Dell management sw 'Open > Manage', so if you can check if this sw can collect info from megaraid > driver. I guess it is ok , OMSA is 6.0.1-8 . For example omreport storage vdisk omreport storage pdisk controller=0 works as expected . (In reply to comment #10) > I guess it is ok , > OMSA is 6.0.1-8 . For example > omreport storage vdisk > omreport storage pdisk controller=0 > works as expected . OK, thanks for testing. Applied the patch on all our systems which were exhibiting this bug. The error message in dmesg is gone now. Dell OMSA still works as expected, including omreport and the Dell OpenManage Web Application. Thanks for the fast fix! |