Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb4965344965530411359891214cd6fcab483649
Commit:     eb4965344965530411359891214cd6fcab483649
Parent:     f77ae9390438409b535f3b1854672e54120cd38b
Author:     Johannes Berg <[EMAIL PROTECTED]>
AuthorDate: Wed Jul 18 02:07:51 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Jul 18 02:07:51 2007 -0700

    [NETLINK]: negative groups in netlink_setsockopt
    
    Reading netlink_setsockopt it's not immediately clear why there isn't a
    bug when you pass in negative numbers, the reason being that the >=
    comparison is really unsigned although 'val' is signed because
    nlk->ngroups is unsigned. Make 'val' unsigned too.
    
    [ Update the get_user() cast to match.  --DaveM ]
    
    Signed-off-by: Johannes Berg <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/netlink/af_netlink.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index a3c8e69..641cfbc 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1012,13 +1012,14 @@ static int netlink_setsockopt(struct socket *sock, int 
level, int optname,
 {
        struct sock *sk = sock->sk;
        struct netlink_sock *nlk = nlk_sk(sk);
-       int val = 0, err;
+       unsigned int val = 0;
+       int err;
 
        if (level != SOL_NETLINK)
                return -ENOPROTOOPT;
 
        if (optlen >= sizeof(int) &&
-           get_user(val, (int __user *)optval))
+           get_user(val, (unsigned int __user *)optval))
                return -EFAULT;
 
        switch (optname) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to