как ломануть 1C 8.3 for Linux
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 10 из 1275

Комбинированный просмотр

  1. #1
    Гость форума

    Регистрация
    19.02.2020
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Привет!
    Не подскажитете как лечится следующая ошибка на 5.х ядрах?
    from /home/yuren/vhci-hcd-1.15/usb-vhci-iocifc.c:36:
    /home/yuren/vhci-hcd-1.15/usb-vhci-iocifc.c: In function ‘ioc_register’:
    ./arch/x86/include/asm/uaccess.h:433:29: error: invalid initializer
    __typeof__(ptr) __pu_ptr = (ptr); \
    ^
    Спасибо!

  2. #2
    Гость форума

    Регистрация
    02.01.2020
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от yterlyga Посмотреть сообщение
    Привет!
    Не подскажитете как лечится следующая ошибка на 5.х ядрах?

    Спасибо!
    В функции 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;
    }

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •