Re: [sparc64] OOPS after 'serial: core: Allow detach and attach serial device for console'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 02, 2020 at 02:00:51PM +0300, Anatoly Pugachev wrote:
> Hello!
> 
> Bisected the following call trace on kernel boot with linux sparc64
> debian sid LDOM:
> 

Thank you, I'm on it.

Briefly looking it among these lines

static inline void uart_port_spin_lock_init(struct uart_port *port)
{
	- if (uart_console_enabled(port))
	+ if (uart_console(port))

which reveals an issue in the sparc code.

I'm going to look further into it...
One question below, though.

> ...
> [    1.722396] des_sparc64: Using sparc64 des opcodes optimized DES
> implementation
> [    2.256609] camellia_sparc64: Using sparc64 camellia opcodes
> optimized CAMELLIA implementation
> [    2.460130] workingset: timestamp_bits=46 max_order=23 bucket_order=0
> [    2.478401] zbud: loaded
> [    2.480698] SGI XFS with ACLs, security attributes, quota, fatal
> assert, debug enabled
> [    2.486675] *** VALIDATE xfs ***
> [    2.501604] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 252)
> [    2.502560] io scheduler mq-deadline registered
> [    2.505276] f029b788: ttyHV0 at I/O 0x0 (irq = 1, base_baud =
> 115200) is a SUN4V HCONS

Also, this is funny address. Can you elaborate how is this working?

> [    2.505359] INFO: trying to register non-static key.
> [    2.505365] the code is fine but needs lockdep annotation.
> [    2.505371] turning off the locking correctness validator.
> [    2.505380] CPU: 16 PID: 1 Comm: swapper/0 Not tainted
> 5.6.0-rc5-00128-ga3cb39d258ef #55
> [    2.505388] Call Trace:
> [    2.505402]  [00000000004dbbd8] register_lock_class+0x278/0x720
> [    2.505410]  [00000000004d8930] __lock_acquire+0x90/0x2520
> [    2.505416]  [00000000004db74c] lock_acquire+0x1ac/0x1e0
> [    2.505426]  [0000000000b86404] _raw_spin_lock_irqsave+0x44/0x60
> [    2.505439]  [000000000097245c] uart_add_one_port+0x35c/0x500
> [    2.505447]  [0000000000977ee4] hv_probe+0x144/0x200
> [    2.505455]  [00000000009888f4] platform_drv_probe+0x34/0xa0
> [    2.505462]  [0000000000986414] really_probe+0x214/0x460
> [    2.505468]  [0000000000986b7c] driver_probe_device+0xfc/0x140
> [    2.505475]  [0000000000986e5c] device_driver_attach+0x3c/0x60
> [    2.505481]  [0000000000986fc8] __driver_attach+0x148/0x160
> [    2.505488]  [0000000000984b04] bus_for_each_dev+0x44/0xa0
> [    2.505495]  [0000000000986ffc] driver_attach+0x1c/0x40
> [    2.505501]  [0000000000985184] bus_add_driver+0x124/0x220
> [    2.505507]  [00000000009877a4] driver_register+0xc4/0x120
> [    2.505514]  [0000000000988860] __platform_driver_register+0x40/0x60
> [    2.506081] printk: console [ttyHV0] enabled
> [    2.507815] sunvdc.c:v1.2 (November 24, 2014)
> [    2.509338] sunvdc: Virtual Hard disk vdiskc
> ...
> 
> 
> Can someone look why it is started to print stack trace?
> 
> Thanks.
> 
> Full boot log files are at https://github.com/mator/sparc64-dmesg/
> 
> Full bisect log:
> 
> mator@ttip:~/linux-2.6$ git bisect bad
> a3cb39d258efef830181606134cfb0f7babe8c8e is the first bad commit
> commit a3cb39d258efef830181606134cfb0f7babe8c8e
> Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Date:   Mon Feb 17 13:40:12 2020 +0200
> 
>     serial: core: Allow detach and attach serial device for console
> 
>     In the future we would like to disable power management on the
> serial devices
>     used as kernel consoles to avoid weird behaviour in some cases. However,
>     disabling PM may prevent system to go to deep sleep states, which
> in its turn
>     leads to the higher power consumption.
> 
>     Tony Lindgren proposed a work around, i.e. allow user to detach
> such consoles
>     to make PM working again. In case user wants to see what's going on, it also
>     provides a mechanism to attach console back.
> 
>     Link: https://lists.openwall.net/linux-kernel/2018/09/29/65
>     Suggested-by: Tony Lindgren <tony@xxxxxxxxxxx>
>     Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>     Link: https://lore.kernel.org/r/20200217114016.49856-3-andriy.shevchenko@xxxxxxxxxxxxxxx
>     Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
>  Documentation/ABI/testing/sysfs-tty |  7 +++++
>  drivers/tty/serial/serial_core.c    | 60 ++++++++++++++++++++++++++++++++++---
>  2 files changed, 63 insertions(+), 4 deletions(-)
> mator@ttip:~/linux-2.6$
> 
> 
> mator@ttip:~/linux-2.6$ git bisect log
> git bisect start
> # bad: [1a323ea5356edbb3073dc59d51b9e6b86908857d] x86: get rid of
> 'errret' argument to __get_user_xyz() macross
> git bisect bad 1a323ea5356edbb3073dc59d51b9e6b86908857d
> # good: [458ef2a25e0cbdc216012aa2b9cf549d64133b08] Merge tag
> 'x86-timers-2020-03-30' of
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
> git bisect good 458ef2a25e0cbdc216012aa2b9cf549d64133b08
> # good: [2efefb56f92689b2e216857834df69dd3ea47d2b] ice: use __le16
> types for explicitly Little Endian values
> git bisect good 2efefb56f92689b2e216857834df69dd3ea47d2b
> # bad: [1f944f976d7ef8a29d1ad296253d3a9387c58e62] Merge tag
> 'tty-5.7-rc1' of
> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
> git bisect bad 1f944f976d7ef8a29d1ad296253d3a9387c58e62
> # good: [15c981d16d70e8a5be297fa4af07a64ab7e080ed] Merge tag
> 'for-5.7-tag' of
> git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
> git bisect good 15c981d16d70e8a5be297fa4af07a64ab7e080ed
> # good: [dfabb077d62552797ca0ae7756cb30d3e195ead5] Merge tag
> 'mmc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
> git bisect good dfabb077d62552797ca0ae7756cb30d3e195ead5
> # good: [058bc104f7ca5c83d81695ee96f03dbd93bae518] serial: 8250:
> Generalize rs485 software emulation
> git bisect good 058bc104f7ca5c83d81695ee96f03dbd93bae518
> # good: [5f3a48132412123135595fcbb2a760cfe626f592] Merge branch
> 'for-5.7-console-exit' of
> git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk into
> tty-next
> git bisect good 5f3a48132412123135595fcbb2a760cfe626f592
> # bad: [4bcf59a5dea0f4e768e2b84fc78ce13a7fb27863] serial: 8250:
> 8250_omap: Account for data in flight during DMA teardown
> git bisect bad 4bcf59a5dea0f4e768e2b84fc78ce13a7fb27863
> # bad: [caa47cc639470485ee0ae3c76d56ccf4cfda2045] tty: nozomi: Use
> scnprintf() for avoiding potential buffer overflow
> git bisect bad caa47cc639470485ee0ae3c76d56ccf4cfda2045
> # bad: [630db5cbc7b444bf47cd717906abb092a2ab5724] tty: serial: Add
> CONSOLE_POLL support to SiFive UART
> git bisect bad 630db5cbc7b444bf47cd717906abb092a2ab5724
> # bad: [bedb404e91bb2908d9921fc736a518a9d89525fc] serial: 8250_port:
> Don't use power management for kernel console
> git bisect bad bedb404e91bb2908d9921fc736a518a9d89525fc
> # bad: [a3cb39d258efef830181606134cfb0f7babe8c8e] serial: core: Allow
> detach and attach serial device for console
> git bisect bad a3cb39d258efef830181606134cfb0f7babe8c8e
> # first bad commit: [a3cb39d258efef830181606134cfb0f7babe8c8e] serial:
> core: Allow detach and attach serial device for console

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux