Re: [PATCH v6] i2c: virtio: add a virtio i2c frontend driver

From: Jie Deng
Date: Tue Mar 09 2021 - 21:23:27 EST



On 2021/3/4 17:15, Jason Wang wrote:


+        }
+
+        if (msgs[i].flags & I2C_M_RD)
+            memcpy(msgs[i].buf, req->buf, msgs[i].len);


Sorry if I had asked this before but any rason not to use msg[i].buf directly?


The msg[i].buf is passed by the I2C core. I just noticed that these bufs are not
always allocated by kmalloc. They may come from the stack, which may cause
the check "sg_init_one -> sg_set_buf -> virt_addr_valid"  to fail. Therefore the
msg[i].buf is not suitable for direct use here.

Regards.