net: ar8216: address security vulnerabilities in swconfig & ar8216

Imported from e1aaf7ec00%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: net: ar8216: address security vulnerabilities in swconfig & ar8216

This patch does the following changes:
*address the security vulnerabilities in both swconfig framework and in
 ar8216 driver (many bound check additions, and turned swconfig structure
 signed element into unsigned when applicable)
*address a couple of whitespaces and indendation issues

BUG=chrome-os-partner:33096
TEST=none

Change-Id: I94ea78fcce8c1932cc584d1508c6e3b5dfb93ce9
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/236490
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Commit-Queue: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
This commit is contained in:
Pavel Kubelun
2016-11-28 18:10:05 +03:00
committed by John Crispin
parent a3454d1929
commit 5a69f59602
3 changed files with 32 additions and 13 deletions

View File

@@ -115,12 +115,12 @@ struct switch_dev {
const char *alias;
struct net_device *netdev;
int ports;
int vlans;
int cpu_port;
unsigned int ports;
unsigned int vlans;
unsigned int cpu_port;
/* the following fields are internal for swconfig */
int id;
unsigned int id;
struct list_head dev_list;
unsigned long def_global, def_port, def_vlan;
@@ -148,8 +148,8 @@ struct switch_portmap {
struct switch_val {
const struct switch_attr *attr;
int port_vlan;
int len;
unsigned int port_vlan;
unsigned int len;
union {
const char *s;
u32 i;