On 2021/3/4 17:15, Jason Wang wrote:
The msg[i].buf is passed by the I2C core. I just noticed that these bufs are not
+ }
+
+ 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?
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.