Re: [PATCH net] can: isotp: add result check for wait_event_interruptible()

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

 



> Using wait_event_interruptible() to wait for complete transmission,
> but do not check the result of wait_event_interruptible() which can
> be interrupted. It will result in tx buffer has multiple accessers
> and the later process interferes with the previous process.
> 
> Following is one of the problems reported by syzbot.
> 
> =============================================================
> WARNING: CPU: 0 PID: 0 at net/can/isotp.c:840 isotp_tx_timer_handler+0x2e0/0x4c0
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.13.0-rc7+ #68
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014
> RIP: 0010:isotp_tx_timer_handler+0x2e0/0x4c0
> Call Trace:
>  <IRQ>
>  ? isotp_setsockopt+0x390/0x390
>  __hrtimer_run_queues+0xb8/0x610
>  hrtimer_run_softirq+0x91/0xd0
>  ? rcu_read_lock_sched_held+0x4d/0x80
>  __do_softirq+0xe8/0x553
>  irq_exit_rcu+0xf8/0x100
>  sysvec_apic_timer_interrupt+0x9e/0xc0
>  </IRQ>
>  asm_sysvec_apic_timer_interrupt+0x12/0x20
> 
> Add result check for wait_event_interruptible() in isotp_sendmsg()
> to avoid multiple accessers for tx buffer.
> 
> Reported-by: syzbot+78bab6958a614b0c80b9@xxxxxxxxxxxxxxxxxxxxxxxxx
> Fixes: e057dd3fc20f ("can: add ISO 15765-2:2016 transport protocol")
> Signed-off-by: Ziyang Xuan <william.xuanziyang@xxxxxxxxxx>

Hi Oliver,
I send a new patch with this problem, ignore this patch please.

Thank you!



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux