Skip to content

Commit 854713c

Browse files
kartbendkalowsk
authored andcommitted
drivers: sensor: fix sensor_handlers checks
z_vrfy_sensor_reconfigure_read_iodev function was performing a a K_SYSCALL_MEMORY_READ check using an incorrect structure type. z_vrfy_sensor_get_decoder wasn't properly checking output parameter `decoder` Signed-off-by: Benjamin Cabé <[email protected]>
1 parent fd7c3b4 commit 854713c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/sensor/sensor_handlers.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ static inline int z_vrfy_sensor_get_decoder(const struct device *dev,
6363
const struct sensor_decoder_api **decoder)
6464
{
6565
K_OOPS(K_SYSCALL_OBJ(dev, K_OBJ_DRIVER_SENSOR));
66-
K_OOPS(K_SYSCALL_MEMORY_READ(decoder, sizeof(struct sensor_decoder_api)));
66+
K_OOPS(K_SYSCALL_MEMORY_WRITE(decoder, sizeof(struct sensor_decoder_api *)));
6767
return z_impl_sensor_get_decoder(dev, decoder);
6868
}
6969
#include <zephyr/syscalls/sensor_get_decoder_mrsh.c>
@@ -75,7 +75,7 @@ static inline int z_vrfy_sensor_reconfigure_read_iodev(struct rtio_iodev *iodev,
7575
{
7676
K_OOPS(K_SYSCALL_OBJ(iodev, K_OBJ_RTIO_IODEV));
7777
K_OOPS(K_SYSCALL_OBJ(sensor, K_OBJ_DRIVER_SENSOR));
78-
K_OOPS(K_SYSCALL_MEMORY_READ(channels, sizeof(enum sensor_channel) * num_channels));
78+
K_OOPS(K_SYSCALL_MEMORY_READ(channels, sizeof(struct sensor_chan_spec) * num_channels));
7979
return z_impl_sensor_reconfigure_read_iodev(iodev, sensor, channels, num_channels);
8080
}
8181
#include <zephyr/syscalls/sensor_reconfigure_read_iodev_mrsh.c>

0 commit comments

Comments
 (0)