| From: =?UTF-8?q?Salva=20Peir=C3=B3?= <speiro@ai2.upv.es> |
| Date: Fri, 11 Oct 2013 12:50:03 +0300 |
| Subject: farsync: fix info leak in ioctl |
| |
| [ Upstream commit 96b340406724d87e4621284ebac5e059d67b2194 ] |
| |
| The fst_get_iface() 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: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/wan/farsync.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c |
| index ebb9f24..7a4c491 100644 |
| --- a/drivers/net/wan/farsync.c |
| +++ b/drivers/net/wan/farsync.c |
| @@ -1972,6 +1972,7 @@ fst_get_iface(struct fst_card_info *card, struct fst_port_info *port, |
| } |
| |
| i = port->index; |
| + memset(&sync, 0, sizeof(sync)); |
| sync.clock_rate = FST_RDL(card, portConfig[i].lineSpeed); |
| /* Lucky card and linux use same encoding here */ |
| sync.clock_type = FST_RDB(card, portConfig[i].internalClock) == |