public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* drivers/s390/char/keyboard.c kernel stack infoleak
@ 2017-08-03 13:59 sohu0106
  2017-08-04  9:09 ` Thomas Huth
  0 siblings, 1 reply; 4+ messages in thread
From: sohu0106 @ 2017-08-03 13:59 UTC (permalink / raw)
  To: schwidefsky, heiko.carstens; +Cc: linux-s390, torvalds, linux-kernel


The stack object "kbdiacr" has a total size of 4 bytes. Its last 1 bytes are padding bytes after "result" which are not initialized and leaked to userland via "copy_to_user".


diff --git a/keyboard.c b/keyboard.c
index ba0e4f9..76a6d35 100644
--- a/keyboard.c
+++ b/keyboard.c
@@ -480,6 +480,8 @@ int kbd_ioctl(struct kbd_data *kbd, unsigned int cmd, unsigned long arg)
                struct kbdiacr diacr;
                int i;
 
+               memset( &diacr, 0, sizeof(struct kbdiacr) );
+
                if (put_user(kbd->accent_table_size, &a->kb_cnt))
                        return -EFAULT;
                for (i = 0; i < kbd->accent_table_size; i++) {

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-05  7:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-03 13:59 drivers/s390/char/keyboard.c kernel stack infoleak sohu0106
2017-08-04  9:09 ` Thomas Huth
2017-08-04  9:20   ` Heiko Carstens
     [not found]     ` <78655e6a.d34.15db01cd5b8.Coremail.sohu0106@126.com>
2017-08-05  7:12       ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox