arch/risc-v: espressif: temperature: Fix incorrect pointer casting

Fix bug in temperature sensor driver where direct casting of lower half
structure pointer could lead to incorrect memory access.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
Huang Qi 2025-09-20 12:05:32 +08:00 committed by Xiang Xiao
parent 47e4576b1c
commit 3af0ab64bb

View file

@ -714,7 +714,8 @@ static int esp_temperature_sensor_set_interval(
struct file *filep,
uint32_t *period_us)
{
struct esp_temp_priv_s *priv = (struct esp_temp_priv_s *)lower;
struct esp_temp_priv_s *priv =
container_of(lower, struct esp_temp_priv_s, lower);
if (*period_us < ESP_TEMP_MIN_INTERVAL)
{
@ -753,7 +754,8 @@ static int esp_temperature_sensor_activate(
struct file *filep,
bool enable)
{
struct esp_temp_priv_s *priv = (struct esp_temp_priv_s *)lower;
struct esp_temp_priv_s *priv =
container_of(lower, struct esp_temp_priv_s, lower);
#ifdef CONFIG_ESPRESSIF_TEMP_UORB_POLL
bool start_thread = false;
#endif