Показано с 1 по 10 из 1278
Комбинированный просмотр
-
23.01.2020, 22:33 #1
- Регистрация
- 19.01.2020
- Сообщений
- 6
- Сказал(а) спасибо
- 1
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: как ломануть 1C 8.3 for Linux
Блин, у меня ошибка на 5.0.0.37 ядре:
Код:./arch/x86/include/asm/uaccess.h:435:29: error: invalid initializer __typeof__(ptr) __pu_ptr = (ptr); \ ^ ./arch/x86/include/asm/uaccess.h:555:2: note: in expansion of macro ‘__put_user_nocheck’ __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr))) ^~~~~~~~~~~~~~~~~~ ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:225:3: note: in expansion of macro ‘__put_user’ __put_user('\0', arg->bus_id); ^~~~~~~~~~ ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c: In function ‘ioc_giveback_common’: ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:604:103: error: macro "access_ok" passed 3 arguments, but takes just 2 if(!access_ok(VERIFY_READ, (void *)iso, iso_count * sizeof(struct usb_vhci_ioc_iso_packet_giveback))) ^ ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:604:8: error: ‘access_ok’ undeclared (first use in this function) if(!access_ok(VERIFY_READ, (void *)iso, iso_count * sizeof(struct usb_vhci_ioc_iso_packet_giveback))) ^~~~~~~~~ ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:604:8: note: each undeclared identifier is reported only once for each function it appears in ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c: In function ‘device_do_ioctl’: ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:942:90: error: macro "access_ok" passed 3 arguments, but takes just 2 if(unlikely((_IOC_DIR(cmd) & _IOC_READ) && !access_ok(VERIFY_WRITE, arg, _IOC_SIZE(cmd)))) ^ In file included from ./include/linux/export.h:45:0, from ./include/linux/linkage.h:7, from ./include/linux/kernel.h:7, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:25: ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:942:46: error: ‘access_ok’ undeclared (first use in this function) if(unlikely((_IOC_DIR(cmd) & _IOC_READ) && !access_ok(VERIFY_WRITE, arg, _IOC_SIZE(cmd)))) ^ ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’ # define unlikely(x) __builtin_expect(!!(x), 0) ^ ../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.c:944:90: error: macro "access_ok" passed 3 arguments, but takes just 2 if(unlikely((_IOC_DIR(cmd) & _IOC_WRITE) && !access_ok(VERIFY_READ, arg, _IOC_SIZE(cmd)))) ^ scripts/Makefile.build:291: recipe for target '../dev/usb/vhci/vhci-hcd-1.15/usb-vhci-iocifc.o' failed
Но решения не было.
-
24.01.2020, 15:23 #2
- Регистрация
- 06.06.2019
- Сообщений
- 7
- Сказал(а) спасибо
- 7
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: как ломануть 1C 8.3 for Linux
Было решение. Нужно в Makefile править функцию access_ok, убрать первый параметр.
Камрад tulpanov даже собрал deb пакет с исправлениями под 5+ ядро.
-
24.01.2020, 15:35 #3
- Регистрация
- 08.10.2019
- Сообщений
- 18
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
-
24.01.2020, 16:15 #4
- Регистрация
- 06.06.2019
- Сообщений
- 7
- Сказал(а) спасибо
- 7
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: как ломануть 1C 8.3 for Linux
Заработался уже... Не в Makefile, а в usb-vhci-iocifc.c
Нужно вот эту часть кода
Код:if(!access_ok(VERIFY_READ, (void *)iso, iso_count * sizeof(struct usb_vhci_ioc_iso_packet_giveback))) { retval = -EFAULT; goto done_with_errors; }
Код:if(!access_ok((void *)iso, iso_count * sizeof(struct usb_vhci_ioc_iso_packet_giveback))) { retval = -EFAULT; goto done_with_errors; }
Код:if(unlikely((_IOC_DIR(cmd) & _IOC_READ) && !access_ok(VERIFY_WRITE, arg, _IOC_SIZE(cmd)))) return -EFAULT; if(unlikely((_IOC_DIR(cmd) & _IOC_WRITE) && !access_ok(VERIFY_READ, arg, _IOC_SIZE(cmd)))) return -EFAULT;
Код:if(unlikely((_IOC_DIR(cmd) & _IOC_READ) && !access_ok(arg, _IOC_SIZE(cmd)))) return -EFAULT; if(unlikely((_IOC_DIR(cmd) & _IOC_WRITE) && !access_ok(arg, _IOC_SIZE(cmd)))) return -EFAULT;
-
Пользователь сказал cпасибо:
Katherina (18.07.2020)
Социальные закладки