lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 25 Aug 2020 23:55:54 +0900 From: Alexandre Courbot <gnurou@...il.com> To: Mauro Carvalho Chehab <mchehab@...nel.org>, Hans Verkuil <hverkuil-cisco@...all.nl>, Nicolas Dufresne <nicolas.dufresne@...labora.com> Cc: linux-media@...r.kernel.org, linux-kernel@...r.kernel.org, Alexandre Courbot <gnurou@...il.com> Subject: [PATCH 0/2] media: v4l2-mem2mem: fix poll() bug This addresses a very corner case that probably nobody ever encounters, but I have hit it when playing with vicoded so here is a tentative fix. Patch 1/2 addresses the issue that when the last buffer of a m2m device has been dequeued, any attempt to poll with EPOLLOUT will result in only EPOLLIN being returned, even if OUTPUT buffers are still pending. The issue stems from the fact that the last buffer check if done first, and returns immediately if true. Patch 2/2 builds on the first one to (hopefully) clean up the code a bit and make the function flow easier to follow. Functionally speaking it is supposed to be a no-op and it can safely be dropped if the former code is preferred - the actual fix is in 1/2. Alexandre Courbot (2): media: v4l2-mem2mem: consider OUTPUT queue first when polling media: v4l2-mem2mem: simplify poll logic a bit drivers/media/v4l2-core/v4l2-mem2mem.c | 42 +++++++++++--------------- 1 file changed, 18 insertions(+), 24 deletions(-) -- 2.28.0
Powered by blists - more mailing lists