Patch "9p: ensure err is initialized to 0 in p9_client_read/write" has been added to the 4.1-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
9p: ensure err is initialized to 0 in p9_client_read/write
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
9p-ensure-err-is-initialized-to-0-in-p9_client_read-write.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
999b8b88c6060adf7a9b7907740ae86ace65291eMon Sep 17 00:00:00 2001
From: Vincent Bernat <[email protected]>
Date: Sat, 15 Aug 2015 15:49:13 +0200
Subject: 9p: ensure err is initialized to 0 in p9_client_read/write
From: Vincent Bernat <[email protected]>
commit 999b8b88c6060adf7a9b7907740ae86ace65291e upstream.
Some use of those functions were providing unitialized values to those functions. Notably, when reading 0 bytes from an empty file on a 9P filesystem, the return code of read() was not 0.
Tested with this simple program:
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, const char **argv)
{
assert(argc == 2);
char buffer[256];
int fd = open(argv[1], O_RDONLY|O_NOCTTY);
assert(fd >= 0);
assert(read(fd, buffer, 0) == 0);
return 0;
}--- net/9p/client.c | 2 ++ 1 file changed, 2 insertions(+)
net/9p/client.c +2 -0
@@ -1541,6 +1541,7 @@ p9_client_read(struct p9_fid *fid, u64 ostruct p9_client *clnt = fid->clnt;struct p9_req_t *req;int total =0 ; + *err =0 ;p9_debug (P9_DEBUG_9P ,">>> TREAD fid %d offset %llu %d\n" , fid->fid, (unsigned long long ) offset, (int )iov_iter_count (to));
@@ -1616,6 +1617,7 @@ p9_client_write(struct p9_fid *fid, u64struct p9_client *clnt = fid->clnt;struct p9_req_t *req;int total =0 ; + *err =0 ; p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu count %zd\n", fid->fid, (unsigned long long) offset,
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/9p-ensure-err-is-initialized-to-0-in-p9_client_read-write.patch