Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b29a7f2 authored by Yang Yingliang's avatar Yang Yingliang Committed by Greg Kroah-Hartman
Browse files

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



commit 65f20301607d07ee279b0804d11a05a62a6c1a1c 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: default avatarYang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221024084511.815096-1-yangyingliang@huawei.com


Cc: <Stable@vger.kernel.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4b607108
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -617,8 +617,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;
}
}