Linux-Modules Archive on lore.kernel.org
 help / color / Atom feed
* next-20190722, imx25: Oops when loading a module
@ 2019-07-22 10:13 Martin Kaiser
  2019-07-22 16:13 ` Jessica Yu
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Kaiser @ 2019-07-22 10:13 UTC (permalink / raw)
  To: Yang Yingliang, Jessica Yu; +Cc: linux-modules, linux-kernel

Dear all,

I run next-20190722 on an arm imx25 system and came across an issue that might
be worth reporting. I am no sure to whom, though. Please let me know if I got
that wrong.

Loading a module, no matter which one, causes a segfault and a dump such as

[root@host ]# insmod /mnt/kernel/iio/potentiometer/max5432.ko
[   63.043683] Internal error: Oops - undefined instruction: 0 [#1] ARM
[   63.050123] Modules linked in:
[   63.053266] CPU: 0 PID: 170 Comm: insmod Tainted: G        W         5.3.0-rc1-next-20190722+ #3104
[   63.062344] Hardware name: Freescale i.MX25 (Device Tree Support)
[   63.068529] PC is at frob_text.constprop.15+0x2c/0x40
[   63.073639] LR is at load_module+0x10dc/0x125c
[   63.078115] pc : [<c0072ffc>]    lr : [<c0071f8c>]    psr: 00000013
[   63.084407] sp : d3303e30  ip : d3303e40  fp : d3303e3c
[   63.089654] r10: 00000000  r9 : d3303e98  r8 : 00000018
[   63.094903] r7 : 00000001  r6 : bf0006cc  r5 : d3303f20  r4 : bf0006c0
[   63.101454] r3 : bf000000  r2 : 18000000  r1 : 00000180  r0 : bf0007a0
[   63.108013] Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   63.115176] Control: 0005317f  Table: 93330000  DAC: 00000051
[   63.120961] Process insmod (pid: 170, stack limit = 0x90da5324)
[   63.126917] Stack: (0xd3303e30 to 0xd3304000)
[   63.131318] 3e20:                                     d3303f0c d3303e40 c0071f8c c0072fe0
[   63.139546] 3e40: bf0006c0 d3309920 00002cc0 ffffffff 00000002 00000002 d3309900 00000000
[   63.147776] 3e60: 001a77e2 bf00289b bf0008a0 c067c9c8 0000025f c07df990 d3303ecc d3303e88
[   63.155999] 3e80: c00d7688 c00d689c 00000000 00000000 00000000 00000000 00000000 00000000
[   63.164225] 3ea0: 6e72656b 00006c65 00000000 00000000 00000000 00000000 00000000 00000000
[   63.172453] 3ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ba520d2b
[   63.180681] 3ee0: c00721a8 00001aed 0120abad 00000000 c0883028 d4c17aed 001a77e2 d3302000
[   63.188912] 3f00: d3303fa4 d3303f10 c0072270 c0070ec0 c0034324 c0677478 d32f1640 00000051
[   63.197142] 3f20: d4c16788 d4c16a80 d4c16000 00001aed d4c16dd8 d4c16cd5 d4c177f0 000008a0
[   63.205368] 3f40: 00000950 00000850 000009b4 00000000 00000000 00000000 00000840 0000001b
[   63.213590] 3f60: 0000001c 00000011 0000000d 00000009 00000000 ba520d2b c01030f4 00000000
[   63.221819] 3f80: 00000000 00001aed 00000080 c00091e4 d3302000 00000000 00000000 d3303fa8
[   63.230046] 3fa0: c0009000 c007211c 00000000 00000000 012090c0 00001aed 001a77e2 00000000
[   63.238273] 3fc0: 00000000 00000000 00001aed 00000080 00000001 be90de0c 001a77e2 00000000
[   63.246499] 3fe0: be90dac0 be90dab0 0001ec34 00009b30 60000010 012090c0 00000000 00000000
[   63.254694] Backtrace:
[   63.257232] [<c0072fd0>] (frob_text.constprop.15) from [<c0071f8c>] (load_module+0x10dc/0x125c)
[   63.265999] [<c0070eb0>] (load_module) from [<c0072270>] (sys_init_module+0x164/0x194)
[   63.273970]  r10:d3302000 r9:001a77e2 r8:d4c17aed r7:c0883028 r6:00000000 r5:0120abad
[   63.281823]  r4:00001aed
[   63.284410] [<c007210c>] (sys_init_module) from [<c0009000>] (ret_fast_syscall+0x0/0x50)
[   63.292529] Exception stack(0xd3303fa8 to 0xd3303ff0)
[   63.297624] 3fa0:                   00000000 00000000 012090c0 00001aed 001a77e2 00000000
[   63.305851] 3fc0: 00000000 00000000 00001aed 00000080 00000001 be90de0c 001a77e2 00000000
[   63.314067] 3fe0: be90dac0 be90dab0 0001ec34 00009b30
[   63.319170]  r10:00000000 r9:d3302000 r8:c00091e4 r7:00000080 r6:00001aed r5:00000000
[   63.327021]  r4:00000000
[   63.329603] Code: 1a000002 e5901008 e1b02a01 0a000000 (e7f001f2)
[   63.335742] ---[ end trace c38bbcd6af0938a2 ]---
Segmentation fault
[root@host ]#

It seems that this is realated to strict module rwx.
The config below crashes:

CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
# CONFIG_STRICT_MODULE_RWX is not set

If I enable CONFIG_STRICT_MODULE_RWX, modules can be loaded and unloaded without problems.

Best regards,

   Martin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: next-20190722, imx25: Oops when loading a module
  2019-07-22 10:13 next-20190722, imx25: Oops when loading a module Martin Kaiser
@ 2019-07-22 16:13 ` Jessica Yu
  2019-07-23  7:31   ` Martin Kaiser
  0 siblings, 1 reply; 3+ messages in thread
From: Jessica Yu @ 2019-07-22 16:13 UTC (permalink / raw)
  To: Martin Kaiser; +Cc: Yang Yingliang, linux-modules, linux-kernel

+++ Martin Kaiser [22/07/19 12:13 +0200]:
>Dear all,
>
>I run next-20190722 on an arm imx25 system and came across an issue that might
>be worth reporting. I am no sure to whom, though. Please let me know if I got
>that wrong.
>
>Loading a module, no matter which one, causes a segfault and a dump such as
>
>[root@host ]# insmod /mnt/kernel/iio/potentiometer/max5432.ko
>[   63.043683] Internal error: Oops - undefined instruction: 0 [#1] ARM
>[   63.050123] Modules linked in:
>[   63.053266] CPU: 0 PID: 170 Comm: insmod Tainted: G        W         5.3.0-rc1-next-20190722+ #3104
>[   63.062344] Hardware name: Freescale i.MX25 (Device Tree Support)
>[   63.068529] PC is at frob_text.constprop.15+0x2c/0x40
>[   63.073639] LR is at load_module+0x10dc/0x125c
>[   63.078115] pc : [<c0072ffc>]    lr : [<c0071f8c>]    psr: 00000013
>[   63.084407] sp : d3303e30  ip : d3303e40  fp : d3303e3c
>[   63.089654] r10: 00000000  r9 : d3303e98  r8 : 00000018
>[   63.094903] r7 : 00000001  r6 : bf0006cc  r5 : d3303f20  r4 : bf0006c0
>[   63.101454] r3 : bf000000  r2 : 18000000  r1 : 00000180  r0 : bf0007a0
>[   63.108013] Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
>[   63.115176] Control: 0005317f  Table: 93330000  DAC: 00000051
>[   63.120961] Process insmod (pid: 170, stack limit = 0x90da5324)
>[   63.126917] Stack: (0xd3303e30 to 0xd3304000)
>[   63.131318] 3e20:                                     d3303f0c d3303e40 c0071f8c c0072fe0
>[   63.139546] 3e40: bf0006c0 d3309920 00002cc0 ffffffff 00000002 00000002 d3309900 00000000
>[   63.147776] 3e60: 001a77e2 bf00289b bf0008a0 c067c9c8 0000025f c07df990 d3303ecc d3303e88
>[   63.155999] 3e80: c00d7688 c00d689c 00000000 00000000 00000000 00000000 00000000 00000000
>[   63.164225] 3ea0: 6e72656b 00006c65 00000000 00000000 00000000 00000000 00000000 00000000
>[   63.172453] 3ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ba520d2b
>[   63.180681] 3ee0: c00721a8 00001aed 0120abad 00000000 c0883028 d4c17aed 001a77e2 d3302000
>[   63.188912] 3f00: d3303fa4 d3303f10 c0072270 c0070ec0 c0034324 c0677478 d32f1640 00000051
>[   63.197142] 3f20: d4c16788 d4c16a80 d4c16000 00001aed d4c16dd8 d4c16cd5 d4c177f0 000008a0
>[   63.205368] 3f40: 00000950 00000850 000009b4 00000000 00000000 00000000 00000840 0000001b
>[   63.213590] 3f60: 0000001c 00000011 0000000d 00000009 00000000 ba520d2b c01030f4 00000000
>[   63.221819] 3f80: 00000000 00001aed 00000080 c00091e4 d3302000 00000000 00000000 d3303fa8
>[   63.230046] 3fa0: c0009000 c007211c 00000000 00000000 012090c0 00001aed 001a77e2 00000000
>[   63.238273] 3fc0: 00000000 00000000 00001aed 00000080 00000001 be90de0c 001a77e2 00000000
>[   63.246499] 3fe0: be90dac0 be90dab0 0001ec34 00009b30 60000010 012090c0 00000000 00000000
>[   63.254694] Backtrace:
>[   63.257232] [<c0072fd0>] (frob_text.constprop.15) from [<c0071f8c>] (load_module+0x10dc/0x125c)
>[   63.265999] [<c0070eb0>] (load_module) from [<c0072270>] (sys_init_module+0x164/0x194)
>[   63.273970]  r10:d3302000 r9:001a77e2 r8:d4c17aed r7:c0883028 r6:00000000 r5:0120abad
>[   63.281823]  r4:00001aed
>[   63.284410] [<c007210c>] (sys_init_module) from [<c0009000>] (ret_fast_syscall+0x0/0x50)
>[   63.292529] Exception stack(0xd3303fa8 to 0xd3303ff0)
>[   63.297624] 3fa0:                   00000000 00000000 012090c0 00001aed 001a77e2 00000000
>[   63.305851] 3fc0: 00000000 00000000 00001aed 00000080 00000001 be90de0c 001a77e2 00000000
>[   63.314067] 3fe0: be90dac0 be90dab0 0001ec34 00009b30
>[   63.319170]  r10:00000000 r9:d3302000 r8:c00091e4 r7:00000080 r6:00001aed r5:00000000
>[   63.327021]  r4:00000000
>[   63.329603] Code: 1a000002 e5901008 e1b02a01 0a000000 (e7f001f2)
>[   63.335742] ---[ end trace c38bbcd6af0938a2 ]---
>Segmentation fault
>[root@host ]#
>
>It seems that this is realated to strict module rwx.
>The config below crashes:
>
>CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
># CONFIG_STRICT_MODULE_RWX is not set
>
>If I enable CONFIG_STRICT_MODULE_RWX, modules can be loaded and unloaded without problems.
>
>Best regards,
>
>   Martin

Hi Martin,

Thank you for reporting this. Could you please try the patch I posted here:

  https://lore.kernel.org/lkml/20190722161006.GA4297@linux-8ccs/

And let me know if that fixes the issue for you?

Thanks,

Jessica

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: next-20190722, imx25: Oops when loading a module
  2019-07-22 16:13 ` Jessica Yu
@ 2019-07-23  7:31   ` Martin Kaiser
  0 siblings, 0 replies; 3+ messages in thread
From: Martin Kaiser @ 2019-07-23  7:31 UTC (permalink / raw)
  To: Jessica Yu; +Cc: Yang Yingliang, linux-modules, linux-kernel

Hi Jessica,

Thus wrote Jessica Yu (jeyu@kernel.org):

> Hi Martin,

> Thank you for reporting this. Could you please try the patch I posted here:

>  https://lore.kernel.org/lkml/20190722161006.GA4297@linux-8ccs/

> And let me know if that fixes the issue for you?

yes, your patch fixes the issue on my system. Thanks.

Tested-by: Martin Kaiser <martin@kaiser.cx>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-22 10:13 next-20190722, imx25: Oops when loading a module Martin Kaiser
2019-07-22 16:13 ` Jessica Yu
2019-07-23  7:31   ` Martin Kaiser

Linux-Modules Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-modules/0 linux-modules/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-modules linux-modules/ https://lore.kernel.org/linux-modules \
		linux-modules@vger.kernel.org linux-modules@archiver.kernel.org
	public-inbox-index linux-modules


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-modules


AGPL code for this site: git clone https://public-inbox.org/ public-inbox