FS#57784 - [ndiswrapper-dkms] 1.61-3 does not build for linux 4.15

Attached to Project: Community Packages
Opened by Arthur (drj30026abanba) - Saturday, 10 March 2018, 20:02 GMT
Last edited by Doug Newgard (Scimmia) - Saturday, 16 June 2018, 05:48 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: ndiswrapper requires patching for linux 4.15 compatibility

Additional info: There is a debian patch for this located here

https://sources.debian.org/patches/ndiswrapper/1.60-6/0008-Build-fixes-for-Linux-4.15.patch/

Here is the contents of the /var/lib/ndiswrapper/1.61/build/make.log file

DKMS make.log for ndiswrapper-1.61 for kernel 4.15.7-1-ARCH (x86_64)
Sat Mar 10 11:53:37 PST 2018
make -C /usr/lib/modules/4.15.7-1-ARCH/build M=/var/lib/dkms/ndiswrapper/1.61/build
make[1]: Entering directory '/usr/lib/modules/4.15.7-1-ARCH/build'
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/crt_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/hal_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ndis_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel_io_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/rtl_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/usb_exports.h
MKSTUBS /var/lib/dkms/ndiswrapper/1.61/build/win2lin_stubs.h
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/loader.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/pe_linker.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/pnp.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/proc.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/rtl.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/wrapmem.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/wrapndis.o
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘add_iw_stats_timer’:
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1110:21: error: ‘struct timer_list’ has no member named ‘data’
wnd->iw_stats_timer.data = (unsigned long)wnd;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1111:31: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
wnd->iw_stats_timer.function = iw_stats_timer_proc;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘hangcheck_add’:
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1146:22: error: ‘struct timer_list’ has no member named ‘data’
wnd->hangcheck_timer.data = (unsigned long)wnd;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1147:32: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
wnd->hangcheck_timer.function = hangcheck_proc;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘ndis_add_device’:
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:2137:2: error: implicit declar...skipping...
libx264: H264 encoding [installed]
lirc: lirc control
live-media: RTSP input
lua-socket: http interface
DKMS make.log for ndiswrapper-1.61 for kernel 4.15.7-1-ARCH (x86_64)
Sat Mar 10 11:53:37 PST 2018
make -C /usr/lib/modules/4.15.7-1-ARCH/build M=/var/lib/dkms/ndiswrapper/1.61/build
make[1]: Entering directory '/usr/lib/modules/4.15.7-1-ARCH/build'
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/crt_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/hal_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ndis_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel_io_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/rtl_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/usb_exports.h
MKSTUBS /var/lib/dkms/ndiswrapper/1.61/build/win2lin_stubs.h
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/loader.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/pe_linker.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/pnp.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/proc.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/rtl.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/wrapmem.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/wrapndis.o
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘add_iw_stats_timer’:
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1110:21: error: ‘struct timer_list’ has no member named ‘data’
wnd->iw_stats_timer.data = (unsigned long)wnd;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1111:31: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
wnd->iw_stats_timer.function = iw_stats_timer_proc;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘hangcheck_add’:
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1146:22: error: ‘struct timer_list’ has no member named ‘data’
wnd->hangcheck_timer.data = (unsigned long)wnd;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c:1147:32: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
wnd->hangcheck_timer.function = hangcheck_proc;
^
/var/lib/dkms/ndiswrapper/1.61/build/wrapndis.c: In function ‘ndis_add_device’:
/var/lib/dkms/ndiswrapper/1.61/build/make.log


Steps to reproduce: sudo pacman -Syu ndiswrapper
This task depends upon

Closed by  Doug Newgard (Scimmia)
Saturday, 16 June 2018, 05:48 GMT
Reason for closing:  Fixed
Additional comments about closing:  ndiswrapper-dkms 1.61-4
Comment by loqs (loqs) - Thursday, 15 March 2018, 21:27 GMT
Just to note although the debian patch allows it to build successfully on 4.15+ it does not address
lin2win.S line 117 call *%rdi which is an indirect call which is not mitigated by repoline as it is in assembly.
Will be detected by 4.16 as
./tools/objtool/objtool orc generate --module --no-fp --retpoline "/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o";
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win0()+0x8: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win1()+0xb: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win2()+0xb: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win3()+0xe: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win4()+0x11: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win5()+0x16: indirect call found in RETPOLINE build
/tmp/community/trunk/src/ndiswrapper-1.61/ndiswrapper/driver/lin2win.o: warning: objtool: lin2win6()+0x20: indirect call found in RETPOLINE build
it is detected seven times as the macro is expanded to seven functions
lin2win lin2win0, 0
lin2win lin2win1, 1
lin2win lin2win2, 2
lin2win lin2win3, 3
lin2win lin2win4, 4
lin2win lin2win5, 5
lin2win lin2win6, 6
Comment by Felix Yan (felixonmars) - Friday, 16 March 2018, 09:50 GMT
The patch has been applied in 1.61-4.

Loading...