]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
HID: Intel-thc-hid: Intel-thc: Add safety check for reading DMA buffer
authorEven Xu <even.xu@intel.com>
Fri, 26 Dec 2025 03:39:53 +0000 (11:39 +0800)
committerBenjamin Tissoires <bentiss@kernel.org>
Wed, 7 Jan 2026 14:11:39 +0000 (15:11 +0100)
Add DMA buffer readiness check before reading DMA buffer to avoid
unexpected NULL pointer accessing.

Signed-off-by: Even Xu <even.xu@intel.com>
Tested-by: Rui Zhang <rui1.zhang@intel.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/intel-thc-hid/intel-thc/intel-thc-dma.c

index a0c368aa7979c44a743d59967854aefda46ebb96..6ee675e0a738459719ccc3cd401f1d21fdd5dd07 100644 (file)
@@ -575,6 +575,11 @@ static int read_dma_buffer(struct thc_device *dev,
                return -EINVAL;
        }
 
+       if (!read_config->prd_tbls || !read_config->sgls[prd_table_index]) {
+               dev_err_once(dev->dev, "PRD tables are not ready yet\n");
+               return -EINVAL;
+       }
+
        prd_tbl = &read_config->prd_tbls[prd_table_index];
        mes_len = calc_message_len(prd_tbl, &nent);
        if (mes_len > read_config->max_packet_size) {