Messages in this thread | | | From | (Steve Ralston) | Subject | bug in register_ioctl32_conversion? | Date | Mon, 31 Jul 100 03:13:21 -0500 (CDT) |
| |
Me thinks there's a bug in arch/sparc64/kernel/ioctl32.c, in the register_ioctl32_conversion() routine:
int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, unsigned int, unsigned long, struct file *)) { int i; if (!additional_ioctls) { additional_ioctls = module_map(PAGE_SIZE); if (!additional_ioctls) return -ENOMEM; // <-- Need to memzero, or zero all additional_ioctls[].cmd fields here! } for (i = 0; i < PAGE_SIZE/sizeof(struct ioctl_trans); i++) if (!additional_ioctls[i].cmd) break; if (i == PAGE_SIZE/sizeof(struct ioctl_trans)) return -ENOMEM; additional_ioctls[i].cmd = cmd; if (!handler) additional_ioctls[i].handler = (u32)(long)sys_ioctl; else additional_ioctls[i].handler = (u32)(long)handler; ioctl32_insert_translation(&additional_ioctls[i]); return 0; }
This has been [randomly] tripping up loading of one of our driver modules for quite some time now.:-(
Thanks, -SteveR
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |