__clear_bit(flag, &sk->sk_flags);
 }
 
-static inline int sock_flag(struct sock *sk, enum sock_flags flag)
+static inline bool sock_flag(const struct sock *sk, enum sock_flags flag)
 {
        return test_bit(flag, &sk->sk_flags);
 }
 
                break;
 
        case SO_BROADCAST:
-               v.val = !!sock_flag(sk, SOCK_BROADCAST);
+               v.val = sock_flag(sk, SOCK_BROADCAST);
                break;
 
        case SO_SNDBUF:
                break;
 
        case SO_KEEPALIVE:
-               v.val = !!sock_flag(sk, SOCK_KEEPOPEN);
+               v.val = sock_flag(sk, SOCK_KEEPOPEN);
                break;
 
        case SO_TYPE:
                break;
 
        case SO_OOBINLINE:
-               v.val = !!sock_flag(sk, SOCK_URGINLINE);
+               v.val = sock_flag(sk, SOCK_URGINLINE);
                break;
 
        case SO_NO_CHECK:
 
        case SO_LINGER:
                lv              = sizeof(v.ling);
-               v.ling.l_onoff  = !!sock_flag(sk, SOCK_LINGER);
+               v.ling.l_onoff  = sock_flag(sk, SOCK_LINGER);
                v.ling.l_linger = sk->sk_lingertime / HZ;
                break;
 
                break;
 
        case SO_RXQ_OVFL:
-               v.val = !!sock_flag(sk, SOCK_RXQ_OVFL);
+               v.val = sock_flag(sk, SOCK_RXQ_OVFL);
                break;
 
        case SO_WIFI_STATUS:
-               v.val = !!sock_flag(sk, SOCK_WIFI_STATUS);
+               v.val = sock_flag(sk, SOCK_WIFI_STATUS);
                break;
 
        case SO_PEEK_OFF:
                v.val = sk->sk_peek_off;
                break;
        case SO_NOFCS:
-               v.val = !!sock_flag(sk, SOCK_NOFCS);
+               v.val = sock_flag(sk, SOCK_NOFCS);
                break;
        default:
                return -ENOPROTOOPT;