Показано с 501 по 510 из 1275
Древовидный режим
-
22.02.2020, 11:29 #10
- Регистрация
- 02.01.2020
- Сообщений
- 4
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: как ломануть 1C 8.3 for Linux
В функции static int ioc_register
везде где
__put_user(
меняете на
put_user(
по сути убираете два ведущих подчеркивания
вот полный текст исправленной функции
Код:static int ioc_register(struct file *file, struct usb_vhci_ioc_register __user *arg) { const char *dname; int retval, i, usbbusnum; struct usb_vhci_device *vdev; u8 pc; vhci_dbg("cmd=USB_VHCI_HCD_IOCREGISTER\n"); if(unlikely(file->private_data)) { vhci_printk(KERN_ERR, "file->private_data != NULL (USB_VHCI_HCD_IOCREGISTER already done?)\n"); return -EPROTO; } __get_user(pc, &arg->port_count); retval = usb_vhci_hcd_register(&vhci_ioc_ifc, file, pc, &vdev); if(unlikely(retval < 0)) return retval; file->private_data = vdev; // copy id to user space put_user(usb_vhci_dev_id(vdev), &arg->id); // copy bus-id to user space dname = usb_vhci_dev_name(vdev); i = strlen(dname); i = (i < sizeof(arg->bus_id)) ? i : sizeof(arg->bus_id) - 1; if(copy_to_user(arg->bus_id, dname, i)) { vhci_printk(KERN_WARNING, "Failed to copy bus_id to userspace.\n"); put_user('\0', arg->bus_id); } // make sure the last character is null put_user('\0', arg->bus_id + i); usbbusnum = usb_vhci_dev_busnum(vdev); vhci_printk(KERN_INFO, "Usb bus #%d\n", usbbusnum); put_user(usbbusnum, &arg->usb_busnum); return 0; }
Социальные закладки