Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

warning in mptcp_reset_timer() with mptcp_connect.sh -m mmap #105

Closed
matttbe opened this issue Nov 2, 2020 · 4 comments
Closed

warning in mptcp_reset_timer() with mptcp_connect.sh -m mmap #105

matttbe opened this issue Nov 2, 2020 · 4 comments
Labels

Comments

@matttbe
Copy link
Member

matttbe commented Nov 2, 2020

My CI found a warning in mptcp_reset_timer() when running mptcp_connect.sh -m mmap without a debug kernel (without KASAN, PROVE_LOCK, etc.):

+ ./mptcp_connect.sh -m mmap
IPv6: ADDRCONF(NETDEV_CHANGE): ns1eth2: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): ns2eth3: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): ns3eth4: link becomes ready
# INFO: set ns3-5f9e56f0-o9OIym dev ns3eth2: ethtool -K  gro off
# Created /tmp/tmp.wpkjdO4rmN (size 4092956	/tmp/tmp.wpkjdO4rmN) containing data sent by client
# Created /tmp/tmp.5dZsvsPHay (size 1203228	/tmp/tmp.5dZsvsPHay) containing data sent by server
# New MPTCP socket can be blocked via sysctl		[ OK ]
# setsockopt(..., TCP_ULP, "mptcp", ...) blocked	[ OK ]
# INFO: validating network environment with pings
# INFO: Using loss of 0.19% delay 15 ms reorder 94% 3% with delay 3ms on ns3eth4
# INFO: extra options:  -m mmap
# ns1 MPTCP -> ns1 (10.0.1.1:10000      ) MPTCP	(duration   237ms) [ OK ]
# ns1 MPTCP -> ns1 (10.0.1.1:10001      ) TCP  	(duration    73ms) [ OK ]
# ns1 MPTCP -> ns1 (10.0.1.1:10001      ) TCP  	(duration    73ms) [ OK ]
# ns1 TCP   -> ns1 (10.0.1.1:10002      ) MPTCP	(duration    27ms) [ OK ]
# ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP	(duration   423ms) [ OK ]
# ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP  	(duration    70ms) [ OK ]
# ns1 TCP   -> ns1 (dead:beef:1::1:10005) MPTCP	(duration    27ms) [ OK ]
# ns1 MPTCP -> ns2 (10.0.1.2:10006      ) MPTCP	(duration   347ms) [ OK ]
# ns1 MPTCP -> ns2 (dead:beef:1::2:10007) MPTCP	(duration   434ms) [ OK ]
# ns1 MPTCP -> ns2 (10.0.2.1:10008      ) MPTCP	(duration   398ms) [ OK ]
# ns1 MPTCP -> ns2 (dead:beef:2::1:10009) MPTCP	(duration   432ms) [ OK ]
# ns1 MPTCP -> ns3 (10.0.2.2:10010      ) MPTCP	(duration   315ms) [ OK ]
# ns1 MPTCP -> ns3 (dead:beef:2::2:10011) MPTCP	(duration   316ms) [ OK ]
# ns1 MPTCP -> ns3 (10.0.3.2:10012      ) MPTCP	(duration   316ms) [ OK ]
# ns1 MPTCP -> ns3 (dead:beef:3::2:10013) MPTCP	(duration   317ms) [ OK ]
# ns1 MPTCP -> ns4 (10.0.3.1:10014      ) MPTCP	(duration   313ms) [ OK ]
# ns1 MPTCP -> ns4 (dead:beef:3::1:10015) MPTCP	(duration   305ms) [ OK ]
# ns2 MPTCP -> ns1 (10.0.1.1:10016      ) MPTCP	(duration   280ms) [ OK ]
# ns2 MPTCP -> ns1 (dead:beef:1::1:10017) MPTCP	(duration    93ms) [ OK ]
# ns2 MPTCP -> ns3 (10.0.2.2:10018      ) MPTCP	(duration   361ms) [ OK ]
# ns2 MPTCP -> ns3 (dead:beef:2::2:10019) MPTCP	(duration   362ms) [ OK ]
# ns2 MPTCP -> ns3 (10.0.3.2:10020      ) MPTCP	(duration   332ms) [ OK ]
# ns2 MPTCP -> ns3 (dead:beef:3::2:10021) MPTCP	(duration  1716ms) [ OK ]
# ns2 MPTCP -> ns4 (10.0.3.1:10022      ) MPTCP	(duration   325ms) [ OK ]
# ns2 MPTCP -> ns4 (dead:beef:3::1:10023) MPTCP	------------[ cut here ]------------
WARNING: CPU: 0 PID: 6732 at net/mptcp/protocol.c:725 mptcp_reset_timer (net/mptcp/protocol.c:725 (discriminator 1)) 
Modules linked in: mptcp_diag inet_diag xt_bpf sch_netem mptcp_token_test mptcp_crypto_test kunit
CPU: 0 PID: 6732 Comm: mptcp_connect Not tainted 5.10.0-rc1+ #49
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014
RIP: 0010:mptcp_reset_timer (net/mptcp/protocol.c:725 (discriminator 1)) 
Code: 8b 87 a8 05 00 00 48 85 c0 74 1f 48 8b 15 c8 ba 87 00 48 8d b7 10 04 00 00 48 83 c4 08 48 01 c2 e9 f5 f9 d6 ff 48 83 c4 08 c3 <0f> 0b b8 c8 00 00 00 eb d8 0f 1f 80 00 00 00 00 41 57 49 89 ff 41
All code
========
   0:	8b 87 a8 05 00 00    	mov    0x5a8(%rdi),%eax
   6:	48 85 c0             	test   %rax,%rax
   9:	74 1f                	je     0x2a
   b:	48 8b 15 c8 ba 87 00 	mov    0x87bac8(%rip),%rdx        # 0x87bada
  12:	48 8d b7 10 04 00 00 	lea    0x410(%rdi),%rsi
  19:	48 83 c4 08          	add    $0x8,%rsp
  1d:	48 01 c2             	add    %rax,%rdx
  20:	e9 f5 f9 d6 ff       	jmpq   0xffffffffffd6fa1a
  25:	48 83 c4 08          	add    $0x8,%rsp
  29:	c3                   	retq   
  2a:*	0f 0b                	ud2    		<-- trapping instruction
  2c:	b8 c8 00 00 00       	mov    $0xc8,%eax
  31:	eb d8                	jmp    0xb
  33:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  3a:	41 57                	push   %r15
  3c:	49 89 ff             	mov    %rdi,%r15
  3f:	41                   	rex.B

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2    
   2:	b8 c8 00 00 00       	mov    $0xc8,%eax
   7:	eb d8                	jmp    0xffffffffffffffe1
   9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  10:	41 57                	push   %r15
  12:	49 89 ff             	mov    %rdi,%r15
  15:	41                   	rex.B
RSP: 0018:ffff9ea681e07cb0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000030e00 RCX: dead0000000000ff
RDX: 0000000000032d38 RSI: 0000000000000000 RDI: ffff9cda02f7a580
RBP: ffff9ea681e07d50 R08: ffff9cda04a68000 R09: 0000000000000028
R10: 0000000000008000 R11: 0000000000000028 R12: 0000000000000000
R13: ffff9cda03f68000 R14: 0000000000000000 R15: ffff9cda02f7a580
FS:  00007fb440840740(0000) GS:ffff9cda2f000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb4404e0000 CR3: 00000000012a0003 CR4: 0000000000370ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
mptcp_push_pending (net/mptcp/protocol.c:1257) 
? copyin (./arch/x86/include/asm/uaccess_64.h:46) 
? copy_page_from_iter (lib/iov_iter.c:304) 
mptcp_sendmsg (./include/net/sock.h:1269) 
sock_sendmsg (net/socket.c:654) 
sock_write_iter (net/socket.c:999) 
new_sync_write (fs/read_write.c:519) 
vfs_write (fs/read_write.c:605) 
ksys_write (fs/read_write.c:658) 
do_syscall_64 (arch/x86/entry/common.c:46) 
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:127) 
RIP: 0033:0x7fb4409541e7
Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
All code
========
   0:	64 89 02             	mov    %eax,%fs:(%rdx)
   3:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
   a:	eb bb                	jmp    0xffffffffffffffc7
   c:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  13:	f3 0f 1e fa          	endbr64 
  17:	64 8b 04 25 18 00 00 	mov    %fs:0x18,%eax
  1e:	00 
  1f:	85 c0                	test   %eax,%eax
  21:	75 10                	jne    0x33
  23:	b8 01 00 00 00       	mov    $0x1,%eax
  28:	0f 05                	syscall 
  2a:*	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax		<-- trapping instruction
  30:	77 51                	ja     0x83
  32:	c3                   	retq   
  33:	48 83 ec 28          	sub    $0x28,%rsp
  37:	48 89 54 24 18       	mov    %rdx,0x18(%rsp)
  3c:	48                   	rex.W
  3d:	89                   	.byte 0x89
  3e:	74 24                	je     0x64

Code starting with the faulting instruction
===========================================
   0:	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax
   6:	77 51                	ja     0x59
   8:	c3                   	retq   
   9:	48 83 ec 28          	sub    $0x28,%rsp
   d:	48 89 54 24 18       	mov    %rdx,0x18(%rsp)
  12:	48                   	rex.W
  13:	89                   	.byte 0x89
  14:	74 24                	je     0x3a
RSP: 002b:00007ffc6373d818 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00000000003e741c RCX: 00007fb4409541e7
RDX: 00000000003e741c RSI: 00007fb440458000 RDI: 0000000000000003
RBP: 00007fb440458000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000003
R13: 00000000003e741c R14: 0000000000000000 R15: 0000000000000000
CPU: 0 PID: 6732 Comm: mptcp_connect Not tainted 5.10.0-rc1+ #49
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014
Call Trace:
dump_stack (lib/dump_stack.c:120) 
__warn.cold (kernel/panic.c:612) 
? mptcp_reset_timer (net/mptcp/protocol.c:725 (discriminator 1)) 
report_bug (lib/bug.c:200) 
handle_bug (arch/x86/kernel/traps.c:235) 
exc_invalid_op (arch/x86/kernel/traps.c:255 (discriminator 1)) 
asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:581) 
RIP: 0010:mptcp_reset_timer (net/mptcp/protocol.c:725 (discriminator 1)) 
Code: 8b 87 a8 05 00 00 48 85 c0 74 1f 48 8b 15 c8 ba 87 00 48 8d b7 10 04 00 00 48 83 c4 08 48 01 c2 e9 f5 f9 d6 ff 48 83 c4 08 c3 <0f> 0b b8 c8 00 00 00 eb d8 0f 1f 80 00 00 00 00 41 57 49 89 ff 41
All code
========
   0:	8b 87 a8 05 00 00    	mov    0x5a8(%rdi),%eax
   6:	48 85 c0             	test   %rax,%rax
   9:	74 1f                	je     0x2a
   b:	48 8b 15 c8 ba 87 00 	mov    0x87bac8(%rip),%rdx        # 0x87bada
  12:	48 8d b7 10 04 00 00 	lea    0x410(%rdi),%rsi
  19:	48 83 c4 08          	add    $0x8,%rsp
  1d:	48 01 c2             	add    %rax,%rdx
  20:	e9 f5 f9 d6 ff       	jmpq   0xffffffffffd6fa1a
  25:	48 83 c4 08          	add    $0x8,%rsp
  29:	c3                   	retq   
  2a:*	0f 0b                	ud2    		<-- trapping instruction
  2c:	b8 c8 00 00 00       	mov    $0xc8,%eax
  31:	eb d8                	jmp    0xb
  33:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  3a:	41 57                	push   %r15
  3c:	49 89 ff             	mov    %rdi,%r15
  3f:	41                   	rex.B

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2    
   2:	b8 c8 00 00 00       	mov    $0xc8,%eax
   7:	eb d8                	jmp    0xffffffffffffffe1
   9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  10:	41 57                	push   %r15
  12:	49 89 ff             	mov    %rdi,%r15
  15:	41                   	rex.B
RSP: 0018:ffff9ea681e07cb0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000030e00 RCX: dead0000000000ff
RDX: 0000000000032d38 RSI: 0000000000000000 RDI: ffff9cda02f7a580
RBP: ffff9ea681e07d50 R08: ffff9cda04a68000 R09: 0000000000000028
R10: 0000000000008000 R11: 0000000000000028 R12: 0000000000000000
R13: ffff9cda03f68000 R14: 0000000000000000 R15: ffff9cda02f7a580
mptcp_push_pending (net/mptcp/protocol.c:1257) 
? copyin (./arch/x86/include/asm/uaccess_64.h:46) 
? copy_page_from_iter (lib/iov_iter.c:304) 
mptcp_sendmsg (./include/net/sock.h:1269) 
sock_sendmsg (net/socket.c:654) 
sock_write_iter (net/socket.c:999) 
new_sync_write (fs/read_write.c:519) 
vfs_write (fs/read_write.c:605) 
ksys_write (fs/read_write.c:658) 
do_syscall_64 (arch/x86/entry/common.c:46) 
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:127) 
RIP: 0033:0x7fb4409541e7
Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
All code
========
   0:	64 89 02             	mov    %eax,%fs:(%rdx)
   3:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
   a:	eb bb                	jmp    0xffffffffffffffc7
   c:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  13:	f3 0f 1e fa          	endbr64 
  17:	64 8b 04 25 18 00 00 	mov    %fs:0x18,%eax
  1e:	00 
  1f:	85 c0                	test   %eax,%eax
  21:	75 10                	jne    0x33
  23:	b8 01 00 00 00       	mov    $0x1,%eax
  28:	0f 05                	syscall 
  2a:*	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax		<-- trapping instruction
  30:	77 51                	ja     0x83
  32:	c3                   	retq   
  33:	48 83 ec 28          	sub    $0x28,%rsp
  37:	48 89 54 24 18       	mov    %rdx,0x18(%rsp)
  3c:	48                   	rex.W
  3d:	89                   	.byte 0x89
  3e:	74 24                	je     0x64

Code starting with the faulting instruction
===========================================
   0:	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax
   6:	77 51                	ja     0x59
   8:	c3                   	retq   
   9:	48 83 ec 28          	sub    $0x28,%rsp
   d:	48 89 54 24 18       	mov    %rdx,0x18(%rsp)
  12:	48                   	rex.W
  13:	89                   	.byte 0x89
  14:	74 24                	je     0x3a
RSP: 002b:00007ffc6373d818 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00000000003e741c RCX: 00007fb4409541e7
RDX: 00000000003e741c RSI: 00007fb440458000 RDI: 0000000000000003
RBP: 00007fb440458000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000003
R13: 00000000003e741c R14: 0000000000000000 R15: 0000000000000000
---[ end trace 6ce569077a541579 ]---

	nothing more, then 10 minutes later:

Timeout: sending Ctrl+C

I didn't manage to reproduce it

@matttbe matttbe added the bug label Nov 2, 2020
@matttbe
Copy link
Member Author

matttbe commented Nov 6, 2020

The trace is different but it could be linked to #70

@matttbe
Copy link
Member Author

matttbe commented Nov 18, 2020

syzbot found a similar issue:

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

------------[ cut here ]------------
WARNING: CPU: 1 PID: 8718 at net/mptcp/protocol.c:719 mptcp_reset_timer+0x12a/0x160 net/mptcp/protocol.c:719
Modules linked in:
CPU: 1 PID: 8718 Comm: kworker/1:3 Not tainted 5.10.0-rc4-next-20201117-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events mptcp_worker
RIP: 0010:mptcp_reset_timer+0x12a/0x160 net/mptcp/protocol.c:719
Code: e8 0b 87 43 fe e8 46 71 c5 f8 48 b8 00 00 00 00 00 fc ff df 48 c7 04 03 00 00 00 00 48 83 c4 40 5b 5d 41 5c c3 e8 26 71 c5 f8 <0f> 0b 41 bc 14 00 00 00 eb 98 e8 c7 d3 07 f9 e9 30 ff ff ff 48 c7
RSP: 0018:ffffc90001adfa38 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 1ffff9200035bf47 RCX: ffffffff88ab2357
RDX: ffff88801ae14f80 RSI: ffffffff88ab23ba RDI: 0000000000000007
RBP: ffff888024200000 R08: 0000000000000000 R09: ffff88802420084f
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000281400 R14: ffff888024200000 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f994238f010 CR3: 0000000028d92000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 mptcp_push_pending+0x1351/0x17c0 net/mptcp/protocol.c:1266
 mptcp_worker+0x385/0x1a10 net/mptcp/protocol.c:1877
 process_one_work+0x933/0x15a0 kernel/workqueue.c:2272
 worker_thread+0x64c/0x1120 kernel/workqueue.c:2418
 kthread+0x3af/0x4a0 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296

@matttbe
Copy link
Member Author

matttbe commented Nov 19, 2020

Maybe fixed with

Patch from Paolo: patchwork

matttbe added a commit that referenced this issue Nov 27, 2020
Asked by Paolo.

We would get a message like:

  Issue #105 has been closed by matttbe.
  #105

Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
matttbe added a commit that referenced this issue Nov 27, 2020
It looks like we don't get emails for these events.

We would get a message like:

  Issue #105 has been assigned to/from pabeni by matttbe.
  #105

Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
@matttbe
Copy link
Member Author

matttbe commented Nov 27, 2020

I didn't manage to reproduce it.
My CI didn't catch any other WARNs since this one (1st of November). I guess we can close it :)

@matttbe matttbe closed this as completed Nov 27, 2020
@matttbe matttbe assigned matttbe and unassigned matttbe Nov 27, 2020
jenkins-tessares pushed a commit that referenced this issue Apr 23, 2022
On PREEMPT_RT kernel and KASAN is enabled.  the kasan_record_aux_stack()
may call alloc_pages(), and the rt-spinlock will be acquired, if currently
in atomic context, will trigger warning:

  BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:46
  in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 239, name: bootlogd
  Preemption disabled at:
  [<ffffffffbab1a531>] rt_mutex_slowunlock+0xa1/0x4e0
  CPU: 3 PID: 239 Comm: bootlogd Tainted: G        W 5.17.1-rt17-yocto-preempt-rt+ #105
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014
  Call Trace:
     __might_resched.cold+0x13b/0x173
     rt_spin_lock+0x5b/0xf0
     get_page_from_freelist+0x20c/0x1610
     __alloc_pages+0x25e/0x5e0
     __stack_depot_save+0x3c0/0x4a0
     kasan_save_stack+0x3a/0x50
     __kasan_record_aux_stack+0xb6/0xc0
     kasan_record_aux_stack+0xe/0x10
     irq_work_queue_on+0x6a/0x1c0
     pull_rt_task+0x631/0x6b0
     do_balance_callbacks+0x56/0x80
     __balance_callbacks+0x63/0x90
     rt_mutex_setprio+0x349/0x880
     rt_mutex_slowunlock+0x22a/0x4e0
     rt_spin_unlock+0x49/0x80
     uart_write+0x186/0x2b0
     do_output_char+0x2e9/0x3a0
     n_tty_write+0x306/0x800
     file_tty_write.isra.0+0x2af/0x450
     tty_write+0x22/0x30
     new_sync_write+0x27c/0x3a0
     vfs_write+0x3f7/0x5d0
     ksys_write+0xd9/0x180
     __x64_sys_write+0x43/0x50
     do_syscall_64+0x44/0x90
     entry_SYSCALL_64_after_hwframe+0x44/0xae

Fix it by using kasan_record_aux_stack_noalloc() to avoid the call to
alloc_pages().

Link: https://lkml.kernel.org/r/20220402142555.2699582-1-qiang1.zhang@intel.com
Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant