nuttx-mirror/drivers/sensors
dongjiuzhu1 fcf2eb8fcb drivers/sesnros: fix crash because ipc buffer pointer used after free
When the ipc buffer is obtained for the first time due to insufficient space,
it waits due to insufficient ipc buffer.
At this time, if rptun recursively operates the next ipc request, the ipc buffer
will be reused, but it has been released at this time.

0  file_read (filep=filep@entry=0x20596738, buf=buf@entry=0x205d4358, nbytes=1560) at vfs/fs_read.c:86
1  sensor_rpmsg_push_event_one (dev=0x20558f70, dev@entry=0x2058fc80, stub=stub@entry=0x20596720) at sensors/sensor_rpmsg.c:799
2  sensor_rpmsg_alloc_stub (dev=dev@entry=0x2058fc80, ept=ept@entry=0x20558f08, cookie=<optimized out>) at sensors/sensor_rpmsg.c:552
3  sensor_rpmsg_sub_handler (ept=0x20558f08, data=0x204849c0, len=51, src=<optimized out>, priv=0x20558f00) at sensors/sensor_rpmsg.c:993
4  sensor_rpmsg_ept_cb (ept=<optimized out>, data=<optimized out>, len=<optimized out>, src=<optimized out>, priv=0x20558f00) at sensors/sensor_rpmsg.c:1186
5  rpmsg_virtio_rx_callback (vq=<optimized out>) at open-amp/lib/rpmsg/rpmsg_virtio.c:605
6  virtqueue_notification (vq=<optimized out>) at open-amp/lib/virtio/virtqueue.c:711
7  rproc_virtio_notified (vdev=vdev@entry=0x20558c98, notifyid=notifyid@entry=4294967295) at open-amp/lib/remoteproc/remoteproc_virtio.c:433
8  remoteproc_get_notification (rproc=rproc@entry=0x2054ff34, notifyid=notifyid@entry=4294967295) at open-amp/lib/remoteproc/remoteproc.c:1002
9  rptun_worker (arg=0x2054ff30) at rptun/rptun.c:339
10 rptun_notify_wait (rproc=<optimized out>, id=<optimized out>) at rptun/rptun.c:543
11 remoteproc_virtio_notify_wait (priv=<optimized out>, id=<optimized out>) at open-amp/lib/remoteproc/remoteproc.c:907
12 rproc_virtio_notify_wait (vdev=<optimized out>, vq=<optimized out>) at open-amp/lib/remoteproc/remoteproc_virtio.c:176
13 rpmsg_virtio_notify_wait (vq=<optimized out>, rvdev=0x2054ff78) at nuttx/include/openamp/rpmsg_virtio.h:162
14 rpmsg_virtio_get_tx_payload_buffer (rdev=0x2054ff78, len=0x20558f90, wait=<optimized out>) at open-amp/lib/rpmsg/rpmsg_virtio.c:404
15 rpmsg_get_tx_payload_buffer (ept=ept@entry=0x20558f08, len=len@entry=0x20558f90, wait=wait@entry=1) at open-amp/lib/rpmsg/rpmsg.c:207
16 sensor_rpmsg_push_event_one (dev=0x0, dev@entry=0x20590d60, stub=stub@entry=0x20596720) at sensors/sensor_rpmsg.c:783
17 sensor_rpmsg_alloc_stub (dev=dev@entry=0x20590d60, ept=ept@entry=0x20558f08, cookie=<optimized out>) at sensors/sensor_rpmsg.c:552
18 sensor_rpmsg_sub_handler (ept=0x20558f08, data=0x20483700, len=49, src=<optimized out>, priv=0x20558f00) at sensors/sensor_rpmsg.c:993
19 sensor_rpmsg_ept_cb (ept=<optimized out>, data=<optimized out>, len=<optimized out>, src=<optimized out>, priv=0x20558f00) at sensors/sensor_rpmsg.c:1186
20 rpmsg_virtio_rx_callback (vq=<optimized out>) at open-amp/lib/rpmsg/rpmsg_virtio.c:605
21 virtqueue_notification (vq=<optimized out>) at open-amp/lib/virtio/virtqueue.c:711
22 rproc_virtio_notified (vdev=vdev@entry=0x20558c98, notifyid=notifyid@entry=4294967295) at open-amp/lib/remoteproc/remoteproc_virtio.c:433
23 remoteproc_get_notification (rproc=0x2054ff34, rproc, notifyid=notifyid@entry=4294967295)
24 rptun_worker (arg=0x2054ff30) at rptun/rptun.c:339
25 rptun_thread (argc=<optimized out>, argv=<optimized out>) at rptun/rptun.c:375

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-28 11:39:54 +08:00
..
adt7320.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
adt7320.h
adxl345.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
adxl345_base.c inode/i_private: remove all unnecessary cast for i_private 2023-08-29 08:58:07 +02:00
adxl345_i2c.c nxstyle fixes 2021-03-13 05:56:43 -08:00
adxl345_spi.c drivers: Alan Carvalho de Assis: update licenses to Apache 2021-03-13 05:56:43 -08:00
adxl362_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
adxl372.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
adxl372_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
aht10.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
ak09912.c fix nxstyle 2024-05-09 23:44:40 +08:00
amg88xx.c feat: add basic driver for amg88xx sensor 2024-09-07 12:03:38 +08:00
apds9922.c nuttx: resolve various 'FAR' and 'CODE' issues 2024-08-26 10:21:03 +08:00
apds9960.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
as726x.c nuttx: resolve various 'FAR' and 'CODE' issues 2024-08-26 10:21:03 +08:00
as5048a.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
as5048b.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
bh1749nuc.c sensors/bh1749nuc: configure I2C frequency 2024-05-20 10:13:42 +08:00
bh1749nuc_base.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
bh1749nuc_base.h sensors/bh1749nuc: configure I2C frequency 2024-05-20 10:13:42 +08:00
bh1749nuc_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
bh1750fvi.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
bme680_uorb.c nuttx/uorb: Fix initialization error of variable of type struct sensor_ops_s 2024-09-19 19:54:38 +08:00
bmg160.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
bmi160.c drivers/sensor: delete warning about argument type in bmi160 2024-01-31 05:00:23 -08:00
bmi160_base.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
bmi160_base.h sensors/bmi160: fix compilation errors 2024-02-27 13:01:32 +01:00
bmi160_uorb.c nuttx/uorb: change unsigned long to uint32 to fix size issue 2024-09-19 03:44:49 +08:00
bmi270.c sensors/bmi270: add support for the new sensor framework 2024-04-21 19:06:18 +08:00
bmi270_base.c sensors/bmi270: fix typo 2024-06-17 16:22:15 +08:00
bmi270_base.h sensors/bmi270: add support for the new sensor framework 2024-04-21 19:06:18 +08:00
bmi270_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
bmm150_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
bmp180.c sensor/bmp180.c:provides work in character device mode and UORB communication mode. 2023-09-06 08:02:52 +02:00
bmp180_base.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
bmp180_base.h sensor/bmp180.c:provides work in character device mode and UORB communication mode. 2023-09-06 08:02:52 +02:00
bmp180_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
bmp280_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
CMakeLists.txt nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
dhtxx.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
ds18b20_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
fakesensor_uorb.c nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
fxos8700cq.c drivers: remove redundant parentheses 2023-07-31 18:56:40 -07:00
gnss_uorb.c driver/sensors: Support GNSS Geofence 2024-09-19 03:44:49 +08:00
goldfish_gnss_uorb.c nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
goldfish_sensor_uorb.c convert pointer string to number in base 16 2024-08-14 22:36:57 +08:00
hall3ph.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
hc_sr04.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
hdc1008.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
hts221.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
hyt271_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
ina219.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
ina226.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
ina3221.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
isl29023.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
Kconfig nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
kxtj9.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
l3gd20_uorb.c sensors: add suffix _uorb to all sensors that use the new sensor framework 2023-09-21 20:30:08 +08:00
lis2dh.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
lis3dh.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
lis3dsh.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
lis3mdl.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
lis331dl.c drivers: Nxstyle fixes 2021-04-01 12:13:12 -05:00
lm75.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
lm92.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
lps25h.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
lsm6dsl.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
lsm9ds1.c sensors: add uorb support for lsm9ds1 2024-03-09 11:53:57 +08:00
lsm9ds1_base.c sensors: add uorb support for lsm9ds1 2024-03-09 11:53:57 +08:00
lsm9ds1_base.h sensors: add uorb support for lsm9ds1 2024-03-09 11:53:57 +08:00
lsm9ds1_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
lsm303agr.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
lsm330_spi.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
ltc4151.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
ltr308_uorb.c nuttx/uorb: Fix initialization error of variable of type struct sensor_ops_s 2024-09-19 19:54:38 +08:00
Make.defs nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
max6675.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
max31855.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
max31865.c nuttx: resolve various 'FAR' and 'CODE' issues 2024-08-26 10:21:03 +08:00
max44009.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
mb7040.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
mcp9844.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
mlx90393.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
mlx90614.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
mpl115a.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
mpu60x0.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
mpu9250_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
ms56xx_uorb.c nuttx/uorb: Fix incompatible type error 2024-09-19 19:54:38 +08:00
ms58xx.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
msa301.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
qencoder.c Remove the unnecessary NULL fields in global instance definition of file_operations 2023-01-04 00:32:13 +02:00
scd30.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
scd41.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sensor.c sensor: Added 6dof motion and gesture related types. 2024-09-27 13:59:41 +08:00
sensor_rpmsg.c drivers/sesnros: fix crash because ipc buffer pointer used after free 2024-09-28 11:39:54 +08:00
sgp30.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sht3x.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sht4x.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
sht21.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sps30.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
t67xx.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
usensor.c sensor.c: Rename container_of to list_container_of 2024-09-19 11:45:11 +08:00
veml6070.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
vl53l1x.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
wtgahrs2_uorb.c nuttx/uorb: Rename GPS to GNSS 2024-09-19 03:44:49 +08:00
xen1210.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
xen1210.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
zerocross.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00