module wistron_btns causes "grsec: halting the system..."

Discuss usability issues, general maintenance, and general support issues for a grsecurity-enabled system.

module wistron_btns causes "grsec: halting the system..."

Postby shored » Sun Nov 23, 2014 7:50 pm

The solution to my rfkill problem involved enabling CONFIG_INPUT_WISTRON_BTNS, but I get a kernel panic with grsec enabled.

Crash info, hopefully there's something useful here. (Thanks for the netconsole hint!)

Code: Select all
[ 1598.511510] console [netcon0] enabled
[ 1598.514645] netconsole: network logging started
[ 1624.133646] wistron_btns: BIOS signature found at c00f6460, entry point 000FDD00
[ 1624.138399] PAX: suspicious general protection fault: 0000 [#1]
[ 1624.139015] Modules linked in: wistron_btns(+) sparse_keymap input_polldev netconsole configfs xt_CHECKSUM iptable_mangle ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack veth ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc michael_mic arc4 ecb lib80211_crypt_tkip lib80211_crypt_ccmp binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc joydev snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm snd_timer evdev snd i915 soundcore pcspkr ac97_bus psmouse serio_raw i2c_i801 drm_kms_helper drm i2c_algo_bit i2c_core battery ipw2100 libipw cfg80211 rfkill lib80211 lpc_ich mfd_core rng_core video ac button acpi_cpufreq processor fuse autofs4 ext4 crc16 mbcache jbd2 xts gf128mul algif_skcipher af_alg usb_storage dm_crypt dm_mod sg sr_mod sd_mod cdrom crc_t10dif crct10dif_generic crct10dif_common ata_generic mmc_block ata_piix libata ehci_pci uhci_hcd ehci_hcd b44 scsi_mod firewire_ohci ssb libphy mii firewire_core crc_itu_t usbcore usb_common thermal thermal_sys wbsd mmc_core [last unloaded: netconsole]
[ 1624.139015] CPU: 0 PID: 4215 Comm: modprobe Not tainted 3.14.24-grsec #6
[ 1624.139015] Hardware name: FUJITSU SIEMENS AMILO M        /AMILO M        , BIOS R01-S0Z    12/28/04 
[ 1624.139015] task: dc551a90 ti: dc551d60 task.ti: dc551d60
[ 1624.139015] EIP: 0060:[<004b801d>] EFLAGS: 00010082 CPU: 0
[ 1624.139015] EAX: 00009610 EBX: 0000012e ECX: 00000000 EDX: 00000000
[ 1624.139015] ESI: dbd43e00 EDI: e0273014 EBP: e02dc400 ESP: c43cfcf0
[ 1624.139015]  DS: 0068 ES: 0068 FS: 0000 GS: 007b SS: 0068
[ 1624.139015] CR0: 8005003b CR2: b7674000 CR3: 1eeae000 CR4: 00000790
[ 1624.139015] Stack:
[ 1624.139015]  c43cfd0c 00000282 dbd43e00 dbd43e00 e0273014 c43cfd6c 004b83c6 00009610
[ 1624.139015]  0000012e 00000000 dbd43e0c dbd43e00 e0273014 002d253e dbd43e0c 002d04d2
[ 1624.139015]  dbd43e0c e0273014 00000028 002d0ab3 dbd43e14 decf52c0 c43cfda8 dbd43e0c
[ 1624.139015] Call Trace:
[ 1624.139015]  [<004b83c6>] ? wistron_probe+0x26/0x280 [wistron_btns]
[ 1624.139015]  [<00009610>] ? mach_get_cmos_time+0x120/0x190
[ 1624.139015]  [<002d253e>] ? platform_drv_probe+0x2e/0x80
[ 1624.139015]  [<002d04d2>] ? driver_sysfs_add+0x52/0x70
[ 1624.139015]  [<002d0ab3>] ? driver_probe_device+0x83/0x3e0
[ 1624.139015]  [<002d2671>] ? platform_match+0x31/0x70
[ 1624.139015]  [<002d0e10>] ? driver_probe_device+0x3e0/0x3e0
[ 1624.139015]  [<002cf00f>] ? bus_for_each_drv+0x3f/0x70
[ 1624.139015]  [<002d09ab>] ? device_attach+0x7b/0xa0
[ 1624.139015]  [<002d0e10>] ? driver_probe_device+0x3e0/0x3e0
[ 1624.139015]  [<002cff47>] ? bus_probe_device+0x67/0x90
[ 1624.139015]  [<002ce458>] ? device_add+0x4f8/0x5e0
[ 1624.139015]  [<002d21af>] ? platform_device_add+0xbf/0x2b0
[ 1624.139015]  [<002d276b>] ? platform_device_alloc+0x5b/0x80
[ 1624.139015]  [<000fdd00>] ? __swap_writepage+0x100/0x1e0
[ 1624.139015]  [<004ba67f>] ? wb_module_init+0x4e1/0xc0ffe562 [wistron_btns]
[ 1624.139015]  [<000b330c>] ? trace_module_notify+0xbc/0x180
[ 1624.139015]  [<00006460>] ? make_8259A_irq+0x30/0x40
[ 1624.139015]  [<004ba19e>] ? dmi_matched+0x19e/0x19e [wistron_btns]
[ 1624.139015]  [<000014aa>] ? do_one_initcall+0xda/0x150
[ 1624.139015]  [<00057a6c>] ? __blocking_notifier_call_chain+0x3c/0x60
[ 1624.139015]  [<000875d0>] ? load_module+0x1ef0/0x2150
[ 1624.139015]  [<0011b160>] ? kernel_read+0x40/0x50
[ 1624.139015]  [<00003c88>] ? do_alignment_check+0x38/0xa0
[ 1624.139015]  [<00087a95>] ? SyS_finit_module+0x75/0xc0
[ 1624.139015]  [<00008df0>] ? native_calibrate_tsc+0x3d0/0x5f0
[ 1624.139015]  [<000e5562>] ? vm_mmap_pgoff+0x82/0xa0
[ 1624.139015]  [<00008df0>] ? native_calibrate_tsc+0x3d0/0x5f0
[ 1624.139015]  [<00408773>] ? syscall_call+0x7/0x7
[ 1624.139015] Code: 00 00 04 00 00 00 01 00 1b 00 16 14 00 00 55 57 89 c5 56 53 83 ec 04 9c 8f 04 24 fa 8b 00 8b 5d 04 8b 4d 08 55 8b 2d 38 35 27 e0 <ff> 15 40 35 27 e0 5d 89 45 00 89 5d 04 89 4d 08 ff 34 24 9d 83
[ 1624.139015] EIP: [<004b801d>] call_bios+0x1d/0x40 [wistron_btns] SS:ESP 0068:c43cfcf0
[ 1624.139015] ---[ end trace 2f005d8ecf937a4a ]---
[ 1624.139015] Kernel panic - not syncing: grsec: halting the system due to suspicious kernel crash caused by root
[ 1624.139015] Kernel Offset: 0x3f000000 from 0xc1000000 (relocation range: 0xc0000000-0xdfedffff)
[ 1624.139015] drm_kms_helper: panic occurred, switching back to text console


FWIW I found that I can remove the wistron_btns module to prevent the crash and the wireless connection still works! However, if I do not enable CONFIG_INPUT_WISTRON_BTN the wireless adapter will be 'hard blocked' in the rfkill output.

Note that this is apparently a 32-bit only module. I do not see it in the config options when compiling a 64-bit kernel.
shored
 
Posts: 4
Joined: Fri Nov 21, 2014 9:47 pm

Re: module wistron_btns causes "grsec: halting the system...

Postby PaX Team » Sun Nov 23, 2014 9:39 pm

the problem is that this driver calls into the BIOS which is explicitly not supported under KERNEXEC. i could make an exception as i did for the PCI BIOS accessors but i'm not too inclined... :P
PaX Team
 
Posts: 2310
Joined: Mon Mar 18, 2002 4:35 pm


Return to grsecurity support