[GH-ISSUE #86] Cannot modprobe module or insmod amneziawg.ko, Exec format error #51

Closed
opened 2026-10-13 21:05:50 +00:00 by bsakaguchi · 5 comments
Owner

Originally created by @agevlakh on GitHub (Aug 18, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/86

Hello!
I have successfully built a kernel module using your instructions on Alpine Linux 3.22.1. I downloaded the kernel sources from aports and applied patches corresponding to the kernel version. It was also possible to download from kernel.org, there is no difference. When I try to apply the module, I get an error:

modprobe amneziawg
modprobe: ERROR: could not insert 'amneziawg': Exec format error

or this error:

insmod amneziawg.ko 
insmod: ERROR: could not insert module amneziawg.ko: Invalid module format

Some information:

uname -a
Linux alpine-build-virt 6.12.41-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2025-08-07 06:56:43 x86_64 Linux
modinfo amneziawg.ko 
filename:       /usr/src/amneziawg-1.0.0/amneziawg.ko
alias:          net-pf-16-proto-16-family-amneziawg
alias:          rtnl-link-amneziawg
version:        1.0.0
author:         Jason A. Donenfeld <Jason@zx2c4.com>
description:    AmneziaWG secure network tunnel
license:        GPL v2
srcversion:     7EA9EBB85A6CCFADA2DFB8F
depends:        libchacha20poly1305,udp_tunnel,ip6_udp_tunnel,curve25519-x86_64,libcurve25519-generic
name:           amneziawg
retpoline:      Y
vermagic:       6.12.41-0-virt SMP preempt mod_unload modversions 
parm:           bogus_endpoints:int
parm:           bogus_endpoints_prefix:charp
parm:           bogus_endpoints_prefix6:charp

Please help me with this error. Thanks

Originally created by @agevlakh on GitHub (Aug 18, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/86 Hello! I have successfully built a kernel module using your instructions on Alpine Linux 3.22.1. I downloaded the kernel sources from aports and applied patches corresponding to the kernel version. It was also possible to download from kernel.org, there is no difference. When I try to apply the module, I get an error: ``` modprobe amneziawg modprobe: ERROR: could not insert 'amneziawg': Exec format error ``` or this error: ``` insmod amneziawg.ko insmod: ERROR: could not insert module amneziawg.ko: Invalid module format ``` Some information: ``` uname -a Linux alpine-build-virt 6.12.41-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2025-08-07 06:56:43 x86_64 Linux ``` ``` modinfo amneziawg.ko filename: /usr/src/amneziawg-1.0.0/amneziawg.ko alias: net-pf-16-proto-16-family-amneziawg alias: rtnl-link-amneziawg version: 1.0.0 author: Jason A. Donenfeld <Jason@zx2c4.com> description: AmneziaWG secure network tunnel license: GPL v2 srcversion: 7EA9EBB85A6CCFADA2DFB8F depends: libchacha20poly1305,udp_tunnel,ip6_udp_tunnel,curve25519-x86_64,libcurve25519-generic name: amneziawg retpoline: Y vermagic: 6.12.41-0-virt SMP preempt mod_unload modversions parm: bogus_endpoints:int parm: bogus_endpoints_prefix:charp parm: bogus_endpoints_prefix6:charp ``` Please help me with this error. Thanks
Author
Owner

@agevlakh commented on GitHub (Aug 18, 2025):

Build log:

alpine-build-virt:~/amneziawg-linux-kernel-module/src# make -j8
CWD=$(pwd); \
cd /root/amneziawg-linux-kernel-module/src/generated; \
for patch in /root/amneziawg-linux-kernel-module/src/patches/000-initial-amneziawg.patch /root/amneziawg-linux-kernel-module/src/patches/001-legacy-clients-support.patch /root/amneziawg-linux-kernel-module/src/patches/002-unknown-peers-notifications.patch /root/amneziawg-linux-kernel-module/src/patches/003-fix-for-non-linear-skb.patch /root/amneziawg-linux-kernel-module/src/patches/005-bogus-endpoints-parameter.patch /root/amneziawg-linux-kernel-module/src/patches/006-bogus-endpoints-prefixes.patch /root/amneziawg-linux-kernel-module/src/patches/007-random-bytes-fix.patch; do \
	patch -F3 -t -p0 -i $patch; \
done; \
cd $CWD; \
date > /root/amneziawg-linux-kernel-module/src/generated/.patches.stamp
patching file cookie.c
patching file cookie.h
patching file device.c
Hunk #1 succeeded at 376 (offset -1 lines).
Hunk #2 succeeded at 476 with fuzz 1 (offset -2 lines).
patching file device.h
patching file main.c
Hunk #1 succeeded at 9 with fuzz 3.
Hunk #2 succeeded at 43 (offset -7 lines).
Hunk #3 succeeded at 69 (offset -7 lines).
patching file messages.h
patching file netlink.c
Hunk #4 succeeded at 518 (offset -1 lines).
Hunk #5 succeeded at 563 (offset -1 lines).
Hunk #6 succeeded at 665 (offset 3 lines).
patching file noise.c
Hunk #1 succeeded at 515 (offset 31 lines).
Hunk #2 succeeded at 532 (offset 31 lines).
Hunk #3 succeeded at 665 (offset 31 lines).
Hunk #4 succeeded at 681 (offset 31 lines).
patching file noise.h
patching file receive.c
Hunk #1 succeeded at 25 (offset -8 lines).
Hunk #2 succeeded at 105 (offset -8 lines).
Hunk #3 succeeded at 128 (offset -8 lines).
Hunk #4 succeeded at 158 (offset -8 lines).
Hunk #5 succeeded at 178 (offset -8 lines).
Hunk #6 succeeded at 210 (offset -8 lines).
Hunk #7 succeeded at 566 (offset -16 lines).
Hunk #8 succeeded at 582 (offset -16 lines).
patching file send.c
Hunk #1 succeeded at 14 (offset -1 lines).
Hunk #2 succeeded at 42 (offset -1 lines).
Hunk #3 succeeded at 122 (offset -1 lines).
Hunk #4 succeeded at 138 (offset -1 lines).
Hunk #5 succeeded at 161 (offset -1 lines).
Hunk #6 succeeded at 204 (offset -1 lines).
Hunk #7 succeeded at 248 (offset -1 lines).
Hunk #8 succeeded at 335 with fuzz 3 (offset -1 lines).
Hunk #9 succeeded at 340 with fuzz 3 (offset -4 lines).
patching file socket.c
patching file socket.h
patching file uapi/wireguard.h
patching file device.c
Hunk #1 succeeded at 483 (offset -2 lines).
Hunk #2 succeeded at 587 (offset -2 lines).
patching file device.h
patching file messages.h
patching file netlink.c
Hunk #3 succeeded at 515 (offset -1 lines).
Hunk #4 succeeded at 580 (offset -1 lines).
Hunk #5 succeeded at 667 (offset 3 lines).
Hunk #6 succeeded at 685 (offset 3 lines).
patching file noise.c
Hunk #1 succeeded at 582 (offset 31 lines).
Hunk #2 succeeded at 659 (offset 31 lines).
patching file noise.h
patching file peer.c
patching file peer.h
patching file receive.c
Hunk #1 succeeded at 23 with fuzz 1 (offset -8 lines).
Hunk #2 succeeded at 51 (offset -8 lines).
Hunk #3 succeeded at 130 (offset -14 lines).
Hunk #4 succeeded at 161 (offset -14 lines).
Hunk #5 succeeded at 171 (offset -14 lines).
Hunk #6 succeeded at 183 (offset -14 lines).
Hunk #7 succeeded at 574 (offset -22 lines).
Hunk #8 succeeded at 600 (offset -22 lines).
patching file send.c
Hunk #1 succeeded at 42 (offset -1 lines).
Hunk #2 succeeded at 60 with fuzz 3 (offset -9 lines).
Hunk #3 succeeded at 132 (offset -12 lines).
Hunk #4 succeeded at 144 (offset -12 lines).
Hunk #5 succeeded at 166 (offset -12 lines).
Hunk #6 succeeded at 356 with fuzz 2 (offset -16 lines).
patching file uapi/wireguard.h
patching file netlink.c
Hunk #2 succeeded at 709 with fuzz 3 (offset -10 lines).
Hunk #3 succeeded at 729 with fuzz 3 (offset -16 lines).
Hunk #4 succeeded at 743 (offset -16 lines).
patching file netlink.h
patching file noise.c
Hunk #2 succeeded at 584 (offset 31 lines).
Hunk #3 succeeded at 597 (offset 31 lines).
Hunk #4 succeeded at 620 (offset 31 lines).
Hunk #5 succeeded at 672 (offset 31 lines).
patching file noise.h
patching file receive.c
Hunk #1 succeeded at 171 (offset -14 lines).
patching file uapi/wireguard.h
patching file receive.c
Hunk #1 succeeded at 46 (offset -8 lines).
Hunk #2 succeeded at 63 with fuzz 3 (offset -8 lines).
patching file send.c
Hunk #1 succeeded at 19 (offset -1 lines).
Hunk #2 succeeded at 59 (offset -9 lines).
patching file main.c
Hunk #1 succeeded at 66 (offset -9 lines).
patching file netlink.c
Hunk #1 succeeded at 14 with fuzz 3.
patching file netlink.h
patching file main.c
Hunk #1 succeeded at 67 (offset -9 lines).
patching file netlink.c
Hunk #1 succeeded at 15 with fuzz 2.
patching file netlink.h
patching file netlink.c
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/main.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/noise.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/device.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/peer.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/timers.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/queueing.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/send.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/receive.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/socket.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/peerlookup.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/allowedips.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/ratelimiter.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/cookie.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/netlink.o
  LD [M]  /root/amneziawg-linux-kernel-module/src/generated/amneziawg.o
  MODPOST /root/amneziawg-linux-kernel-module/src/generated/Module.symvers
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/amneziawg.mod.o
  CC [M]  /root/amneziawg-linux-kernel-module/src/generated/.module-common.o
  LD [M]  /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko
  BTF [M] /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko
Skipping BTF generation for /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko due to unavailability of vmlinux
[ "/root/amneziawg-linux-kernel-module/src/generated" != "/root/amneziawg-linux-kernel-module/src" ] && cp /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko /root/amneziawg-linux-kernel-module/src/amneziawg.ko || true

Install log:

alpine-build-virt:~/amneziawg-linux-kernel-module/src# make install
  INSTALL /lib/modules/6.12.41-0-virt/updates/amneziawg.ko
  SIGN    /lib/modules/6.12.41-0-virt/updates/amneziawg.ko
At main.c:171:
- SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67
- SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75
sign-file: .//home/buildozer/.abuild/kernel_signing_key.pem
  GZIP    /lib/modules/6.12.41-0-virt/updates/amneziawg.ko.gz
  DEPMOD  /lib/modules/6.12.41-0-virt
Warning: modules_install: missing 'System.map' file. Skipping depmod.
depmod -b "/" -a 6.12.41-0-virt
<!-- gh-comment-id:3195527375 --> @agevlakh commented on GitHub (Aug 18, 2025): Build log: ``` alpine-build-virt:~/amneziawg-linux-kernel-module/src# make -j8 CWD=$(pwd); \ cd /root/amneziawg-linux-kernel-module/src/generated; \ for patch in /root/amneziawg-linux-kernel-module/src/patches/000-initial-amneziawg.patch /root/amneziawg-linux-kernel-module/src/patches/001-legacy-clients-support.patch /root/amneziawg-linux-kernel-module/src/patches/002-unknown-peers-notifications.patch /root/amneziawg-linux-kernel-module/src/patches/003-fix-for-non-linear-skb.patch /root/amneziawg-linux-kernel-module/src/patches/005-bogus-endpoints-parameter.patch /root/amneziawg-linux-kernel-module/src/patches/006-bogus-endpoints-prefixes.patch /root/amneziawg-linux-kernel-module/src/patches/007-random-bytes-fix.patch; do \ patch -F3 -t -p0 -i $patch; \ done; \ cd $CWD; \ date > /root/amneziawg-linux-kernel-module/src/generated/.patches.stamp patching file cookie.c patching file cookie.h patching file device.c Hunk #1 succeeded at 376 (offset -1 lines). Hunk #2 succeeded at 476 with fuzz 1 (offset -2 lines). patching file device.h patching file main.c Hunk #1 succeeded at 9 with fuzz 3. Hunk #2 succeeded at 43 (offset -7 lines). Hunk #3 succeeded at 69 (offset -7 lines). patching file messages.h patching file netlink.c Hunk #4 succeeded at 518 (offset -1 lines). Hunk #5 succeeded at 563 (offset -1 lines). Hunk #6 succeeded at 665 (offset 3 lines). patching file noise.c Hunk #1 succeeded at 515 (offset 31 lines). Hunk #2 succeeded at 532 (offset 31 lines). Hunk #3 succeeded at 665 (offset 31 lines). Hunk #4 succeeded at 681 (offset 31 lines). patching file noise.h patching file receive.c Hunk #1 succeeded at 25 (offset -8 lines). Hunk #2 succeeded at 105 (offset -8 lines). Hunk #3 succeeded at 128 (offset -8 lines). Hunk #4 succeeded at 158 (offset -8 lines). Hunk #5 succeeded at 178 (offset -8 lines). Hunk #6 succeeded at 210 (offset -8 lines). Hunk #7 succeeded at 566 (offset -16 lines). Hunk #8 succeeded at 582 (offset -16 lines). patching file send.c Hunk #1 succeeded at 14 (offset -1 lines). Hunk #2 succeeded at 42 (offset -1 lines). Hunk #3 succeeded at 122 (offset -1 lines). Hunk #4 succeeded at 138 (offset -1 lines). Hunk #5 succeeded at 161 (offset -1 lines). Hunk #6 succeeded at 204 (offset -1 lines). Hunk #7 succeeded at 248 (offset -1 lines). Hunk #8 succeeded at 335 with fuzz 3 (offset -1 lines). Hunk #9 succeeded at 340 with fuzz 3 (offset -4 lines). patching file socket.c patching file socket.h patching file uapi/wireguard.h patching file device.c Hunk #1 succeeded at 483 (offset -2 lines). Hunk #2 succeeded at 587 (offset -2 lines). patching file device.h patching file messages.h patching file netlink.c Hunk #3 succeeded at 515 (offset -1 lines). Hunk #4 succeeded at 580 (offset -1 lines). Hunk #5 succeeded at 667 (offset 3 lines). Hunk #6 succeeded at 685 (offset 3 lines). patching file noise.c Hunk #1 succeeded at 582 (offset 31 lines). Hunk #2 succeeded at 659 (offset 31 lines). patching file noise.h patching file peer.c patching file peer.h patching file receive.c Hunk #1 succeeded at 23 with fuzz 1 (offset -8 lines). Hunk #2 succeeded at 51 (offset -8 lines). Hunk #3 succeeded at 130 (offset -14 lines). Hunk #4 succeeded at 161 (offset -14 lines). Hunk #5 succeeded at 171 (offset -14 lines). Hunk #6 succeeded at 183 (offset -14 lines). Hunk #7 succeeded at 574 (offset -22 lines). Hunk #8 succeeded at 600 (offset -22 lines). patching file send.c Hunk #1 succeeded at 42 (offset -1 lines). Hunk #2 succeeded at 60 with fuzz 3 (offset -9 lines). Hunk #3 succeeded at 132 (offset -12 lines). Hunk #4 succeeded at 144 (offset -12 lines). Hunk #5 succeeded at 166 (offset -12 lines). Hunk #6 succeeded at 356 with fuzz 2 (offset -16 lines). patching file uapi/wireguard.h patching file netlink.c Hunk #2 succeeded at 709 with fuzz 3 (offset -10 lines). Hunk #3 succeeded at 729 with fuzz 3 (offset -16 lines). Hunk #4 succeeded at 743 (offset -16 lines). patching file netlink.h patching file noise.c Hunk #2 succeeded at 584 (offset 31 lines). Hunk #3 succeeded at 597 (offset 31 lines). Hunk #4 succeeded at 620 (offset 31 lines). Hunk #5 succeeded at 672 (offset 31 lines). patching file noise.h patching file receive.c Hunk #1 succeeded at 171 (offset -14 lines). patching file uapi/wireguard.h patching file receive.c Hunk #1 succeeded at 46 (offset -8 lines). Hunk #2 succeeded at 63 with fuzz 3 (offset -8 lines). patching file send.c Hunk #1 succeeded at 19 (offset -1 lines). Hunk #2 succeeded at 59 (offset -9 lines). patching file main.c Hunk #1 succeeded at 66 (offset -9 lines). patching file netlink.c Hunk #1 succeeded at 14 with fuzz 3. patching file netlink.h patching file main.c Hunk #1 succeeded at 67 (offset -9 lines). patching file netlink.c Hunk #1 succeeded at 15 with fuzz 2. patching file netlink.h patching file netlink.c CC [M] /root/amneziawg-linux-kernel-module/src/generated/main.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/noise.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/device.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/peer.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/timers.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/queueing.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/send.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/receive.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/socket.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/peerlookup.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/allowedips.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/ratelimiter.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/cookie.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/netlink.o LD [M] /root/amneziawg-linux-kernel-module/src/generated/amneziawg.o MODPOST /root/amneziawg-linux-kernel-module/src/generated/Module.symvers CC [M] /root/amneziawg-linux-kernel-module/src/generated/amneziawg.mod.o CC [M] /root/amneziawg-linux-kernel-module/src/generated/.module-common.o LD [M] /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko BTF [M] /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko Skipping BTF generation for /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko due to unavailability of vmlinux [ "/root/amneziawg-linux-kernel-module/src/generated" != "/root/amneziawg-linux-kernel-module/src" ] && cp /root/amneziawg-linux-kernel-module/src/generated/amneziawg.ko /root/amneziawg-linux-kernel-module/src/amneziawg.ko || true ``` Install log: ``` alpine-build-virt:~/amneziawg-linux-kernel-module/src# make install INSTALL /lib/modules/6.12.41-0-virt/updates/amneziawg.ko SIGN /lib/modules/6.12.41-0-virt/updates/amneziawg.ko At main.c:171: - SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67 - SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75 sign-file: .//home/buildozer/.abuild/kernel_signing_key.pem GZIP /lib/modules/6.12.41-0-virt/updates/amneziawg.ko.gz DEPMOD /lib/modules/6.12.41-0-virt Warning: modules_install: missing 'System.map' file. Skipping depmod. depmod -b "/" -a 6.12.41-0-virt ```
Author
Owner

@donaldzou commented on GitHub (Sep 11, 2025):

@agevlakh Hi! Do you mind telling me what steps did you followed to make on Apline Linux? I'm currently stucked on compiling the source, it just show Segmentation Fault

<!-- gh-comment-id:3277404069 --> @donaldzou commented on GitHub (Sep 11, 2025): @agevlakh Hi! Do you mind telling me what steps did you followed to `make` on Apline Linux? I'm currently stucked on compiling the source, it just show `Segmentation Fault`
Author
Owner

@agevlakh commented on GitHub (Sep 11, 2025):

@donaldzou
Hi! This topic has become irrelevant to me, but I've made it work. You need to install all the necessary packages for building the kernel, which can be found online by searching for "alpine Linux packages for build kernel." Then, you need to roll back the kernel to version 5.4.192 and download the same version of linux-headers from the 3.12 repository manually. In this case, you won't need the kernel source code, and everything will build without errors. Give it a try.

<!-- gh-comment-id:3277466231 --> @agevlakh commented on GitHub (Sep 11, 2025): @donaldzou Hi! This topic has become irrelevant to me, but I've made it work. You need to install all the necessary packages for building the kernel, which can be found online by searching for "alpine Linux packages for build kernel." Then, you need to roll back the kernel to version 5.4.192 and download the same version of linux-headers from the 3.12 repository [manually](https://mirror.yandex.ru/mirrors/alpine/v3.12/main/x86_64/). In this case, you won't need the kernel source code, and everything will build without errors. Give it a try.
Author
Owner

@donaldzou commented on GitHub (Sep 11, 2025):

@donaldzou Hi! This topic has become irrelevant to me, but I've made it work. You need to install all the necessary packages for building the kernel, which can be found online by searching for "alpine Linux packages for build kernel." Then, you need to roll back the kernel to version 5.4.192 and download the same version of linux-headers from the 3.12 repository manually. In this case, you won't need the kernel source code, and everything will build without errors. Give it a try.

Thank you!!

<!-- gh-comment-id:3277476143 --> @donaldzou commented on GitHub (Sep 11, 2025): > [@donaldzou](https://github.com/donaldzou) Hi! This topic has become irrelevant to me, but I've made it work. You need to install all the necessary packages for building the kernel, which can be found online by searching for "alpine Linux packages for build kernel." Then, you need to roll back the kernel to version 5.4.192 and download the same version of linux-headers from the 3.12 repository [manually](https://mirror.yandex.ru/mirrors/alpine/v3.12/main/x86_64/). In this case, you won't need the kernel source code, and everything will build without errors. Give it a try. Thank you!!
Author
Owner

@ygurov commented on GitHub (Oct 20, 2025):

Hello,
By the recent patches, kernel dependency has made obsolete and no longer required to build the kmod. Please give the updated version a try, should be more consistent and transparent.
Closing the issue as won't fix, but feel free to open a new one if you face any issues

<!-- gh-comment-id:3423366512 --> @ygurov commented on GitHub (Oct 20, 2025): Hello, By the recent patches, kernel dependency has made obsolete and no longer required to build the kmod. Please give the updated version a try, should be more consistent and transparent. Closing the issue as won't fix, but feel free to open a new one if you face any issues
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-linux-kernel-module#51
No description provided.