Commit 856a0a6e authored by Wen Yang's avatar Wen Yang Committed by Enric Balletbo i Serra
Browse files

platform/chrome: wilco_ec: fix use after free issue



This is caused by dereferencing 'dev_data' after put_device() in
the telem_device_remove() function.
This patch just moves the put_device() down a bit to avoid this
issue.

Fixes: 1210d1e6 ("platform/chrome: wilco_ec: Add telemetry char device interface")
Signed-off-by: default avatarWen Yang <wenyang@linux.alibaba.com>
Cc: Benson Leung <bleung@chromium.org>
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Cc: Nick Crews <ncrews@chromium.org>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
parent 74c166b5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -406,8 +406,8 @@ static int telem_device_remove(struct platform_device *pdev)
	struct telem_device_data *dev_data = platform_get_drvdata(pdev);

	cdev_device_del(&dev_data->cdev, &dev_data->dev);
	put_device(&dev_data->dev);
	ida_simple_remove(&telem_ida, MINOR(dev_data->dev.devt));
	put_device(&dev_data->dev);

	return 0;
}