lkml.org 
[lkml]   [2014]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/2] ALSA: ctxfi: One function call less in get_daio_rsc() after error detection
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Tue, 2 Dec 2014 20:33:51 +0100

    The kfree() function was called in two cases by the get_daio_rsc() function
    during error handling even if the passed variable contained still
    a null pointer. This implementation detail could be improved
    by adjustments for jump labels.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    sound/pci/ctxfi/ctdaio.c | 20 ++++++++++----------
    1 file changed, 10 insertions(+), 10 deletions(-)

    diff --git a/sound/pci/ctxfi/ctdaio.c b/sound/pci/ctxfi/ctdaio.c
    index 1712332..a12489e 100644
    --- a/sound/pci/ctxfi/ctdaio.c
    +++ b/sound/pci/ctxfi/ctdaio.c
    @@ -549,22 +549,22 @@ static int get_daio_rsc(struct daio_mgr *mgr,
    dao = kzalloc(sizeof(*dao), GFP_KERNEL);
    if (!dao) {
    err = -ENOMEM;
    - goto error;
    + goto alloc_error;
    }
    err = dao_rsc_init(dao, desc, mgr);
    if (err)
    - goto error;
    + goto dao_init_error;

    *rdaio = &dao->daio;
    } else {
    dai = kzalloc(sizeof(*dai), GFP_KERNEL);
    if (!dai) {
    err = -ENOMEM;
    - goto error;
    + goto alloc_error;
    }
    err = dai_rsc_init(dai, desc, mgr);
    if (err)
    - goto error;
    + goto dai_init_error;

    *rdaio = &dai->daio;
    }
    @@ -574,12 +574,12 @@ static int get_daio_rsc(struct daio_mgr *mgr,

    return 0;

    -error:
    - if (dao)
    - kfree(dao);
    - else
    - kfree(dai);
    -
    +dao_init_error:
    + kfree(dao);
    + goto alloc_error;
    +dai_init_error:
    + kfree(dai);
    +alloc_error:
    spin_lock_irqsave(&mgr->mgr_lock, flags);
    daio_mgr_put_rsc(&mgr->mgr, desc->type);
    spin_unlock_irqrestore(&mgr->mgr_lock, flags);
    --
    2.1.3


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