提交 7e2ccd33 编写于 作者: Y Yang Yingliang 提交者: openeuler-sync-bot

iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger()

stable inclusion
from stable-v5.10.156
commit 85d2a8b287a89853c0dcfc5a97b5e9d36376fe37
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7MCG1

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=85d2a8b287a89853c0dcfc5a97b5e9d36376fe37

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

commit 65f20301 upstream.

If iio_trigger_register() returns error, it should call iio_trigger_free()
to give up the reference that hold in iio_trigger_alloc(), so that it can
call iio_trig_release() to free memory when the refcount hit to 0.

Fixes: 0e589d5f ("ARM: AT91: IIO: Add AT91 ADC driver.")
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221024084511.815096-1-yangyingliang@huawei.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Nsanglipeng <sanglipeng1@jd.com>
(cherry picked from commit 315aedca)
上级 682c3494
...@@ -616,8 +616,10 @@ static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *idev, ...@@ -616,8 +616,10 @@ static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *idev,
trig->ops = &at91_adc_trigger_ops; trig->ops = &at91_adc_trigger_ops;
ret = iio_trigger_register(trig); ret = iio_trigger_register(trig);
if (ret) if (ret) {
iio_trigger_free(trig);
return NULL; return NULL;
}
return trig; return trig;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册