diff mbox

fix infoleak in fcntl

Message ID 1462307649-5833-1-git-send-email-kjlu@gatech.edu (mailing list archive)
State New, archived
Headers show

Commit Message

Kangjie Lu May 3, 2016, 8:34 p.m. UTC
The stack object “si” has a total size of 128 bytes; however, only
16 bytes are initialized. The remaining uninitialized bytes are
sent to userland via send_signal.

Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
---
 fs/fcntl.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Christoph Hellwig May 8, 2016, 10:41 a.m. UTC | #1
On Tue, May 03, 2016 at 04:34:09PM -0400, Kangjie Lu wrote:
> The stack object ???si??? has a total size of 128 bytes; however, only
> 16 bytes are initialized. The remaining uninitialized bytes are
> sent to userland via send_signal.
> 
> Signed-off-by: Kangjie Lu <kjlu@gatech.edu>

Looks fine,

Reviewed-by: Christoph Hellwig <hch@lst.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Richard Weinberger May 8, 2016, 12:58 p.m. UTC | #2
On Tue, May 3, 2016 at 10:34 PM, Kangjie Lu <kangjielu@gmail.com> wrote:
> The stack object “si” has a total size of 128 bytes; however, only
> 16 bytes are initialized. The remaining uninitialized bytes are
> sent to userland via send_signal.

How did you find all these leaks?
Since you sent more than one patch I guess you used some tool, which one?
diff mbox

Patch

diff --git a/fs/fcntl.c b/fs/fcntl.c
index 350a2c8..d06f943 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -468,6 +468,7 @@  static void send_sigio_to_task(struct task_struct *p,
 			   delivered even if we can't queue.  Failure to
 			   queue in this case _should_ be reported; we fall
 			   back to SIGIO in that case. --sct */
+			memset(&si, 0, sizeof(si));
 			si.si_signo = signum;
 			si.si_errno = 0;
 		        si.si_code  = reason;