pep.c (4f2c0a4acffbec01079c28f839422e64ddeff004) pep.c (e1d001fa5b477c4da46a29be1fcece91db7c7c6f)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * File: pep.c
4 *
5 * Phonet pipe protocol end point socket
6 *
7 * Copyright (C) 2008 Nokia Corporation.
8 *

--- 903 unchanged lines hidden (view full) ---

912 if (err)
913 return err;
914
915 sk->sk_state = TCP_SYN_SENT;
916
917 return 0;
918}
919
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * File: pep.c
4 *
5 * Phonet pipe protocol end point socket
6 *
7 * Copyright (C) 2008 Nokia Corporation.
8 *

--- 903 unchanged lines hidden (view full) ---

912 if (err)
913 return err;
914
915 sk->sk_state = TCP_SYN_SENT;
916
917 return 0;
918}
919
920static int pep_ioctl(struct sock *sk, int cmd, unsigned long arg)
920static int pep_ioctl(struct sock *sk, int cmd, int *karg)
921{
922 struct pep_sock *pn = pep_sk(sk);
921{
922 struct pep_sock *pn = pep_sk(sk);
923 int answ;
924 int ret = -ENOIOCTLCMD;
925
926 switch (cmd) {
927 case SIOCINQ:
928 if (sk->sk_state == TCP_LISTEN) {
929 ret = -EINVAL;
930 break;
931 }
932
933 lock_sock(sk);
934 if (sock_flag(sk, SOCK_URGINLINE) &&
935 !skb_queue_empty(&pn->ctrlreq_queue))
923 int ret = -ENOIOCTLCMD;
924
925 switch (cmd) {
926 case SIOCINQ:
927 if (sk->sk_state == TCP_LISTEN) {
928 ret = -EINVAL;
929 break;
930 }
931
932 lock_sock(sk);
933 if (sock_flag(sk, SOCK_URGINLINE) &&
934 !skb_queue_empty(&pn->ctrlreq_queue))
936 answ = skb_peek(&pn->ctrlreq_queue)->len;
935 *karg = skb_peek(&pn->ctrlreq_queue)->len;
937 else if (!skb_queue_empty(&sk->sk_receive_queue))
936 else if (!skb_queue_empty(&sk->sk_receive_queue))
938 answ = skb_peek(&sk->sk_receive_queue)->len;
937 *karg = skb_peek(&sk->sk_receive_queue)->len;
939 else
938 else
940 answ = 0;
939 *karg = 0;
941 release_sock(sk);
940 release_sock(sk);
942 ret = put_user(answ, (int __user *)arg);
941 ret = 0;
943 break;
944
945 case SIOCPNENABLEPIPE:
946 lock_sock(sk);
947 if (sk->sk_state == TCP_SYN_SENT)
948 ret = -EBUSY;
949 else if (sk->sk_state == TCP_ESTABLISHED)
950 ret = -EISCONN;

--- 416 unchanged lines hidden ---
942 break;
943
944 case SIOCPNENABLEPIPE:
945 lock_sock(sk);
946 if (sk->sk_state == TCP_SYN_SENT)
947 ret = -EBUSY;
948 else if (sk->sk_state == TCP_ESTABLISHED)
949 ret = -EISCONN;

--- 416 unchanged lines hidden ---