From 12bba3817d6dbab4a52787d94e05b3e922b8f761 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 6 Jan 2024 12:07:25 -0500 Subject: [PATCH] nvme, mmc: Fix SMAP violations in B_GET_MEDIA_STATUS. Fixes #18736. --- src/add-ons/kernel/drivers/disk/mmc/mmc_disk.cpp | 5 ++--- src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp | 5 +---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/add-ons/kernel/drivers/disk/mmc/mmc_disk.cpp b/src/add-ons/kernel/drivers/disk/mmc/mmc_disk.cpp index 72731857f2..11d6a65976 100644 --- a/src/add-ons/kernel/drivers/disk/mmc/mmc_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/mmc/mmc_disk.cpp @@ -573,9 +573,8 @@ mmc_block_ioctl(void* cookie, uint32 op, void* buffer, size_t length) if (buffer == NULL || length < sizeof(status_t)) return B_BAD_VALUE; - *(status_t *)buffer = B_OK; - return B_OK; - break; + status_t status = B_OK; + return user_memcpy(buffer, &status, sizeof(status_t)); } case B_GET_DEVICE_SIZE: diff --git a/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp b/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp index b39e0fe207..d127d022f0 100644 --- a/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp @@ -937,10 +937,7 @@ nvme_disk_ioctl(void* cookie, uint32 op, void* buffer, size_t length) switch (op) { case B_GET_MEDIA_STATUS: { - *(status_t *)buffer = info->media_status; - info->media_status = B_OK; - return B_OK; - break; + return user_memcpy(buffer, &info->media_status, sizeof(status_t)); } case B_GET_DEVICE_SIZE: