stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Patch "9p: ensure err is initialized to 0 in p9_client_read/write" has been added to the 4.1-stable tree
@ 2015-09-11 22:40 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2015-09-11 22:40 UTC (permalink / raw)
  To: vincent, gregkh, viro; +Cc: stable, stable-commits


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 <stable@vger.kernel.org> know about it.


>From 999b8b88c6060adf7a9b7907740ae86ace65291e Mon Sep 17 00:00:00 2001
From: Vincent Bernat <vincent@bernat.im>
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 <vincent@bernat.im>

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;
    }

Signed-off-by: Vincent Bernat <vincent@bernat.im>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 net/9p/client.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -1541,6 +1541,7 @@ p9_client_read(struct p9_fid *fid, u64 o
 	struct 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, u64
 	struct 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 vincent@bernat.im are

queue-4.1/9p-ensure-err-is-initialized-to-0-in-p9_client_read-write.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-09-11 22:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-11 22:40 Patch "9p: ensure err is initialized to 0 in p9_client_read/write" has been added to the 4.1-stable tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).