megaraid megaraid2-2.10.7 causing kernel panic

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

 



Greetings,
  I'm really sorry to bother you ,and I hope this is a correct list to post these kind of messages. I did post a similar message a day ago. We are currently experiencing problem with a new version of megaraid driver (megaraid2-2.10.7). All our severs in the past were running RH 7.3 and now we started migration process AS 2.1 specifically to update 2.4.9-e.49smp and dkms megaraid version 2.10.7. After upgrade, all our systems were stable until we started to run our hardware monitoring software. What it does, it polls the status of all physical and logical driver through ioctl call. Please see sample code below that would cause a kernel panic.  The code was working just fine until version 1.8f version of megaraid drivers, with introduction of new driver it started to fail and cause kernel panics, which kind of inconstant, sometimes it kills kernel swapper sometimes wait queues.  It seems like ioctl "M_RD_IOCTL_CMD " is totally broken, we can retrieve correct number of adapters by issuing ioctl suboption MEGAIOC_QNADAP.

Did any one ever seen this before, can you please advice ?

Thank you !

Code that will panic the kernel, run it few times:

#include "megaraid.h"

int main()
{
        int         fd;
       struct uioctl_t uioctl;

       if ( (fd = open("/dev/megadev0", O_RDWR)) < 0 && (fd = open("/dev/megadev", O_RDWR)) < 0)
                return -1;

        uioctl.inlen =  1024;
        uioctl.outlen = 1024;

        if(!(uioctl.data = malloc(1024))){
                return 0;
        }
        memset(uioctl.data, 0, 1024);

        uioctl.ui.fcs.opcode     = M_RD_IOCTL_CMD;
        uioctl.ui.fcs.subopcode  = 0;
        uioctl.ui.fcs.adapno     = MKADAP(0);

        uioctl.mbox[0]           = FC_NEW_CONFIG;
        uioctl.mbox[2]           = NC_SUBOP_ENQUIRY3;
        uioctl.mbox[3]           = ENQ3_GET_SOLICITED_FULL;

        if(ioctl(fd, MEGAIOCCMD, &uioctl) == -1){
                fprintf(stderr,"Error %d \n\n", uioctl.ui.fcs.adapno);
                fflush(stderr);
                free(uioctl.data);
                close(fd);
                return 0;
        }

     close(fd);
 return 0;
}


Panic:
1) 
ug 31 20:54:03 Analyzer kernel: EIP is at iput_free [kernel] 0x1e
Aug 31 20:54:03 Analyzer kernel: eax: 2e0001e3   ebx: f6880e40   ecx: f6880e50   edx: f6880e50
Aug 31 20:54:03 Analyzer kernel: esi: f6880e40   edi: 00000000   ebp: 0008e000   esp: f7383f60
Aug 31 20:54:03 Analyzer kernel: ds: 0018   es: 0018   ss: 0018
Aug 31 20:54:03 Analyzer kernel: Process kswapd (pid: 10, stackpage=f7383000)
Aug 31 20:54:03 Analyzer kernel: Stack: f587cb40 f5753b60 c015a45c f587cb40 f393c3e0 f6880e40 00000006 c015a41b
Aug 31 20:54:03 Analyzer kernel:        f6880e40 f393c3f8 f393c3e0 c015a806 f393c3e0 c02fa190 00000286 00000286
Aug 31 20:54:03 Analyzer kernel:        00000000 f7382000 00000000 00000000 00000000 00000000 00000000 00000000
Aug 31 20:54:03 Analyzer kernel: Call Trace: [dput+28/304] dput [kernel] 0x1c (0xf7383f68)
Aug 31 20:54:03 Analyzer kernel: Call Trace: [<c015a45c>] dput [kernel] 0x1c (0xf7383f68)
Aug 31 20:54:03 Analyzer kernel: [dentry_iput+75/112] dentry_iput [kernel] 0x4b (0xf7383f7c)
Aug 31 20:54:03 Analyzer kernel: [<c015a41b>] dentry_iput [kernel] 0x4b (0xf7383f7c)
Aug 31 20:54:03 Analyzer kernel: [prune_dcache+182/336] prune_dcache [kernel] 0xb6 (0xf7383f8c)
 
2)p  1 18:41:36 Analyzer kernel: Oops: 0000
Sep  1 18:41:36 Analyzer kernel: Kernel 2.4.9-e.49smp
Sep  1 18:41:36 Analyzer kernel: CPU:    1
Sep  1 18:41:36 Analyzer kernel: EIP:    0010:[__wake_up+51/144]    Tainted: P
Sep  1 18:41:36 Analyzer kernel: EIP:    0010:[<c01198a3>]    Tainted: P
Sep  1 18:41:36 Analyzer kernel: EFLAGS: 00010046
Sep  1 18:41:36 Analyzer kernel: EIP is at __wake_up [kernel] 0x33
Sep  1 18:41:36 Analyzer kernel: eax: f688800c   ebx: f6888014   ecx: 00000001   edx: 00000000
Sep  1 18:41:36 Analyzer kernel: esi: 00000001   edi: f4c8a880   ebp: f4f25a94   esp: f4f25a7c
Sep  1 18:41:36 Analyzer kernel: ds: 0018   es: 0018   ss: 0018
Sep  1 18:41:36 Analyzer kernel: Process snmpd (pid: 626, stackpage=f4f25000)
Sep  1 18:41:36 Analyzer kernel: Stack: 00000000 00000282 00000001 f4c8a880 f4c7f040 00000000 f4ec28c0 c01daad9
Sep  1 18:41:36 Analyzer kernel:        00000002 00000026 f4c7f178 00001060 00007fff f4c7f178 c01ff422 f4c7f040
Sep  1 18:41:36 Analyzer kernel:        00000000 c01fe2f4 f4c7f040 f4c7f178 ffffffff f4a8f0c0 3a6ade00 00000000
Sep  1 18:41:36 Analyzer kernel: Call Trace: [sock_def_readable+57/112] sock_def_readable [kernel] 0x39 (0xf4f25a98)
Sep  1 18:41:36 Analyzer kernel: Call Trace: [<c01daad9>] sock_def_readable [kernel] 0x39 (0xf4f25a98)
Sep  1 18:41:36 Analyzer kernel: [tcp_data_queue+898/2688] tcp_data_queue [kernel] 0x382 (0xf4f25ab4)
Sep  1 18:41:36 Analyzer kernel: [<c01ff422>] tcp_data_queue [kernel] 0x382 (0xf4f25ab4)
Sep  1 18:41:36 Analyzer kernel: [tcp_ack+180/784] tcp_ack [kernel] 0xb4 (0xf4f25ac0)
Sep  1 18:41:36 Analyzer kernel: [<c01fe2f4>] tcp_ack [kernel] 0xb4 (0xf4f25ac0)
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux