lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 25 Oct 2019 08:00:20 +0200
From:   Stefan Wahren <wahrenst@....net>
To:     Daniel Wagner <dwagner@...e.de>, UNGLinuxDriver@...rochip.com
Cc:     netdev@...r.kernel.org, linux-usb@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org,
        Woojung Huh <woojung.huh@...rochip.com>,
        Marc Zyngier <maz@...nel.org>, Andrew Lunn <andrew@...n.ch>,
        Jisheng Zhang <Jisheng.Zhang@...aptics.com>,
        Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH] net: usb: lan78xx: Use phy_mac_interrupt() for interrupt
 handling

Am 18.10.19 um 10:28 schrieb Daniel Wagner:
> handle_simple_irq() expect interrupts to be disabled. The USB
> framework is using threaded interrupts, which implies that interrupts
> are re-enabled as soon as it has run.
>
> This reverts the changes from cc89c323a30e ("lan78xx: Use irq_domain
> for phy interrupt from USB Int. EP").
>
> [    4.886203] 000: irq 79 handler irq_default_primary_handler+0x0/0x8 enabled interrupts
> [    4.886243] 000: WARNING: CPU: 0 PID: 0 at kernel/irq/handle.c:152 __handle_irq_event_percpu+0x154/0x168
> [    4.896294] 000: Modules linked in:
> [    4.896301] 000: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.6 #39
> [    4.896310] 000: Hardware name: Raspberry Pi 3 Model B+ (DT)
> [    4.896315] 000: pstate: 60000005 (nZCv daif -PAN -UAO)
> [    4.896321] 000: pc : __handle_irq_event_percpu+0x154/0x168
> [    4.896331] 000: lr : __handle_irq_event_percpu+0x154/0x168
> [    4.896339] 000: sp : ffff000010003cc0
> [    4.896346] 000: x29: ffff000010003cc0 x28: 0000000000000060
> [    4.896355] 000: x27: ffff000011021980 x26: ffff00001189c72b
> [    4.896364] 000: x25: ffff000011702bc0 x24: ffff800036d6e400
> [    4.896373] 000: x23: 000000000000004f x22: ffff000010003d64
> [    4.896381] 000: x21: 0000000000000000 x20: 0000000000000002
> [    4.896390] 000: x19: ffff8000371c8480 x18: 0000000000000060
> [    4.896398] 000: x17: 0000000000000000 x16: 00000000000000eb
> [    4.896406] 000: x15: ffff000011712d18 x14: 7265746e69206465
> [    4.896414] 000: x13: ffff000010003ba0 x12: ffff000011712df0
> [    4.896422] 000: x11: 0000000000000001 x10: ffff000011712e08
> [    4.896430] 000: x9 : 0000000000000001 x8 : 000000000003c920
> [    4.896437] 000: x7 : ffff0000118cc410 x6 : ffff0000118c7f00
> [    4.896445] 000: x5 : 000000000003c920 x4 : 0000000000004510
> [    4.896453] 000: x3 : ffff000011712dc8 x2 : 0000000000000000
> [    4.896461] 000: x1 : 73a3f67df94c1500 x0 : 0000000000000000
> [    4.896466] 000: Call trace:
> [    4.896471] 000:  __handle_irq_event_percpu+0x154/0x168
> [    4.896481] 000:  handle_irq_event_percpu+0x50/0xb0
> [    4.896489] 000:  handle_irq_event+0x40/0x98
> [    4.896497] 000:  handle_simple_irq+0xa4/0xf0
> [    4.896505] 000:  generic_handle_irq+0x24/0x38
> [    4.896513] 000:  intr_complete+0xb0/0xe0
> [    4.896525] 000:  __usb_hcd_giveback_urb+0x58/0xd8
> [    4.896533] 000:  usb_giveback_urb_bh+0xd0/0x170
> [    4.896539] 000:  tasklet_action_common.isra.0+0x9c/0x128
> [    4.896549] 000:  tasklet_hi_action+0x24/0x30
> [    4.896556] 000:  __do_softirq+0x120/0x23c
> [    4.896564] 000:  irq_exit+0xb8/0xd8
> [    4.896571] 000:  __handle_domain_irq+0x64/0xb8
> [    4.896579] 000:  bcm2836_arm_irqchip_handle_irq+0x60/0xc0
> [    4.896586] 000:  el1_irq+0xb8/0x140
> [    4.896592] 000:  arch_cpu_idle+0x10/0x18
> [    4.896601] 000:  do_idle+0x200/0x280
> [    4.896608] 000:  cpu_startup_entry+0x20/0x28
> [    4.896615] 000:  rest_init+0xb4/0xc0
> [    4.896623] 000:  arch_call_rest_init+0xc/0x14
> [    4.896632] 000:  start_kernel+0x454/0x480
>
> [dwagner: Updated Jisheng's initial patch]
>
> Fixes: cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")
> Cc: Woojung Huh <woojung.huh@...rochip.com>
> Cc: Marc Zyngier <maz@...nel.org>
> Cc: Andrew Lunn <andrew@...n.ch>
> Cc: Stefan Wahren <wahrenst@....net>
> Cc: Jisheng Zhang <Jisheng.Zhang@...aptics.com>
> Cc: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Daniel Wagner <dwagner@...e.de>
> ---

Acked-by: Stefan Wahren <wahrenst@....net>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ