2020-11-09 06:17:52

by Oliver Sang

[permalink] [raw]
Subject: [auxdisplay] b26deabb1d: BUG:kernel_NULL_pointer_dereference,address

Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: b26deabb1d915fe87d395081bbd3058b938dee89 ("auxdisplay: hd44780_common_print")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master


in testcase: trinity
version: trinity-i386
with following parameters:

runtime: 300s

test-description: Trinity is a linux system call fuzz tester.
test-url: http://codemonkey.org.uk/projects/trinity/


on test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 8G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+----------------------------------------------------------------------------+------------+------------+
| | 11588b59cf | b26deabb1d |
+----------------------------------------------------------------------------+------------+------------+
| BUG:kernel_NULL_pointer_dereference,address | 0 | 20 |
| Oops:#[##] | 0 | 20 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 20 |
+----------------------------------------------------------------------------+------------+------------+


If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>


[ 6.798731] BUG: kernel NULL pointer dereference, address: 00000000
[ 6.798780] #PF: supervisor read access in kernel mode
[ 6.798780] #PF: error_code(0x0000) - not-present page
[ 6.798780] *pde = 00000000
[ 6.798780] Oops: 0000 [#1]
[ 6.798780] CPU: 0 PID: 1 Comm: swapper Tainted: G S 5.10.0-rc2-00008-gb26deabb1d91 #1
[ 6.798780] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ 6.798780] EIP: 0x0
[ 6.798780] Code: Unable to access opcode bytes at RIP 0xffffffd6.
[ 6.798780] EAX: c689ea00 EBX: c689ea00 ECX: c2aba7ec EDX: 0000004c
[ 6.798780] ESI: c69ab120 EDI: c320980d EBP: c4b67e44 ESP: c4b67e3c
[ 6.798780] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00010246
[ 6.798780] CR0: 80050033 CR2: ffffffd6 CR3: 039df000 CR4: 000406d0
[ 6.798780] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 6.798780] DR6: fffe0ff0 DR7: 00000400
[ 6.798780] Call Trace:
[ 6.798780] charlcd_print+0x1d/0x60
[ 6.798780] charlcd_write_char+0xd2/0x220
[ 6.798780] charlcd_puts+0x2b/0x60
[ 6.798780] charlcd_register+0x94/0xe0
[ 6.798780] ? parport_irq_handler+0x60/0x60
[ 6.798780] panel_attach+0xb3/0x420
[ 6.798780] ? mark_held_locks+0x3e/0x80
[ 6.798780] ? parport_irq_handler+0x60/0x60
[ 6.798780] port_check+0x19/0x20
[ 6.798780] bus_for_each_dev+0x49/0x80
[ 6.798780] __parport_register_driver+0x7a/0xa0
[ 6.798780] ? parport_irq_handler+0x60/0x60
[ 6.798780] ? ht16k33_driver_init+0x11/0x11
[ 6.798780] panel_init_module+0x1a6/0x1ee
[ 6.798780] do_one_initcall+0x5e/0x240
[ 6.798780] ? parse_args+0x151/0x280
[ 6.798780] ? rcu_read_lock_sched_held+0x1b/0x40
[ 6.798780] ? trace_initcall_level+0x4d/0x74
[ 6.798780] do_initcalls+0xaa/0xc9
[ 6.798780] kernel_init_freeable+0x81/0xab
[ 6.798780] ? rest_init+0x10d/0x10d
[ 6.798780] kernel_init+0x8/0xf3
[ 6.798780] ret_from_fork+0x19/0x30
[ 6.798780] Modules linked in:
[ 6.798780] CR2: 0000000000000000
[ 6.798780] ---[ end trace b407eb061aec0003 ]---


To reproduce:

# build kernel
cd linux
cp config-5.10.0-rc2-00008-gb26deabb1d91 .config
make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare modules_prepare bzImage

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
Oliver Sang


Attachments:
(No filename) (3.92 kB)
config-5.10.0-rc2-00008-gb26deabb1d91 (151.83 kB)
job-script (4.32 kB)
dmesg.xz (13.73 kB)
Download all attachments

2020-11-09 12:44:23

by Lars Poeschel

[permalink] [raw]
Subject: Re: [auxdisplay] b26deabb1d: BUG:kernel_NULL_pointer_dereference,address

Hi!

And thanks for your report.

On Mon, Nov 09, 2020 at 02:29:34PM +0800, kernel test robot wrote:

> To reproduce:
>
> # build kernel
> cd linux
> cp config-5.10.0-rc2-00008-gb26deabb1d91 .config
> make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare modules_prepare bzImage
>
> git clone https://github.com/intel/lkp-tests.git
> cd lkp-tests
> bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email

Trying to reproduce your issue:

LANG=C bin/lkp qemu -k ~/projekte/linux-stable/arch/x86_64/boot/bzImage /tmp/job-script
result_root: /home/larsi/.lkp//result/trinity/300s/vm-snb-i386/yocto-i386-minimal-20190520.cgz/i386-randconfig-a002-20201105/gcc-9/b26deabb1d915fe87d395081bbd3058b938dee89/6
downloading initrds ...
/usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8 https://download.01.org/0day-ci/lkp-qemu/osimage/yocto/yocto-i386-minimal-20190520.cgz -N -P /home/larsi/.lkp/cache/osimage/yocto
17916 blocks
/usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8 https://download.01.org/0day-ci/lkp-qemu/osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-i386.cgz -N -P /home/larsi/.lkp/cache/osimage/pkg/yocto-i386-minimal-20190520.cgz
Failed to download osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-i386.cgz

It seems, that the trinity-i386.cgz file is not downloadable. Using a
webbrowser I can see an empty directory.
Can you help please ?

Thanks,
Lars

2020-11-12 13:31:56

by Oliver Sang

[permalink] [raw]
Subject: RE: [LKP] Re: [auxdisplay] b26deabb1d: BUG:kernel_NULL_pointer_dereference,address



> -----Original Message-----
> From: Lars Poeschel <[email protected]>
> Sent: Monday, November 9, 2020 8:40 PM
> To: Sang, Oliver <[email protected]>
> Cc: Miguel Ojeda <[email protected]>; lkp <[email protected]>; Willy Tarreau
> <[email protected]>; LKML <[email protected]>; Linux Memory
> Management List <[email protected]>; [email protected]
> Subject: [LKP] Re: [auxdisplay] b26deabb1d:
> BUG:kernel_NULL_pointer_dereference,address
>
> Hi!
>
> And thanks for your report.
>
> On Mon, Nov 09, 2020 at 02:29:34PM +0800, kernel test robot wrote:
>
> > To reproduce:
> >
> > # build kernel
> > cd linux
> > cp config-5.10.0-rc2-00008-gb26deabb1d91 .config
> > make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare
> > modules_prepare bzImage
> >
> > git clone https://github.com/intel/lkp-tests.git
> > cd lkp-tests
> > bin/lkp qemu -k <bzImage> job-script # job-script is attached
> > in this email
>
> Trying to reproduce your issue:
>
> LANG=C bin/lkp qemu -k ~/projekte/linux-stable/arch/x86_64/boot/bzImage
> /tmp/job-script
> result_root: /home/larsi/.lkp//result/trinity/300s/vm-snb-i386/yocto-i386-
> minimal-20190520.cgz/i386-randconfig-a002-20201105/gcc-
> 9/b26deabb1d915fe87d395081bbd3058b938dee89/6
> downloading initrds ...
> /usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8
> https://download.01.org/0day-ci/lkp-qemu/osimage/yocto/yocto-i386-
> minimal-20190520.cgz -N -P /home/larsi/.lkp/cache/osimage/yocto
> 17916 blocks
> /usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8
> https://download.01.org/0day-ci/lkp-qemu/osimage/pkg/yocto-i386-minimal-
> 20190520.cgz/trinity-i386.cgz -N -P /home/larsi/.lkp/cache/osimage/pkg/yocto-
> i386-minimal-20190520.cgz
> Failed to download osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-
> i386.cgz
>
> It seems, that the trinity-i386.cgz file is not downloadable. Using a webbrowser I
> can see an empty directory.
> Can you help please ?

sorry for this. just uploaded. https://download.01.org/0day-ci/lkp-qemu/osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-i386.cgz
could you try again?

>
> Thanks,
> Lars
> _______________________________________________
> LKP mailing list -- [email protected]
> To unsubscribe send an email to [email protected]

2020-11-16 10:08:37

by Lars Poeschel

[permalink] [raw]
Subject: Re: [LKP] Re: [auxdisplay] b26deabb1d: BUG:kernel_NULL_pointer_dereference,address

On Thu, Nov 12, 2020 at 01:29:31PM +0000, Sang, Oliver wrote:
>
>
> > -----Original Message-----
> > From: Lars Poeschel <[email protected]>
> > Sent: Monday, November 9, 2020 8:40 PM
> > To: Sang, Oliver <[email protected]>
> > Cc: Miguel Ojeda <[email protected]>; lkp <[email protected]>; Willy Tarreau
> > <[email protected]>; LKML <[email protected]>; Linux Memory
> > Management List <[email protected]>; [email protected]
> > Subject: [LKP] Re: [auxdisplay] b26deabb1d:
> > BUG:kernel_NULL_pointer_dereference,address
> >
> > Hi!
> >
> > And thanks for your report.
> >
> > On Mon, Nov 09, 2020 at 02:29:34PM +0800, kernel test robot wrote:
> >
> > > To reproduce:
> > >
> > > # build kernel
> > > cd linux
> > > cp config-5.10.0-rc2-00008-gb26deabb1d91 .config
> > > make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare
> > > modules_prepare bzImage
> > >
> > > git clone https://github.com/intel/lkp-tests.git
> > > cd lkp-tests
> > > bin/lkp qemu -k <bzImage> job-script # job-script is attached
> > > in this email
> >
> > Trying to reproduce your issue:
> >
> > LANG=C bin/lkp qemu -k ~/projekte/linux-stable/arch/x86_64/boot/bzImage
> > /tmp/job-script
> > result_root: /home/larsi/.lkp//result/trinity/300s/vm-snb-i386/yocto-i386-
> > minimal-20190520.cgz/i386-randconfig-a002-20201105/gcc-
> > 9/b26deabb1d915fe87d395081bbd3058b938dee89/6
> > downloading initrds ...
> > /usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8
> > https://download.01.org/0day-ci/lkp-qemu/osimage/yocto/yocto-i386-
> > minimal-20190520.cgz -N -P /home/larsi/.lkp/cache/osimage/yocto
> > 17916 blocks
> > /usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8
> > https://download.01.org/0day-ci/lkp-qemu/osimage/pkg/yocto-i386-minimal-
> > 20190520.cgz/trinity-i386.cgz -N -P /home/larsi/.lkp/cache/osimage/pkg/yocto-
> > i386-minimal-20190520.cgz
> > Failed to download osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-
> > i386.cgz
> >
> > It seems, that the trinity-i386.cgz file is not downloadable. Using a webbrowser I
> > can see an empty directory.
> > Can you help please ?
>
> sorry for this. just uploaded. https://download.01.org/0day-ci/lkp-qemu/osimage/pkg/yocto-i386-minimal-20190520.cgz/trinity-i386.cgz
> could you try again?

It is working now and I can reproduce the error.
Thank you!

2020-11-16 14:44:35

by Oliver Sang

[permalink] [raw]
Subject: RE: [LKP] Re: [auxdisplay] b26deabb1d: BUG:kernel_NULL_pointer_dereference,address

>
> It is working now and I can reproduce the error.
> Thank you!

you are welcome

2020-11-16 20:12:31

by Lars Poeschel

[permalink] [raw]
Subject: [PATCH] auxdisplay: panel: Fix missing print function pointer

From: Lars Poeschel <[email protected]>

charlcd drivers need to provide some print function to charlcd. For
hd44780 based panel driver this function was missing. We provide the
generic hd44780_common_print function which should be suitable.

Fixes: b26deabb1d915fe87d395081bbd3058b938dee89 ("auxdisplay: hd44780_common_print")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Lars Poeschel <[email protected]>
---
drivers/auxdisplay/panel.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c
index e07fadac281d..36848e464d1f 100644
--- a/drivers/auxdisplay/panel.c
+++ b/drivers/auxdisplay/panel.c
@@ -810,6 +810,7 @@ static void lcd_write_data_tilcd(struct hd44780_common *hdc, int data)

static const struct charlcd_ops charlcd_serial_ops = {
.backlight = lcd_backlight,
+ .print = hd44780_common_print,
.gotoxy = hd44780_common_gotoxy,
.home = hd44780_common_home,
.clear_display = hd44780_common_clear_display,
@@ -826,6 +827,7 @@ static const struct charlcd_ops charlcd_serial_ops = {

static const struct charlcd_ops charlcd_parallel_ops = {
.backlight = lcd_backlight,
+ .print = hd44780_common_print,
.gotoxy = hd44780_common_gotoxy,
.home = hd44780_common_home,
.clear_display = hd44780_common_clear_display,
@@ -842,6 +844,7 @@ static const struct charlcd_ops charlcd_parallel_ops = {

static const struct charlcd_ops charlcd_tilcd_ops = {
.backlight = lcd_backlight,
+ .print = hd44780_common_print,
.gotoxy = hd44780_common_gotoxy,
.home = hd44780_common_home,
.clear_display = hd44780_common_clear_display,
--
2.29.2