All of lore.kernel.org
 help / color / mirror / Atom feed
* regression (bisected): "modprobe parport_pc" hangs in current mainline
@ 2019-03-13  6:45 Michal Kubecek
  2019-03-17 17:01 ` Sudip Mukherjee
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Kubecek @ 2019-03-13  6:45 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-kernel

Hello,

I encountered a regression in current (post-5.0) mainline kernel which I
bisected to commit 1aec4211204d ("parport: daisy: use new parport device
model"). Running "modprobe parport_pc" hangs up:

tweed:~ # ps ax | grep modprobe
 1206 pts/0    D+     0:00 modprobe parport_pc
 1209 ?        S      0:00 /sbin/modprobe -q -- parport_lowlevel
 1211 pts/1    S+     0:00 grep modprobe
tweed:~ # cat /proc/1206/stack 
[<0>] call_usermodehelper_exec+0xc7/0x140
[<0>] __request_module+0x1a1/0x430
[<0>] __parport_register_driver+0x142/0x150 [parport]
[<0>] parport_bus_init+0x1d/0x30 [parport]
[<0>] parport_default_proc_register+0x28/0x1000 [parport]
[<0>] do_one_initcall+0x46/0x1cd
[<0>] do_init_module+0x5b/0x20d
[<0>] load_module+0x1b3d/0x20f0
[<0>] __do_sys_finit_module+0xbd/0xe0
[<0>] do_syscall_64+0x60/0x120
[<0>] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[<0>] 0xffffffffffffffff
tweed:~ # cat /proc/1209/stack 
[<0>] load_module+0xe6a/0x20f0
[<0>] __do_sys_finit_module+0xbd/0xe0
[<0>] do_syscall_64+0x60/0x120
[<0>] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[<0>] 0xffffffffffffffff

call_usermodehelper_exec+0xc7/0x140 is (build from commit 1aec4211204d)
line 583 in kernel/umh.c:

		retval = wait_for_completion_killable(&done);

and load_module+0xe6a/0x20f0 is in add_unformed_module(), line 3577 in
kernel/module.c:

			err = wait_event_interruptible(module_wq,
					       finished_loading(mod->name));

Unfortunately I don't have version of crash able to deal with kernels as
new as these so I wasn't able to find more for now.

I have seen this both on real hardware and in a VM.

Michal Kubecek

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-13  6:45 regression (bisected): "modprobe parport_pc" hangs in current mainline Michal Kubecek
@ 2019-03-17 17:01 ` Sudip Mukherjee
  2019-03-17 18:05   ` Michal Kubecek
  0 siblings, 1 reply; 10+ messages in thread
From: Sudip Mukherjee @ 2019-03-17 17:01 UTC (permalink / raw)
  To: Michal Kubecek; +Cc: linux-kernel

HI Michal,

On Wed, Mar 13, 2019 at 6:45 AM Michal Kubecek <mkubecek@suse.cz> wrote:
>
> Hello,
>
> I encountered a regression in current (post-5.0) mainline kernel which I
> bisected to commit 1aec4211204d ("parport: daisy: use new parport device
> model"). Running "modprobe parport_pc" hangs up:

Can you please send me your .config so that I can test it from my side.

>
> tweed:~ # ps ax | grep modprobe
>  1206 pts/0    D+     0:00 modprobe parport_pc
>  1209 ?        S      0:00 /sbin/modprobe -q -- parport_lowlevel
>  1211 pts/1    S+     0:00 grep modprobe
> tweed:~ # cat /proc/1206/stack
> [<0>] call_usermodehelper_exec+0xc7/0x140
> [<0>] __request_module+0x1a1/0x430
> [<0>] __parport_register_driver+0x142/0x150 [parport]

And also, modprobe is trying to load a dependent module, so it will be
great if you can also do a "lsmod" before doing the modprobe and I can
check what is going wrong.


-- 
Regards
Sudip

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-17 17:01 ` Sudip Mukherjee
@ 2019-03-17 18:05   ` Michal Kubecek
  2019-03-20  9:30     ` Sudip Mukherjee
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Kubecek @ 2019-03-17 18:05 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]

On Sun, Mar 17, 2019 at 05:01:37PM +0000, Sudip Mukherjee wrote:
> On Wed, Mar 13, 2019 at 6:45 AM Michal Kubecek <mkubecek@suse.cz> wrote:
> > I encountered a regression in current (post-5.0) mainline kernel which I
> > bisected to commit 1aec4211204d ("parport: daisy: use new parport device
> > model"). Running "modprobe parport_pc" hangs up:
> 
> Can you please send me your .config so that I can test it from my side.

Attaching two versions: config-full.gz is the real life config from the
machine where I found the issue and config-mini.gz is a minimized config
I was using while bisecting the issue. (I made a mistake and thought
that I have seen the issue with snapshot before both parport commits so
that I ran a full bisect instead of simply checking the two parport
commits which came in the merge window.)

> > tweed:~ # ps ax | grep modprobe
> >  1206 pts/0    D+     0:00 modprobe parport_pc
> >  1209 ?        S      0:00 /sbin/modprobe -q -- parport_lowlevel
> >  1211 pts/1    S+     0:00 grep modprobe
> > tweed:~ # cat /proc/1206/stack
> > [<0>] call_usermodehelper_exec+0xc7/0x140
> > [<0>] __request_module+0x1a1/0x430
> > [<0>] __parport_register_driver+0x142/0x150 [parport]
> 
> And also, modprobe is trying to load a dependent module, so it will be
> great if you can also do a "lsmod" before doing the modprobe and I can
> check what is going wrong.

Attached are three lists:

  - lsmod-before ... before running "modprobe parport_pc"
  - lsmod-test   ... while "modprobe parport_pc" is stuck
  - lsmod-after  ... after killing second modprobe (1209 above)

Killing the second modprobe (PID 1209 above) lets the first finish and
as a result, parport, parport_pc and ppdev are loaded (it's the only
difference against lsmod-before). When modprobe is stuck, lsmod shows
parport with refcount of 1 (the only difference against lsmod-before).

Michal

[-- Attachment #2: config-full.gz --]
[-- Type: application/x-gzip, Size: 52138 bytes --]

[-- Attachment #3: config-mini.gz --]
[-- Type: application/x-gzip, Size: 34903 bytes --]

[-- Attachment #4: lsmod-before --]
[-- Type: text/plain, Size: 6664 bytes --]

Module                  Size  Used by
authenc                16384  2
echainiv               16384  2
esp4                   24576  2
xfrm4_mode_transport    16384  4
tun                    57344  2
xt_REDIRECT            20480  3
ipt_MASQUERADE         20480  2
xt_nat                 16384  2
deflate                16384  0
iptable_nat            16384  1
twofish_generic        20480  0
nf_nat                 49152  4 ipt_MASQUERADE,xt_nat,iptable_nat,xt_REDIRECT
twofish_avx_x86_64     53248  0
twofish_x86_64_3way    28672  1 twofish_avx_x86_64
twofish_x86_64         16384  2 twofish_x86_64_3way,twofish_avx_x86_64
twofish_common         24576  4 twofish_x86_64,twofish_generic,twofish_x86_64_3way,twofish_avx_x86_64
camellia_generic       32768  0
af_packet              53248  10
nf_log_ipv4            16384  1
nf_log_common          16384  1 nf_log_ipv4
xt_LOG                 20480  1
camellia_aesni_avx_x86_64    28672  0
camellia_x86_64        53248  1 camellia_aesni_avx_x86_64
xt_conntrack           16384  2
nf_conntrack          155648  5 xt_conntrack,nf_nat,ipt_MASQUERADE,xt_nat,xt_REDIRECT
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
serpent_avx_x86_64     49152  0
serpent_sse2_x86_64    53248  0
serpent_generic        28672  2 serpent_sse2_x86_64,serpent_avx_x86_64
blowfish_generic       16384  0
blowfish_x86_64        24576  0
blowfish_common        20480  2 blowfish_generic,blowfish_x86_64
cast5_avx_x86_64       49152  0
fuse                  131072  3
cast5_generic          24576  1 cast5_avx_x86_64
cast_common            16384  2 cast5_generic,cast5_avx_x86_64
des_generic            24576  0
cmac                   16384  0
ipt_REJECT             16384  21
nf_reject_ipv4         16384  1 ipt_REJECT
xcbc                   16384  0
rmd160                 20480  0
xt_tcpudp              20480  50
iptable_filter         16384  1
ip_tables              32768  2 iptable_filter,iptable_nat
x_tables               45056  9 xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,ipt_MASQUERADE,xt_nat,ipt_REJECT,ip_tables,xt_REDIRECT
sha512_ssse3           45056  0
sha512_generic         16384  1 sha512_ssse3
bpfilter               36864  0
af_key                 45056  2
xfrm_algo              16384  2 af_key,esp4
8021q                  40960  0
garp                   16384  1 8021q
mrp                    20480  1 8021q
stp                    16384  1 garp
llc                    16384  2 stp,garp
iscsi_ibft             16384  0
iscsi_boot_sysfs       16384  1 iscsi_ibft
it87                   65536  0
hwmon_vid              16384  1 it87
msr                    16384  0
joydev                 28672  0
hid_generic            16384  0
xfs                  1433600  3
libcrc32c              16384  3 nf_conntrack,nf_nat,xfs
edac_mce_amd           32768  0
kvm_amd               110592  0
ccp                    98304  1 kvm_amd
kvm                   733184  1 kvm_amd
irqbypass              16384  1 kvm
snd_seq_dummy          16384  0
snd_seq_oss            49152  0
snd_emu10k1_synth      20480  0
snd_emux_synth         53248  1 snd_emu10k1_synth
snd_seq_midi_emul      20480  1 snd_emux_synth
snd_seq_virmidi        16384  1 snd_emux_synth
snd_seq_midi           20480  0
snd_seq_midi_event     16384  3 snd_seq_midi,snd_seq_oss,snd_seq_virmidi
raid1                  49152  3
md_mod                167936  3 raid1
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
snd_emu10k1           192512  3 snd_emu10k1_synth
snd_util_mem           16384  2 snd_emu10k1,snd_emux_synth
snd_ac97_codec        147456  1 snd_emu10k1
ac97_bus               16384  1 snd_ac97_codec
snd_hwdep              16384  2 snd_emu10k1,snd_emux_synth
snd_rawmidi            45056  3 snd_seq_midi,snd_emu10k1,snd_seq_virmidi
usbhid                 65536  2
snd_pcm               143360  2 snd_emu10k1,snd_ac97_codec
snd_seq                86016  9 snd_seq_midi,snd_seq_oss,snd_seq_midi_event,snd_seq_virmidi,snd_seq_midi_emul,snd_emux_synth,snd_seq_dummy
aesni_intel           372736  5
snd_seq_device         16384  7 snd_seq,snd_seq_midi,snd_seq_oss,snd_emu10k1,snd_emu10k1_synth,snd_emux_synth,snd_rawmidi
snd_timer              40960  3 snd_seq,snd_emu10k1,snd_pcm
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  6 camellia_aesni_avx_x86_64,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,cast5_avx_x86_64,twofish_avx_x86_64
cryptd                 28672  5 crypto_simd,ghash_clmulni_intel,aesni_intel
glue_helper            16384  7 camellia_aesni_avx_x86_64,camellia_x86_64,twofish_x86_64_3way,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,twofish_avx_x86_64
8139too                45056  0
snd                   102400  15 snd_seq,snd_seq_device,snd_hwdep,snd_seq_oss,snd_emu10k1,snd_timer,snd_ac97_codec,snd_seq_virmidi,snd_emux_synth,snd_pcm,snd_rawmidi
mxm_wmi                16384  0
pcspkr                 16384  0
k10temp                16384  0
fam15h_power           16384  0
sp5100_tco             20480  0
soundcore              16384  1 snd
8139cp                 36864  0
emu10k1_gp             16384  0
gameport               16384  2 emu10k1_gp
mii                    16384  2 8139cp,8139too
r8169                  94208  0
i2c_piix4              28672  0
radeon               1642496  73
realtek                20480  1
ttm                   114688  1 radeon
libphy                 90112  2 r8169,realtek
drm_kms_helper        212992  1 radeon
button                 20480  0
drm                   487424  14 drm_kms_helper,radeon,ttm
fb_sys_fops            16384  1 drm_kms_helper
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
i2c_algo_bit           16384  1 radeon
pcc_cpufreq            20480  0
acpi_cpufreq           28672  0
ohci_pci               20480  0
crc32c_intel           24576  5
firewire_ohci          45056  0
firewire_core          77824  1 firewire_ohci
crc_itu_t              16384  1 firewire_core
ehci_pci               20480  0
ohci_hcd               57344  1 ohci_pci
sr_mod                 28672  0
ehci_hcd               98304  1 ehci_pci
cdrom                  73728  1 sr_mod
xhci_pci               20480  0
xhci_hcd              262144  1 xhci_pci
usbcore               303104  9 xhci_hcd,ohci_hcd,ehci_pci,usbhid,ehci_hcd,xhci_pci,ohci_pci
wmi                    32768  1 mxm_wmi
sg                     40960  0
dm_multipath           36864  0
dm_mod                155648  9 dm_multipath
scsi_dh_rdac           16384  0
scsi_dh_emc            16384  0
scsi_dh_alua           20480  0

[-- Attachment #5: lsmod-test --]
[-- Type: text/plain, Size: 6696 bytes --]

Module                  Size  Used by
parport                61440  1
authenc                16384  2
echainiv               16384  2
esp4                   24576  2
xfrm4_mode_transport    16384  4
tun                    57344  2
xt_REDIRECT            20480  3
ipt_MASQUERADE         20480  2
xt_nat                 16384  2
deflate                16384  0
iptable_nat            16384  1
twofish_generic        20480  0
nf_nat                 49152  4 ipt_MASQUERADE,xt_nat,iptable_nat,xt_REDIRECT
twofish_avx_x86_64     53248  0
twofish_x86_64_3way    28672  1 twofish_avx_x86_64
twofish_x86_64         16384  2 twofish_x86_64_3way,twofish_avx_x86_64
twofish_common         24576  4 twofish_x86_64,twofish_generic,twofish_x86_64_3way,twofish_avx_x86_64
camellia_generic       32768  0
af_packet              53248  10
nf_log_ipv4            16384  1
nf_log_common          16384  1 nf_log_ipv4
xt_LOG                 20480  1
camellia_aesni_avx_x86_64    28672  0
camellia_x86_64        53248  1 camellia_aesni_avx_x86_64
xt_conntrack           16384  2
nf_conntrack          155648  5 xt_conntrack,nf_nat,ipt_MASQUERADE,xt_nat,xt_REDIRECT
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
serpent_avx_x86_64     49152  0
serpent_sse2_x86_64    53248  0
serpent_generic        28672  2 serpent_sse2_x86_64,serpent_avx_x86_64
blowfish_generic       16384  0
blowfish_x86_64        24576  0
blowfish_common        20480  2 blowfish_generic,blowfish_x86_64
cast5_avx_x86_64       49152  0
fuse                  131072  3
cast5_generic          24576  1 cast5_avx_x86_64
cast_common            16384  2 cast5_generic,cast5_avx_x86_64
des_generic            24576  0
cmac                   16384  0
ipt_REJECT             16384  21
nf_reject_ipv4         16384  1 ipt_REJECT
xcbc                   16384  0
rmd160                 20480  0
xt_tcpudp              20480  50
iptable_filter         16384  1
ip_tables              32768  2 iptable_filter,iptable_nat
x_tables               45056  9 xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,ipt_MASQUERADE,xt_nat,ipt_REJECT,ip_tables,xt_REDIRECT
sha512_ssse3           45056  0
sha512_generic         16384  1 sha512_ssse3
bpfilter               36864  0
af_key                 45056  2
xfrm_algo              16384  2 af_key,esp4
8021q                  40960  0
garp                   16384  1 8021q
mrp                    20480  1 8021q
stp                    16384  1 garp
llc                    16384  2 stp,garp
iscsi_ibft             16384  0
iscsi_boot_sysfs       16384  1 iscsi_ibft
it87                   65536  0
hwmon_vid              16384  1 it87
msr                    16384  0
joydev                 28672  0
hid_generic            16384  0
xfs                  1433600  3
libcrc32c              16384  3 nf_conntrack,nf_nat,xfs
edac_mce_amd           32768  0
kvm_amd               110592  0
ccp                    98304  1 kvm_amd
kvm                   733184  1 kvm_amd
irqbypass              16384  1 kvm
snd_seq_dummy          16384  0
snd_seq_oss            49152  0
snd_emu10k1_synth      20480  0
snd_emux_synth         53248  1 snd_emu10k1_synth
snd_seq_midi_emul      20480  1 snd_emux_synth
snd_seq_virmidi        16384  1 snd_emux_synth
snd_seq_midi           20480  0
snd_seq_midi_event     16384  3 snd_seq_midi,snd_seq_oss,snd_seq_virmidi
raid1                  49152  3
md_mod                167936  3 raid1
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
snd_emu10k1           192512  3 snd_emu10k1_synth
snd_util_mem           16384  2 snd_emu10k1,snd_emux_synth
snd_ac97_codec        147456  1 snd_emu10k1
ac97_bus               16384  1 snd_ac97_codec
snd_hwdep              16384  2 snd_emu10k1,snd_emux_synth
snd_rawmidi            45056  3 snd_seq_midi,snd_emu10k1,snd_seq_virmidi
usbhid                 65536  2
snd_pcm               143360  2 snd_emu10k1,snd_ac97_codec
snd_seq                86016  9 snd_seq_midi,snd_seq_oss,snd_seq_midi_event,snd_seq_virmidi,snd_seq_midi_emul,snd_emux_synth,snd_seq_dummy
aesni_intel           372736  5
snd_seq_device         16384  7 snd_seq,snd_seq_midi,snd_seq_oss,snd_emu10k1,snd_emu10k1_synth,snd_emux_synth,snd_rawmidi
snd_timer              40960  3 snd_seq,snd_emu10k1,snd_pcm
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  6 camellia_aesni_avx_x86_64,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,cast5_avx_x86_64,twofish_avx_x86_64
cryptd                 28672  5 crypto_simd,ghash_clmulni_intel,aesni_intel
glue_helper            16384  7 camellia_aesni_avx_x86_64,camellia_x86_64,twofish_x86_64_3way,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,twofish_avx_x86_64
8139too                45056  0
snd                   102400  15 snd_seq,snd_seq_device,snd_hwdep,snd_seq_oss,snd_emu10k1,snd_timer,snd_ac97_codec,snd_seq_virmidi,snd_emux_synth,snd_pcm,snd_rawmidi
mxm_wmi                16384  0
pcspkr                 16384  0
k10temp                16384  0
fam15h_power           16384  0
sp5100_tco             20480  0
soundcore              16384  1 snd
8139cp                 36864  0
emu10k1_gp             16384  0
gameport               16384  2 emu10k1_gp
mii                    16384  2 8139cp,8139too
r8169                  94208  0
i2c_piix4              28672  0
radeon               1642496  73
realtek                20480  1
ttm                   114688  1 radeon
libphy                 90112  2 r8169,realtek
drm_kms_helper        212992  1 radeon
button                 20480  0
drm                   487424  14 drm_kms_helper,radeon,ttm
fb_sys_fops            16384  1 drm_kms_helper
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
i2c_algo_bit           16384  1 radeon
pcc_cpufreq            20480  0
acpi_cpufreq           28672  0
ohci_pci               20480  0
crc32c_intel           24576  5
firewire_ohci          45056  0
firewire_core          77824  1 firewire_ohci
crc_itu_t              16384  1 firewire_core
ehci_pci               20480  0
ohci_hcd               57344  1 ohci_pci
sr_mod                 28672  0
ehci_hcd               98304  1 ehci_pci
cdrom                  73728  1 sr_mod
xhci_pci               20480  0
xhci_hcd              262144  1 xhci_pci
usbcore               303104  9 xhci_hcd,ohci_hcd,ehci_pci,usbhid,ehci_hcd,xhci_pci,ohci_pci
wmi                    32768  1 mxm_wmi
sg                     40960  0
dm_multipath           36864  0
dm_mod                155648  9 dm_multipath
scsi_dh_rdac           16384  0
scsi_dh_emc            16384  0
scsi_dh_alua           20480  0

[-- Attachment #6: lsmod-after --]
[-- Type: text/plain, Size: 6777 bytes --]

Module                  Size  Used by
ppdev                  24576  0
parport_pc             53248  0
parport                61440  2 parport_pc,ppdev
authenc                16384  2
echainiv               16384  2
esp4                   24576  2
xfrm4_mode_transport    16384  4
tun                    57344  2
xt_REDIRECT            20480  3
ipt_MASQUERADE         20480  2
xt_nat                 16384  2
deflate                16384  0
iptable_nat            16384  1
twofish_generic        20480  0
nf_nat                 49152  4 ipt_MASQUERADE,xt_nat,iptable_nat,xt_REDIRECT
twofish_avx_x86_64     53248  0
twofish_x86_64_3way    28672  1 twofish_avx_x86_64
twofish_x86_64         16384  2 twofish_x86_64_3way,twofish_avx_x86_64
twofish_common         24576  4 twofish_x86_64,twofish_generic,twofish_x86_64_3way,twofish_avx_x86_64
camellia_generic       32768  0
af_packet              53248  10
nf_log_ipv4            16384  1
nf_log_common          16384  1 nf_log_ipv4
xt_LOG                 20480  1
camellia_aesni_avx_x86_64    28672  0
camellia_x86_64        53248  1 camellia_aesni_avx_x86_64
xt_conntrack           16384  2
nf_conntrack          155648  5 xt_conntrack,nf_nat,ipt_MASQUERADE,xt_nat,xt_REDIRECT
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
serpent_avx_x86_64     49152  0
serpent_sse2_x86_64    53248  0
serpent_generic        28672  2 serpent_sse2_x86_64,serpent_avx_x86_64
blowfish_generic       16384  0
blowfish_x86_64        24576  0
blowfish_common        20480  2 blowfish_generic,blowfish_x86_64
cast5_avx_x86_64       49152  0
fuse                  131072  3
cast5_generic          24576  1 cast5_avx_x86_64
cast_common            16384  2 cast5_generic,cast5_avx_x86_64
des_generic            24576  0
cmac                   16384  0
ipt_REJECT             16384  21
nf_reject_ipv4         16384  1 ipt_REJECT
xcbc                   16384  0
rmd160                 20480  0
xt_tcpudp              20480  50
iptable_filter         16384  1
ip_tables              32768  2 iptable_filter,iptable_nat
x_tables               45056  9 xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,ipt_MASQUERADE,xt_nat,ipt_REJECT,ip_tables,xt_REDIRECT
sha512_ssse3           45056  0
sha512_generic         16384  1 sha512_ssse3
bpfilter               36864  0
af_key                 45056  2
xfrm_algo              16384  2 af_key,esp4
8021q                  40960  0
garp                   16384  1 8021q
mrp                    20480  1 8021q
stp                    16384  1 garp
llc                    16384  2 stp,garp
iscsi_ibft             16384  0
iscsi_boot_sysfs       16384  1 iscsi_ibft
it87                   65536  0
hwmon_vid              16384  1 it87
msr                    16384  0
joydev                 28672  0
hid_generic            16384  0
xfs                  1433600  3
libcrc32c              16384  3 nf_conntrack,nf_nat,xfs
edac_mce_amd           32768  0
kvm_amd               110592  0
ccp                    98304  1 kvm_amd
kvm                   733184  1 kvm_amd
irqbypass              16384  1 kvm
snd_seq_dummy          16384  0
snd_seq_oss            49152  0
snd_emu10k1_synth      20480  0
snd_emux_synth         53248  1 snd_emu10k1_synth
snd_seq_midi_emul      20480  1 snd_emux_synth
snd_seq_virmidi        16384  1 snd_emux_synth
snd_seq_midi           20480  0
snd_seq_midi_event     16384  3 snd_seq_midi,snd_seq_oss,snd_seq_virmidi
raid1                  49152  3
md_mod                167936  3 raid1
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
snd_emu10k1           192512  3 snd_emu10k1_synth
snd_util_mem           16384  2 snd_emu10k1,snd_emux_synth
snd_ac97_codec        147456  1 snd_emu10k1
ac97_bus               16384  1 snd_ac97_codec
snd_hwdep              16384  2 snd_emu10k1,snd_emux_synth
snd_rawmidi            45056  3 snd_seq_midi,snd_emu10k1,snd_seq_virmidi
usbhid                 65536  2
snd_pcm               143360  2 snd_emu10k1,snd_ac97_codec
snd_seq                86016  9 snd_seq_midi,snd_seq_oss,snd_seq_midi_event,snd_seq_virmidi,snd_seq_midi_emul,snd_emux_synth,snd_seq_dummy
aesni_intel           372736  5
snd_seq_device         16384  7 snd_seq,snd_seq_midi,snd_seq_oss,snd_emu10k1,snd_emu10k1_synth,snd_emux_synth,snd_rawmidi
snd_timer              40960  3 snd_seq,snd_emu10k1,snd_pcm
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  6 camellia_aesni_avx_x86_64,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,cast5_avx_x86_64,twofish_avx_x86_64
cryptd                 28672  5 crypto_simd,ghash_clmulni_intel,aesni_intel
glue_helper            16384  7 camellia_aesni_avx_x86_64,camellia_x86_64,twofish_x86_64_3way,serpent_sse2_x86_64,aesni_intel,serpent_avx_x86_64,twofish_avx_x86_64
8139too                45056  0
snd                   102400  15 snd_seq,snd_seq_device,snd_hwdep,snd_seq_oss,snd_emu10k1,snd_timer,snd_ac97_codec,snd_seq_virmidi,snd_emux_synth,snd_pcm,snd_rawmidi
mxm_wmi                16384  0
pcspkr                 16384  0
k10temp                16384  0
fam15h_power           16384  0
sp5100_tco             20480  0
soundcore              16384  1 snd
8139cp                 36864  0
emu10k1_gp             16384  0
gameport               16384  2 emu10k1_gp
mii                    16384  2 8139cp,8139too
r8169                  94208  0
i2c_piix4              28672  0
radeon               1642496  73
realtek                20480  1
ttm                   114688  1 radeon
libphy                 90112  2 r8169,realtek
drm_kms_helper        212992  1 radeon
button                 20480  0
drm                   487424  14 drm_kms_helper,radeon,ttm
fb_sys_fops            16384  1 drm_kms_helper
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
i2c_algo_bit           16384  1 radeon
pcc_cpufreq            20480  0
acpi_cpufreq           28672  0
ohci_pci               20480  0
crc32c_intel           24576  5
firewire_ohci          45056  0
firewire_core          77824  1 firewire_ohci
crc_itu_t              16384  1 firewire_core
ehci_pci               20480  0
ohci_hcd               57344  1 ohci_pci
sr_mod                 28672  0
ehci_hcd               98304  1 ehci_pci
cdrom                  73728  1 sr_mod
xhci_pci               20480  0
xhci_hcd              262144  1 xhci_pci
usbcore               303104  9 xhci_hcd,ohci_hcd,ehci_pci,usbhid,ehci_hcd,xhci_pci,ohci_pci
wmi                    32768  1 mxm_wmi
sg                     40960  0
dm_multipath           36864  0
dm_mod                155648  9 dm_multipath
scsi_dh_rdac           16384  0
scsi_dh_emc            16384  0
scsi_dh_alua           20480  0

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-17 18:05   ` Michal Kubecek
@ 2019-03-20  9:30     ` Sudip Mukherjee
  2019-03-20 21:18       ` Michal Kubecek
  0 siblings, 1 reply; 10+ messages in thread
From: Sudip Mukherjee @ 2019-03-20  9:30 UTC (permalink / raw)
  To: Michal Kubecek; +Cc: linux-kernel

Hi Michal,

On Sun, Mar 17, 2019 at 6:05 PM Michal Kubecek <mkubecek@suse.cz> wrote:
>
> On Sun, Mar 17, 2019 at 05:01:37PM +0000, Sudip Mukherjee wrote:
> > On Wed, Mar 13, 2019 at 6:45 AM Michal Kubecek <mkubecek@suse.cz> wrote:
> > > I encountered a regression in current (post-5.0) mainline kernel which I
> > > bisected to commit 1aec4211204d ("parport: daisy: use new parport device
> > > model"). Running "modprobe parport_pc" hangs up:
> >
> > Can you please send me your .config so that I can test it from my side.
>
> Attaching two versions: config-full.gz is the real life config from the
> machine where I found the issue and config-mini.gz is a minimized config
> I was using while bisecting the issue. (I made a mistake and thought
> that I have seen the issue with snapshot before both parport commits so
> that I ran a full bisect instead of simply checking the two parport
> commits which came in the merge window.)

Sorry, I didn't get the chance to look at it yet and have kept it
pending for this weekend. But just had a quick look and I was
wondering if the machine on which you are trying the modprobe has an
actual parallel port or the machine is not having any parallel port.
And also will you be able to send me a dmesg please.


-- 
Regards
Sudip

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-20  9:30     ` Sudip Mukherjee
@ 2019-03-20 21:18       ` Michal Kubecek
  2019-03-21 22:43         ` Sudip Mukherjee
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Kubecek @ 2019-03-20 21:18 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1103 bytes --]

On Wed, Mar 20, 2019 at 09:30:59AM +0000, Sudip Mukherjee wrote:
> Sorry, I didn't get the chance to look at it yet and have kept it
> pending for this weekend. But just had a quick look and I was
> wondering if the machine on which you are trying the modprobe has an
> actual parallel port or the machine is not having any parallel port.
> And also will you be able to send me a dmesg please.

Attaching dmesg output from a virtual machine which doesn't seem to have
a (virtual) parallel port. This part:

[   63.962283] parport_pc 00:05: reported by Plug and Play ACPI
[   63.962469] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   64.061723] ppdev: user-space parallel port driver

was after I manually killed "/sbin/modprobe -q -- parport_lowlevel" which
was started during boot.

Tomorrow (when I'm in the office) I'll check what happens when I add
a parallel port to the VM and also send you dmesg output from the
physical machine where I first noticed the issue. I'm quite sure it has
parallel port on its motherboard but it might be disabled in BIOS, I'll
have to check.

Michal Kubecek

[-- Attachment #2: dmesg-vm-5.1-rc1.gz --]
[-- Type: application/x-gzip, Size: 20932 bytes --]

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-20 21:18       ` Michal Kubecek
@ 2019-03-21 22:43         ` Sudip Mukherjee
  2019-03-22  6:13           ` Michal Kubecek
  0 siblings, 1 reply; 10+ messages in thread
From: Sudip Mukherjee @ 2019-03-21 22:43 UTC (permalink / raw)
  To: Michal Kubecek; +Cc: linux-kernel

HI Michal,

On Wed, Mar 20, 2019 at 9:18 PM Michal Kubecek <mkubecek@suse.cz> wrote:
>
> On Wed, Mar 20, 2019 at 09:30:59AM +0000, Sudip Mukherjee wrote:
> > Sorry, I didn't get the chance to look at it yet and have kept it
> > pending for this weekend. But just had a quick look and I was
> > wondering if the machine on which you are trying the modprobe has an
> > actual parallel port or the machine is not having any parallel port.
> > And also will you be able to send me a dmesg please.
>
> Attaching dmesg output from a virtual machine which doesn't seem to have
> a (virtual) parallel port. This part:
>
> [   63.962283] parport_pc 00:05: reported by Plug and Play ACPI
> [   63.962469] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
> [   64.061723] ppdev: user-space parallel port driver
>
> was after I manually killed "/sbin/modprobe -q -- parport_lowlevel" which
> was started during boot.

Thanks for testing. I am unable to reproduce the problem in VM or in
machine, with or without parallel port. But from your logs it looks
like you have an alias set for "parport_lowlevel". When parport module
is being loaded if it does not find any port in its list, it will try
to load "parport_lowlevel" and that is where you are getting the
deadlock. "parport_lowlevel" is not a real module, but instead should
be an alias pointing to some real module. I tried by setting an alias
of parport_lowlevel" as parport_pc but still could not get the
problem.
Can you please check in your VM or machine what do you have the alias
as? It should be either in "/etc/modprobe.conf" or some conf file in
"/etc/modprobe.d" folder. And also, will you be able to test a debug
patch on your VM?

-- 
Regards
Sudip

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-21 22:43         ` Sudip Mukherjee
@ 2019-03-22  6:13           ` Michal Kubecek
  2019-03-24 19:38             ` Sudip Mukherjee
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Kubecek @ 2019-03-22  6:13 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-kernel

On Thursday, 21 March 2019 23:43 Sudip Mukherjee wrote:
> HI Michal,
> 
> On Wed, Mar 20, 2019 at 9:18 PM Michal Kubecek <mkubecek@suse.cz> wrote:
> > On Wed, Mar 20, 2019 at 09:30:59AM +0000, Sudip Mukherjee wrote:
> > > Sorry, I didn't get the chance to look at it yet and have kept it
> > > pending for this weekend. But just had a quick look and I was
> > > wondering if the machine on which you are trying the modprobe has
> > > an
> > > actual parallel port or the machine is not having any parallel
> > > port.
> > > And also will you be able to send me a dmesg please.
> > 
> > Attaching dmesg output from a virtual machine which doesn't seem to
> > have a (virtual) parallel port. This part:
> > 
> > [   63.962283] parport_pc 00:05: reported by Plug and Play ACPI
> > [   63.962469] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
> > [   64.061723] ppdev: user-space parallel port driver
> > 
> > was after I manually killed "/sbin/modprobe -q -- parport_lowlevel"
> > which was started during boot.
> 
> Thanks for testing. I am unable to reproduce the problem in VM or in
> machine, with or without parallel port. But from your logs it looks
> like you have an alias set for "parport_lowlevel". When parport module
> is being loaded if it does not find any port in its list, it will try
> to load "parport_lowlevel" and that is where you are getting the
> deadlock. "parport_lowlevel" is not a real module, but instead should
> be an alias pointing to some real module. I tried by setting an alias
> of parport_lowlevel" as parport_pc but still could not get the
> problem.
> Can you please check in your VM or machine what do you have the alias
> as? It should be either in "/etc/modprobe.conf" or some conf file in
> "/etc/modprobe.d" folder.

You are right, this is in /etc/modprobe.d/00-system which is part of
suse-module-tools package:

-----------------------------------------------------------------------
alias parport_lowlevel    parport_pc
# disable DMA for parallel port (bnc#180390)
# Please note, the dma= and irq= options require that the io= option also be
# specified.
options parport_pc dma=none
# options parport_pc io=0x378 irq=none
# If you have multiple parallel ports, specify them this way:
# options parport_pc io=0x378,0x278  irq=none,none
-----------------------------------------------------------------------

"bnc#180390" means https://bugzilla.suse.com/show_bug.cgi?id=180390

There is a git repository for suse-module-tools package on github but
unfortunately it starts in 2017 and as comment 98 in the bug above
shows that the alias line was already in place in 2008, the reason
won't be found in OBS history either.

Anyway, when I comment out the alias line, "modprobe parport_pc"
succeeds immediately and loads parport, parport_pc and ppdev.

> And also, will you be able to test a debug patch on your VM?

Yes, definitely.

Michal



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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-22  6:13           ` Michal Kubecek
@ 2019-03-24 19:38             ` Sudip Mukherjee
  2019-03-25  7:30               ` Michal Kubecek
  0 siblings, 1 reply; 10+ messages in thread
From: Sudip Mukherjee @ 2019-03-24 19:38 UTC (permalink / raw)
  To: Michal Kubecek; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

Hi Michal,

On Fri, Mar 22, 2019 at 07:13:23AM +0100, Michal Kubecek wrote:
> On Thursday, 21 March 2019 23:43 Sudip Mukherjee wrote:
> > HI Michal,
> > 
> > On Wed, Mar 20, 2019 at 9:18 PM Michal Kubecek <mkubecek@suse.cz> wrote:
> > > On Wed, Mar 20, 2019 at 09:30:59AM +0000, Sudip Mukherjee wrote:
<snip> 
> > Can you please check in your VM or machine what do you have the alias
> > as? It should be either in "/etc/modprobe.conf" or some conf file in
> > "/etc/modprobe.d" folder.
> 
> You are right, this is in /etc/modprobe.d/00-system which is part of
> suse-module-tools package:

And I was able to reproduce the problem using a vm and Suse Tumblewood with
next-20190322. Can you please try the attached patch and test on your vm and
machine and check if it fixes the problem.

--
Regards
Sudip

[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 499 bytes --]

diff --git a/drivers/parport/share.c b/drivers/parport/share.c
index 0171b8dbcdcd..f87948fbfc34 100644
--- a/drivers/parport/share.c
+++ b/drivers/parport/share.c
@@ -274,7 +274,7 @@ static int port_check(struct device *dev, void *dev_drv)
 int __parport_register_driver(struct parport_driver *drv, struct module *owner,
 			      const char *mod_name)
 {
-	if (list_empty(&portlist))
+	if (list_empty(&portlist) && strcmp(drv->name, "daisy_drv"))
 		get_lowlevel_driver();
 
 	if (drv->devmodel) {

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-24 19:38             ` Sudip Mukherjee
@ 2019-03-25  7:30               ` Michal Kubecek
  2019-03-25 10:00                 ` Sudip Mukherjee
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Kubecek @ 2019-03-25  7:30 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: linux-kernel

On Sun, Mar 24, 2019 at 07:38:38PM +0000, Sudip Mukherjee wrote:
> And I was able to reproduce the problem using a vm and Suse Tumblewood with
> next-20190322. Can you please try the attached patch and test on your vm and
> machine and check if it fixes the problem.
> 
> --
> Regards
> Sudip

> diff --git a/drivers/parport/share.c b/drivers/parport/share.c
> index 0171b8dbcdcd..f87948fbfc34 100644
> --- a/drivers/parport/share.c
> +++ b/drivers/parport/share.c
> @@ -274,7 +274,7 @@ static int port_check(struct device *dev, void *dev_drv)
>  int __parport_register_driver(struct parport_driver *drv, struct module *owner,
>  			      const char *mod_name)
>  {
> -	if (list_empty(&portlist))
> +	if (list_empty(&portlist) && strcmp(drv->name, "daisy_drv"))
>  		get_lowlevel_driver();
>  
>  	if (drv->devmodel) {

Yes, with this patch (on top of v5.1-rc2), both physical machine and VM
let the module(s) load cleanly even with the alias line restored.

Tested-by: Michal Kubecek <mkubecek@suse.cz>

Thank you,
Michal

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

* Re: regression (bisected): "modprobe parport_pc" hangs in current mainline
  2019-03-25  7:30               ` Michal Kubecek
@ 2019-03-25 10:00                 ` Sudip Mukherjee
  0 siblings, 0 replies; 10+ messages in thread
From: Sudip Mukherjee @ 2019-03-25 10:00 UTC (permalink / raw)
  To: Michal Kubecek; +Cc: linux-kernel

On Mon, Mar 25, 2019 at 7:30 AM Michal Kubecek <mkubecek@suse.cz> wrote:
>
> On Sun, Mar 24, 2019 at 07:38:38PM +0000, Sudip Mukherjee wrote:
> > And I was able to reproduce the problem using a vm and Suse Tumblewood with
> > next-20190322. Can you please try the attached patch and test on your vm and
> > machine and check if it fixes the problem.
> >
> > --
> > Regards
> > Sudip
>
> > diff --git a/drivers/parport/share.c b/drivers/parport/share.c
> > index 0171b8dbcdcd..f87948fbfc34 100644
> > --- a/drivers/parport/share.c
> > +++ b/drivers/parport/share.c
> > @@ -274,7 +274,7 @@ static int port_check(struct device *dev, void *dev_drv)
> >  int __parport_register_driver(struct parport_driver *drv, struct module *owner,
> >                             const char *mod_name)
> >  {
> > -     if (list_empty(&portlist))
> > +     if (list_empty(&portlist) && strcmp(drv->name, "daisy_drv"))
> >               get_lowlevel_driver();
> >
> >       if (drv->devmodel) {
>
> Yes, with this patch (on top of v5.1-rc2), both physical machine and VM
> let the module(s) load cleanly even with the alias line restored.
>
> Tested-by: Michal Kubecek <mkubecek@suse.cz>

Thanks Michal. I will add it to my queue with your Tested-by.

btw, I think I liked using Suse. :)


-- 
Regards
Sudip

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

end of thread, other threads:[~2019-03-25 10:01 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-13  6:45 regression (bisected): "modprobe parport_pc" hangs in current mainline Michal Kubecek
2019-03-17 17:01 ` Sudip Mukherjee
2019-03-17 18:05   ` Michal Kubecek
2019-03-20  9:30     ` Sudip Mukherjee
2019-03-20 21:18       ` Michal Kubecek
2019-03-21 22:43         ` Sudip Mukherjee
2019-03-22  6:13           ` Michal Kubecek
2019-03-24 19:38             ` Sudip Mukherjee
2019-03-25  7:30               ` Michal Kubecek
2019-03-25 10:00                 ` Sudip Mukherjee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.