diff --git a/drivers/soc/qcom/ramdump.c b/drivers/soc/qcom/ramdump.c index 7aeb2913a2e2..e0b81f27a976 100644 --- a/drivers/soc/qcom/ramdump.c +++ b/drivers/soc/qcom/ramdump.c @@ -236,6 +236,8 @@ static ssize_t ramdump_read(struct file *filep, char __user *buf, size_t count, if ((unsigned long)device_mem & 0x7) { bytes_before = 8 - ((unsigned long)device_mem & 0x7); + bytes_before = min_t(unsigned long, (unsigned long)copy_size, + bytes_before); memcpy_fromio(alignbuf, device_mem, bytes_before); device_mem += bytes_before; alignbuf += bytes_before;