Re: RH 2.6 64-bit experience needed (lis_ioctl32_str corruption)
[email protected] Fri, 10 Mar 2006 17:12:25 -0500
| Newsgroups | gmane.linux.kernel.streams |
|---|---|
| Message-ID | <[email protected]> |
Hi, I'm debugging 32-bit ioctls over 64-bit LiS/kernel. It works most of the time, but then it crashes due to memory corruption in the lis_ioctl32_str() function. The allocated memory, saved in datap pointer: datap = ALLOCF(par64.ic_len+32,"ioctl32 "); may get corrupted after sys_ioctl() call. To catch corruption, I have added check guard calls before and after sys_ioctl() calls: lis_check_guard(datap, "---- before sys_ioctl\n"); rc = sys_ioctl(fd,cmd,(unsigned long)&par64); lis_check_guard(datap, "---- after sys_ioctl\n"); The '---after sys_ioctl' check guard call indicates memory corruption. I looked through sources but cannot find the bug. Seems like memory pointed by datap will be memcpy'ied into streams message in lis_strioctl/lis_strdoioctl later on and should be unaffected by further processing in underlying drivers. Or do I miss something here? -- Eugene ___________________________________________________ Try the New Netscape Mail Today! Virtually Spam-Free | More Storage | Import Your Contact List http://mail.netscape.com