The hdlcdev_ioctl() code fails to initialize the two padding bytes of
struct sync_serial_settings after the ->loopback member. Add an explicit
memset(0) before filling the structure to avoid the info leak.

Signed-off-by: Salva Peiró <spe...@ai2.upv.es>
---
 drivers/tty/synclink.c   |    1 +
 drivers/tty/synclinkmp.c |    1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/tty/synclink.c b/drivers/tty/synclink.c
index 5ae14b4..d48e040 100644
--- a/drivers/tty/synclink.c
+++ b/drivers/tty/synclink.c
@@ -7866,6 +7866,7 @@ static int hdlcdev_ioctl(struct net_device *dev, struct 
ifreq *ifr, int cmd)
                                              HDLC_FLAG_TXC_TXCPIN | 
HDLC_FLAG_TXC_DPLL |
                                              HDLC_FLAG_TXC_BRG    | 
HDLC_FLAG_TXC_RXCPIN);
 
+               memset(&new_line, 0, sizeof(new_line));
                switch (flags){
                case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): 
new_line.clock_type = CLOCK_EXT; break;
                case (HDLC_FLAG_RXC_BRG    | HDLC_FLAG_TXC_BRG):    
new_line.clock_type = CLOCK_INT; break;
diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/synclinkmp.c
index 144202e..53ba853 100644
--- a/drivers/tty/synclinkmp.c
+++ b/drivers/tty/synclinkmp.c
@@ -1766,6 +1766,7 @@ static int hdlcdev_ioctl(struct net_device *dev, struct 
ifreq *ifr, int cmd)
                                              HDLC_FLAG_TXC_TXCPIN | 
HDLC_FLAG_TXC_DPLL |
                                              HDLC_FLAG_TXC_BRG    | 
HDLC_FLAG_TXC_RXCPIN);
 
+               memset(&new_line, 0, sizeof(new_line));
                switch (flags){
                case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): 
new_line.clock_type = CLOCK_EXT; break;
                case (HDLC_FLAG_RXC_BRG    | HDLC_FLAG_TXC_BRG):    
new_line.clock_type = CLOCK_INT; break;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to