lkml.org 
[lkml]   [2015]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19.y-ckt 122/164] vivid: Fix iteration in driver removal path
    Date
    3.19.8-ckt11 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

    commit a5d42b8c3b3ddccd88dc1c70957177d31a6699fb upstream.

    When the diver is removed and all the resources are deallocated,
    we should be iterating through the created devices only.

    Currently, the iteration ends when vivid_devs[i] is NULL. Since
    the array contains VIVID_MAX_DEVS elements, it will oops if
    n_devs=VIVID_MAX_DEVS because in that case, no element is NULL.

    Fixes: c88a96b023d8 ('[media] vivid: add core driver code')

    Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/media/platform/vivid/vivid-core.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
    index a7e033a..d801b57 100644
    --- a/drivers/media/platform/vivid/vivid-core.c
    +++ b/drivers/media/platform/vivid/vivid-core.c
    @@ -1314,8 +1314,11 @@ static void __exit vivid_exit(void)
    struct vivid_dev *dev;
    unsigned i;

    - for (i = 0; vivid_devs[i]; i++) {
    +
    + for (i = 0; i < n_devs; i++) {
    dev = vivid_devs[i];
    + if (!dev)
    + continue;

    if (dev->has_vid_cap) {
    v4l2_info(&dev->v4l2_dev, "unregistering %s\n",
    --
    1.9.1


    \
     
     \ /
      Last update: 2015-12-02 18:41    [W:4.221 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site