From: Dan Carpenter Date: Mon, 22 Feb 2016 19:31:31 +0000 (+0300) Subject: Staging: gdm72xx: silence underflow warning in netlink_send() X-Git-Tag: next-20160308~22^2~19 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=724dfc25f596668ad361ecd562f1a741114500aa;p=karo-tx-linux.git Staging: gdm72xx: silence underflow warning in netlink_send() The value of "group" comes from "idx" in __gdm_wimax_event_send(): if (sscanf(e->dev->name, "wm%d", &idx) == 1) Smatch marks sscanf values as user controlled. It's supposed to be a number in 0-30 range. We cap the upper bound but allow negatives. Fix this by making it type u16 instead. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/gdm72xx/netlink_k.c b/drivers/staging/gdm72xx/netlink_k.c index 984ca40f2bd3..533e921d07ca 100644 --- a/drivers/staging/gdm72xx/netlink_k.c +++ b/drivers/staging/gdm72xx/netlink_k.c @@ -114,7 +114,7 @@ void netlink_exit(struct sock *sock) netlink_kernel_release(sock); } -int netlink_send(struct sock *sock, int group, u16 type, void *msg, int len) +int netlink_send(struct sock *sock, u16 group, u16 type, void *msg, int len) { static u32 seq; struct sk_buff *skb = NULL; diff --git a/drivers/staging/gdm72xx/netlink_k.h b/drivers/staging/gdm72xx/netlink_k.h index 1fe7198d539e..1914347af8d3 100644 --- a/drivers/staging/gdm72xx/netlink_k.h +++ b/drivers/staging/gdm72xx/netlink_k.h @@ -20,6 +20,6 @@ struct sock *netlink_init(int unit, void (*cb)(struct net_device *dev, u16 type, void *msg, int len)); void netlink_exit(struct sock *sock); -int netlink_send(struct sock *sock, int group, u16 type, void *msg, int len); +int netlink_send(struct sock *sock, u16 group, u16 type, void *msg, int len); #endif /* __GDM72XX_NETLINK_K_H__ */