ocfs2: do not write error flag to user structure we cannot copy from/to
authorBen Hutchings <ben@decadent.org.uk>
Fri, 29 Aug 2014 22:18:58 +0000 (15:18 -0700)
committerWilly Tarreau <w@1wt.eu>
Wed, 7 Jun 2017 22:47:00 +0000 (00:47 +0200)
commit511ae3b96a0f36719924dac16b5e98fbd9320d25
tree520bcd50466a1ab3aea90b4012e3b28b4a38ff85
parent7fb0b4473100f95f4e99802b8f11d529624185fd
ocfs2: do not write error flag to user structure we cannot copy from/to

commit 2b462638e41ea62230297c21c4da9955937b7a3c upstream.

If we failed to copy from the structure, writing back the flags leaks 31
bits of kernel memory (the rest of the ir_flags field).

In any case, if we cannot copy from/to the structure, why should we
expect putting just the flags to work?

Also make sure ocfs2_info_handle_freeinode() returns the right error
code if the copy_to_user() fails.

Fixes: ddee5cdb70e6 ('Ocfs2: Add new OCFS2_IOC_INFO ioctl for ocfs2 v8.')
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Joel Becker <jlbec@evilplan.org>
Acked-by: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/ocfs2/ioctl.c