All of lore.kernel.org
 help / color / mirror / Atom feed
* WARNING in input_mt_init_slots
@ 2021-01-10 23:30 ` syzbot
  0 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2021-01-10 23:30 UTC (permalink / raw)
  To: akpm, linux-kernel, linux-mm, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    f5e6c330 Merge tag 'spi-fix-v5.11-rc2' of git://git.kernel..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=121ca757500000
kernel config:  https://syzkaller.appspot.com/x/.config?x=8aa30b9da402d224
dashboard link: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5
compiler:       gcc (GCC) 10.1.0-syz 20200507
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=17eee7db500000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1456a0cf500000

Bisection is inconclusive: the issue happens on the oldest tested release.

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=10778f4f500000
final oops:     https://syzkaller.appspot.com/x/report.txt?x=12778f4f500000
console output: https://syzkaller.appspot.com/x/log.txt?x=14778f4f500000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com

------------[ cut here ]------------
WARNING: CPU: 1 PID: 8471 at mm/page_alloc.c:4976 __alloc_pages_nodemask+0x5f8/0x730 mm/page_alloc.c:5011
Modules linked in:
CPU: 1 PID: 8471 Comm: syz-executor772 Not tainted 5.11.0-rc2-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__alloc_pages_nodemask+0x5f8/0x730 mm/page_alloc.c:4976
Code: 00 00 0c 00 0f 85 a7 00 00 00 8b 3c 24 4c 89 f2 44 89 e6 c6 44 24 70 00 48 89 6c 24 58 e8 d0 d7 ff ff 49 89 c5 e9 ea fc ff ff <0f> 0b e9 b5 fd ff ff 89 74 24 14 4c 89 4c 24 08 4c 89 74 24 18 e8
RSP: 0018:ffffc900015efbb8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff920002bdf7b RCX: 0000000000000000
RDX: 0000000000000000 RSI: dffffc0000000000 RDI: 0000000000040dc0
RBP: 0000000000040dc0 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff81b1f7e1 R11: 0000000000000000 R12: 000000000000000b
R13: 000000000000000b R14: 0000000000000000 R15: ffff888025a36168
FS:  00000000006fc880(0000) GS:ffff8880b9f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 0000000012990000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 alloc_pages_current+0x18c/0x2a0 mm/mempolicy.c:2267
 alloc_pages include/linux/gfp.h:547 [inline]
 kmalloc_order+0x2e/0xb0 mm/slab_common.c:837
 kmalloc_order_trace+0x14/0x120 mm/slab_common.c:853
 kmalloc include/linux/slab.h:557 [inline]
 kzalloc include/linux/slab.h:682 [inline]
 input_mt_init_slots drivers/input/input-mt.c:49 [inline]
 input_mt_init_slots+0xd9/0x5f0 drivers/input/input-mt.c:38
 uinput_create_device drivers/input/misc/uinput.c:327 [inline]
 uinput_ioctl_handler.isra.0+0x81d/0x1dc0 drivers/input/misc/uinput.c:870
 vfs_ioctl fs/ioctl.c:48 [inline]
 __do_sys_ioctl fs/ioctl.c:753 [inline]
 __se_sys_ioctl fs/ioctl.c:739 [inline]
 __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:739
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x440e99
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffc567274b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440e99
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000003
RBP: 00000000006cb018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000246 R12: 00000000004026a0
R13: 0000000000402730 R14: 0000000000000000 R15: 0000000000000000


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches

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

* WARNING in input_mt_init_slots
@ 2021-01-10 23:30 ` syzbot
  0 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2021-01-10 23:30 UTC (permalink / raw)
  To: akpm, linux-kernel, linux-mm, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    f5e6c330 Merge tag 'spi-fix-v5.11-rc2' of git://git.kernel..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=121ca757500000
kernel config:  https://syzkaller.appspot.com/x/.config?x=8aa30b9da402d224
dashboard link: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5
compiler:       gcc (GCC) 10.1.0-syz 20200507
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=17eee7db500000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1456a0cf500000

Bisection is inconclusive: the issue happens on the oldest tested release.

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=10778f4f500000
final oops:     https://syzkaller.appspot.com/x/report.txt?x=12778f4f500000
console output: https://syzkaller.appspot.com/x/log.txt?x=14778f4f500000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com

------------[ cut here ]------------
WARNING: CPU: 1 PID: 8471 at mm/page_alloc.c:4976 __alloc_pages_nodemask+0x5f8/0x730 mm/page_alloc.c:5011
Modules linked in:
CPU: 1 PID: 8471 Comm: syz-executor772 Not tainted 5.11.0-rc2-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__alloc_pages_nodemask+0x5f8/0x730 mm/page_alloc.c:4976
Code: 00 00 0c 00 0f 85 a7 00 00 00 8b 3c 24 4c 89 f2 44 89 e6 c6 44 24 70 00 48 89 6c 24 58 e8 d0 d7 ff ff 49 89 c5 e9 ea fc ff ff <0f> 0b e9 b5 fd ff ff 89 74 24 14 4c 89 4c 24 08 4c 89 74 24 18 e8
RSP: 0018:ffffc900015efbb8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff920002bdf7b RCX: 0000000000000000
RDX: 0000000000000000 RSI: dffffc0000000000 RDI: 0000000000040dc0
RBP: 0000000000040dc0 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff81b1f7e1 R11: 0000000000000000 R12: 000000000000000b
R13: 000000000000000b R14: 0000000000000000 R15: ffff888025a36168
FS:  00000000006fc880(0000) GS:ffff8880b9f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 0000000012990000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 alloc_pages_current+0x18c/0x2a0 mm/mempolicy.c:2267
 alloc_pages include/linux/gfp.h:547 [inline]
 kmalloc_order+0x2e/0xb0 mm/slab_common.c:837
 kmalloc_order_trace+0x14/0x120 mm/slab_common.c:853
 kmalloc include/linux/slab.h:557 [inline]
 kzalloc include/linux/slab.h:682 [inline]
 input_mt_init_slots drivers/input/input-mt.c:49 [inline]
 input_mt_init_slots+0xd9/0x5f0 drivers/input/input-mt.c:38
 uinput_create_device drivers/input/misc/uinput.c:327 [inline]
 uinput_ioctl_handler.isra.0+0x81d/0x1dc0 drivers/input/misc/uinput.c:870
 vfs_ioctl fs/ioctl.c:48 [inline]
 __do_sys_ioctl fs/ioctl.c:753 [inline]
 __se_sys_ioctl fs/ioctl.c:739 [inline]
 __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:739
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x440e99
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffc567274b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440e99
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000003
RBP: 00000000006cb018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000246 R12: 00000000004026a0
R13: 0000000000402730 R14: 0000000000000000 R15: 0000000000000000


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches


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

* [PATCH] Input: MT - use __GFP_NOWARN allocation at input_mt_init_slots()
  2021-01-10 23:30 ` syzbot
  (?)
@ 2022-11-19  7:09 ` Tetsuo Handa
  2022-11-22 23:23   ` Dmitry Torokhov
  -1 siblings, 1 reply; 7+ messages in thread
From: Tetsuo Handa @ 2022-11-19  7:09 UTC (permalink / raw)
  To: Henrik Rydberg, Dmitry Torokhov; +Cc: syzkaller-bugs, syzbot, akpm, linux-input

syzbot is reporting too large allocation at input_mt_init_slots() {1], for
num_slots is supplied from userspace using ioctl(UI_DEV_CREATE).
Also, replace n2 with array_size(), for 32bits variable n2 will overflow
if num_slots >= 65536.

Link: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5 [1]
Reported-by: syzbot <syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
 drivers/input/input-mt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index 14b53dac1253..cf74579462ba 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -47,7 +47,7 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
 	if (mt)
 		return mt->num_slots != num_slots ? -EINVAL : 0;
 
-	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL);
+	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL | __GFP_NOWARN);
 	if (!mt)
 		goto err_mem;
 
@@ -80,8 +80,8 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
 	if (flags & INPUT_MT_SEMI_MT)
 		__set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
 	if (flags & INPUT_MT_TRACK) {
-		unsigned int n2 = num_slots * num_slots;
-		mt->red = kcalloc(n2, sizeof(*mt->red), GFP_KERNEL);
+		mt->red = kcalloc(array_size(num_slots, num_slots),
+				  sizeof(*mt->red), GFP_KERNEL | __GFP_NOWARN);
 		if (!mt->red)
 			goto err_mem;
 	}
-- 
2.34.1



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

* Re: [PATCH] Input: MT - use __GFP_NOWARN allocation at input_mt_init_slots()
  2022-11-19  7:09 ` [PATCH] Input: MT - use __GFP_NOWARN allocation at input_mt_init_slots() Tetsuo Handa
@ 2022-11-22 23:23   ` Dmitry Torokhov
  2022-11-23  0:28     ` Tetsuo Handa
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Torokhov @ 2022-11-22 23:23 UTC (permalink / raw)
  To: Tetsuo Handa; +Cc: Henrik Rydberg, syzkaller-bugs, syzbot, akpm, linux-input

Hi Tetsuo,

On Sat, Nov 19, 2022 at 04:09:56PM +0900, Tetsuo Handa wrote:
> syzbot is reporting too large allocation at input_mt_init_slots() {1], for
> num_slots is supplied from userspace using ioctl(UI_DEV_CREATE).
> Also, replace n2 with array_size(), for 32bits variable n2 will overflow
> if num_slots >= 65536.

Not really keen on fiddling with the memory allocator flags just to
appease syzbot. Maybe keep them as is, and simply limit the number of
slots to something more reasonable, like 64, and return -EINVAL if it is
above?

> 
> Link: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5 [1]
> Reported-by: syzbot <syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com>
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
>  drivers/input/input-mt.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
> index 14b53dac1253..cf74579462ba 100644
> --- a/drivers/input/input-mt.c
> +++ b/drivers/input/input-mt.c
> @@ -47,7 +47,7 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
>  	if (mt)
>  		return mt->num_slots != num_slots ? -EINVAL : 0;
>  
> -	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL);
> +	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL | __GFP_NOWARN);
>  	if (!mt)
>  		goto err_mem;
>  
> @@ -80,8 +80,8 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
>  	if (flags & INPUT_MT_SEMI_MT)
>  		__set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
>  	if (flags & INPUT_MT_TRACK) {
> -		unsigned int n2 = num_slots * num_slots;
> -		mt->red = kcalloc(n2, sizeof(*mt->red), GFP_KERNEL);
> +		mt->red = kcalloc(array_size(num_slots, num_slots),
> +				  sizeof(*mt->red), GFP_KERNEL | __GFP_NOWARN);
>  		if (!mt->red)
>  			goto err_mem;
>  	}
> -- 
> 2.34.1
> 
> 

Thanks.

-- 
Dmitry

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

* Re: [PATCH] Input: MT - use __GFP_NOWARN allocation at input_mt_init_slots()
  2022-11-22 23:23   ` Dmitry Torokhov
@ 2022-11-23  0:28     ` Tetsuo Handa
  2024-04-27 11:15       ` [PATCH v2] Input: MT - limit max slots Tetsuo Handa
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuo Handa @ 2022-11-23  0:28 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Henrik Rydberg, syzkaller-bugs, syzbot, akpm, linux-input

On 2022/11/23 8:23, Dmitry Torokhov wrote:
> Hi Tetsuo,
> 
> On Sat, Nov 19, 2022 at 04:09:56PM +0900, Tetsuo Handa wrote:
>> syzbot is reporting too large allocation at input_mt_init_slots() {1], for
>> num_slots is supplied from userspace using ioctl(UI_DEV_CREATE).
>> Also, replace n2 with array_size(), for 32bits variable n2 will overflow
>> if num_slots >= 65536.
> 
> Not really keen on fiddling with the memory allocator flags just to
> appease syzbot. Maybe keep them as is, and simply limit the number of
> slots to something more reasonable, like 64, and return -EINVAL if it is
> above?
> 

Hmm, although most users seem to pass values within "unsigned char" range,
not limited to syzbot.

drivers/input/misc/uinput.c has

	nslot = input_abs_get_max(dev, ABS_MT_SLOT) + 1;
	error = input_mt_init_slots(dev, nslot, 0);

and drivers/virtio/virtio_input.c has

	nslots = input_abs_get_max(vi->idev, ABS_MT_SLOT) + 1;
	err = input_mt_init_slots(vi->idev, nslots, 0);

and drivers/input/misc/xen-kbdfront.c has

	int num_cont, width, height;
	num_cont = xenbus_read_unsigned(info->xbdev->otherend,
					XENKBD_FIELD_MT_NUM_CONTACTS,
					1);
	ret = input_mt_init_slots(mtouch, num_cont, INPUT_MT_DIRECT);

. Since these users might need to pass values beyond "unsigned char" range,
I think we should not limit to too small values like 64.

More worrisome thing is that several users are not handling
input_mt_init_slots() failures.



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

* [PATCH v2] Input: MT - limit max slots
  2022-11-23  0:28     ` Tetsuo Handa
@ 2024-04-27 11:15       ` Tetsuo Handa
  0 siblings, 0 replies; 7+ messages in thread
From: Tetsuo Handa @ 2024-04-27 11:15 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg; +Cc: syzkaller-bugs, syzbot, akpm, linux-input

syzbot is reporting too large allocation at input_mt_init_slots(), for
num_slots is supplied from userspace using ioctl(UI_DEV_CREATE).

Since nobody knows possible max slots, this patch chose 1024.

Reported-by: syzbot <syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5
Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
Changes in v2:
  Limit max slots instead of using __GFP_NOWARN.

 drivers/input/input-mt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index 14b53dac1253..6b04a674f832 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -46,6 +46,9 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
 		return 0;
 	if (mt)
 		return mt->num_slots != num_slots ? -EINVAL : 0;
+	/* Arbitrary limit for avoiding too large memory allocation. */
+	if (num_slots > 1024)
+		return -EINVAL;
 
 	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL);
 	if (!mt)
-- 
2.18.4


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

* WARNING in input_mt_init_slots
@ 2023-08-15  6:01 Yikebaer Aizezi
  0 siblings, 0 replies; 7+ messages in thread
From: Yikebaer Aizezi @ 2023-08-15  6:01 UTC (permalink / raw)
  To: akpm, linux-mm, linux-kernel

Hello,

When using Healer to fuzz the Latest Linux-6.5-rc6,  the following crash
was triggered.

HEAD commit: 2ccdd1b13c591d306f0401d98dedc4bdcd02b421 (tag: v6.5-rc6)
git tree: upstream

console output:
https://drive.google.com/file/d/1p6sC8jhTxlxT-anHvbhNJ-rihKofu0uy/view?usp=drive_link
kernel config:https://drive.google.com/file/d/1RP3sNB7CaYM2oxrf7v0Bp4j34XDtxHzZ/view?usp=drive_link
C reproducer:https://drive.google.com/file/d/1P3pPooAd9imQiZmFfpA3IpS40ppnCabP/view?usp=drive_link
Syzlang reproducer:
https://drive.google.com/file/d/1HzcnS72ho_yC8oh8Ax4nSRC6JfJ6hpaY/view?usp=drive_link


If you fix this issue, please add the following tag to the commit:
Reported-by: Yikebaer Aizezi <yikebaer61@gmail.com>

------------[ cut here ]------------
WARNING: CPU: 1 PID: 8390 at mm/page_alloc.c:4453
__alloc_pages+0x39e/0x490 mm/page_alloc.c:4453
Modules linked in:
CPU: 1 PID: 8390 Comm: syz-executor Not tainted 6.5.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:__alloc_pages+0x39e/0x490 mm/page_alloc.c:4453
Code: ff ff 00 0f 84 33 fe ff ff 80 ce 01 e9 2b fe ff ff 83 fe 0a 0f
86 3e fd ff ff 80 3d 39 b4 3a 0c 00 75 09 c6 05 30 b4 3a 0c 01 <0f> 0b
45 31 f6 e9 97 fe ff ff e8 43 59 a4 ff 84 c0 0f 85 8a fe ff
RSP: 0018:ffffc90004a1fbb0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff92000943f77 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000014 RDI: 0000000000000000
RBP: 0000000000040dc0 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000002000001 R11: 0000000000000001 R12: 0000000000000014
R13: 0000000000000000 R14: 0000000000040dc0 R15: 0000000000000001
FS:  00007f0f55f7d640(0000) GS:ffff888135c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0f54fc5b9c CR3: 000000010fc79000 CR4: 0000000000750ee0
PKRU: 55555554
Call Trace:
 <TASK>
 __alloc_pages_node include/linux/gfp.h:237 [inline]
 alloc_pages_node include/linux/gfp.h:260 [inline]
 __kmalloc_large_node+0x94/0x1d0 mm/slab_common.c:1126
 __do_kmalloc_node mm/slab_common.c:973 [inline]
 __kmalloc+0x100/0x190 mm/slab_common.c:998
 kmalloc include/linux/slab.h:586 [inline]
 kzalloc include/linux/slab.h:703 [inline]
 input_mt_init_slots drivers/input/input-mt.c:50 [inline]
 input_mt_init_slots+0xd9/0x570 drivers/input/input-mt.c:39
 uinput_create_device drivers/input/misc/uinput.c:328 [inline]
 uinput_ioctl_handler.isra.0+0x16a2/0x1cf0 drivers/input/misc/uinput.c:904
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __x64_sys_ioctl+0x199/0x210 fs/ioctl.c:856
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f0f54e9442d
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 b4 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f0f55f7d048 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f0f54fcc0a0 RCX: 00007f0f54e9442d
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000006
RBP: 00007f0f54f014b8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f0f54f00b51
R13: 000000000000000b R14: 00007f0f54fcc0a0 R15: 00007f0f55f5d000
 </TASK>

Modules linked in:
CPU: 1 PID: 8390 Comm: syz-executor Not tainted 6.5.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:__alloc_pages+0x39e/0x490 mm/page_alloc.c:4453
Code: ff ff 00 0f 84 33 fe ff ff 80 ce 01 e9 2b fe ff ff 83 fe 0a 0f
86 3e fd ff ff 80 3d 39 b4 3a 0c 00 75 09 c6 05 30 b4 3a 0c 01 <0f> 0b
45 31 f6 e9 97 fe ff ff e8 43 59 a4 ff 84 c0 0f 85 8a fe ff
RSP: 0018:ffffc90004a1fbb0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff92000943f77 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000014 RDI: 0000000000000000
RBP: 0000000000040dc0 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000002000001 R11: 0000000000000001 R12: 0000000000000014
R13: 0000000000000000 R14: 0000000000040dc0 R15: 0000000000000001
FS:  00007f0f55f7d640(0000) GS:ffff888135c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0f54fc5b9c CR3: 000000010fc79000 CR4: 0000000000750ee0
PKRU: 55555554
Call Trace:
 <TASK>
 __alloc_pages_node include/linux/gfp.h:237 [inline]
 alloc_pages_node include/linux/gfp.h:260 [inline]
 __kmalloc_large_node+0x94/0x1d0 mm/slab_common.c:1126
 __do_kmalloc_node mm/slab_common.c:973 [inline]
 __kmalloc+0x100/0x190 mm/slab_common.c:998
 kmalloc include/linux/slab.h:586 [inline]
 kzalloc include/linux/slab.h:703 [inline]
 input_mt_init_slots drivers/input/input-mt.c:50 [inline]
 input_mt_init_slots+0xd9/0x570 drivers/input/input-mt.c:39
 uinput_create_device drivers/input/misc/uinput.c:328 [inline]
 uinput_ioctl_handler.isra.0+0x16a2/0x1cf0 drivers/input/misc/uinput.c:904
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __x64_sys_ioctl+0x199/0x210 fs/ioctl.c:856
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f0f54e9442d
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 b4 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f0f55f7d048 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f0f54fcc0a0 RCX: 00007f0f54e9442d
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000006
RBP: 00007f0f54f014b8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f0f54f00b51
R13: 000000000000000b R14: 00007f0f54fcc0a0 R15: 00007f0f55f5d000
 </TASK>
Kernel panic - not syncing: kernel: panic_on_warn set ...
CPU: 1 PID: 8390 Comm: syz-executor Not tainted 6.5.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd5/0x150 lib/dump_stack.c:106
 panic+0x67e/0x730 kernel/panic.c:340
 check_panic_on_warn+0xad/0xb0 kernel/panic.c:236
 __warn+0xee/0x390 kernel/panic.c:673
 __report_bug lib/bug.c:199 [inline]
 report_bug+0x2d9/0x500 lib/bug.c:219
 handle_bug+0x3c/0x70 arch/x86/kernel/traps.c:326
 exc_invalid_op+0x14/0x40 arch/x86/kernel/traps.c:347
 asm_exc_invalid_op+0x16/0x20 arch/x86/include/asm/idtentry.h:568
RIP: 0010:__alloc_pages+0x39e/0x490 mm/page_alloc.c:4453
Code: ff ff 00 0f 84 33 fe ff ff 80 ce 01 e9 2b fe ff ff 83 fe 0a 0f
86 3e fd ff ff 80 3d 39 b4 3a 0c 00 75 09 c6 05 30 b4 3a 0c 01 <0f> 0b
45 31 f6 e9 97 fe ff ff e8 43 59 a4 ff 84 c0 0f 85 8a fe ff
RSP: 0018:ffffc90004a1fbb0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff92000943f77 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000014 RDI: 0000000000000000
RBP: 0000000000040dc0 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000002000001 R11: 0000000000000001 R12: 0000000000000014
R13: 0000000000000000 R14: 0000000000040dc0 R15: 0000000000000001
 __alloc_pages_node include/linux/gfp.h:237 [inline]
 alloc_pages_node include/linux/gfp.h:260 [inline]
 __kmalloc_large_node+0x94/0x1d0 mm/slab_common.c:1126
 __do_kmalloc_node mm/slab_common.c:973 [inline]
 __kmalloc+0x100/0x190 mm/slab_common.c:998
 kmalloc include/linux/slab.h:586 [inline]
 kzalloc include/linux/slab.h:703 [inline]
 input_mt_init_slots drivers/input/input-mt.c:50 [inline]
 input_mt_init_slots+0xd9/0x570 drivers/input/input-mt.c:39
 uinput_create_device drivers/input/misc/uinput.c:328 [inline]
 uinput_ioctl_handler.isra.0+0x16a2/0x1cf0 drivers/input/misc/uinput.c:904
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __x64_sys_ioctl+0x199/0x210 fs/ioctl.c:856
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f0f54e9442d
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 b4 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f0f55f7d048 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f0f54fcc0a0 RCX: 00007f0f54e9442d
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000006
RBP: 00007f0f54f014b8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f0f54f00b51
R13: 000000000000000b R14: 00007f0f54fcc0a0 R15: 00007f0f55f5d000
 </TASK>
Dumping ftrace buffer:
   (ftrace buffer empty)
Kernel Offset: disabled
Rebooting in 1 seconds..

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

end of thread, other threads:[~2024-04-27 11:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-10 23:30 WARNING in input_mt_init_slots syzbot
2021-01-10 23:30 ` syzbot
2022-11-19  7:09 ` [PATCH] Input: MT - use __GFP_NOWARN allocation at input_mt_init_slots() Tetsuo Handa
2022-11-22 23:23   ` Dmitry Torokhov
2022-11-23  0:28     ` Tetsuo Handa
2024-04-27 11:15       ` [PATCH v2] Input: MT - limit max slots Tetsuo Handa
2023-08-15  6:01 WARNING in input_mt_init_slots Yikebaer Aizezi

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.