-
Alessandro Rubini authored
If user spaces calls read(2), the vfs_read() in fs/read_write.c does not create an iov array any more since v5.19-10288-g3e20a751aff0. That commit does as follows: - struct iovec iov = { .iov_base = buf, .iov_len = len }; - iov_iter_init(&iter, READ, &iov, 1, len); + iov_iter_ubuf(&iter, READ, buf, len); as a resuly, our code that checks iter->iov->nr_segs sees 0 segments, understands we have no buffer, and returns 0. Same for write(2). This is a hack, as I don'w know what happens if the user space uses readv/writev. Actually, I'd better have a simple fops->read() and fops->write() in the driver, but I'm sure I lack a lot of background knowledge here. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
0434a533
Name |
Last commit
|
Last update |
---|---|---|
docs/specification | ||
historic | ||
legacy-vme64x-core @ b5b30d82 | ||
pcie-wb | ||
sdbfs | ||
vme-wb | ||
.gitignore | ||
.gitmodules | ||
README |