-
由 Sakari Ailus 提交于
commit 92539d3eda2c090b382699bbb896d4b54e9bdece upstream. Patch ad608fbc changed how events were subscribed to address an issue elsewhere. As a side effect of that change, the "add" callback was called before the event subscription was added to the list of subscribed events, causing the first event queued by the add callback (and possibly other events arriving soon afterwards) to be lost. Fix this by adding the subscription to the list before calling the "add" callback, and clean up afterwards if that fails. Fixes: ad608fbc ("media: v4l: event: Prevent freeing event subscriptions while accessed") Reported-by: NDave Stevenson <dave.stevenson@raspberrypi.org> Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Tested-by: NDave Stevenson <dave.stevenson@raspberrypi.org> Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com> Tested-by: NHans Verkuil <hans.verkuil@cisco.com> Cc: stable@vger.kernel.org (for 4.14 and up) Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
eaa7def0