All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
@ 2021-06-23  3:35 13145886936
  2021-06-23  8:29   ` kernel test robot
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: 13145886936 @ 2021-06-23  3:35 UTC (permalink / raw)
  To: davem, kuba; +Cc: linux-decnet-user, netdev, linux-kernel, gushengxian

From: gushengxian <gushengxian@yulong.com>

pmc should not be referenced when it's NULL.

Signed-off-by: gushengxian <gushengxian@yulong.com>
---
 net/decnet/af_decnet.c | 67 ++++++++++++++++--------------------------
 1 file changed, 25 insertions(+), 42 deletions(-)

diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
index 5dbd45dc35ad..be2758ac40cb 100644
--- a/net/decnet/af_decnet.c
+++ b/net/decnet/af_decnet.c
@@ -152,7 +152,8 @@ static atomic_long_t decnet_memory_allocated;
 
 static int __dn_setsockopt(struct socket *sock, int level, int optname,
 		sockptr_t optval, unsigned int optlen, int flags);
-static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags);
+static int __dn_getsockopt(struct socket *sock, int level, int optname,
+		char __user *optval, int __user *optlen, int flags);
 
 static struct hlist_head *dn_find_list(struct sock *sk)
 {
@@ -176,6 +177,7 @@ static int check_port(__le16 port)
 
 	sk_for_each(sk, &dn_sk_hash[le16_to_cpu(port) & DN_SK_HASH_MASK]) {
 		struct dn_scp *scp = DN_SK(sk);
+
 		if (scp->addrloc == port)
 			return -1;
 	}
@@ -373,6 +375,7 @@ struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr)
 	read_lock(&dn_hash_lock);
 	sk_for_each(sk, list) {
 		struct dn_scp *scp = DN_SK(sk);
+
 		if (sk->sk_state != TCP_LISTEN)
 			continue;
 		if (scp->addr.sdn_objnum) {
@@ -427,8 +430,6 @@ struct sock *dn_find_by_skb(struct sk_buff *skb)
 	return sk;
 }
 
-
-
 static void dn_destruct(struct sock *sk)
 {
 	struct dn_scp *scp = DN_SK(sk);
@@ -444,9 +445,8 @@ static unsigned long dn_memory_pressure;
 
 static void dn_enter_memory_pressure(struct sock *sk)
 {
-	if (!dn_memory_pressure) {
+	if (!dn_memory_pressure)
 		dn_memory_pressure = 1;
-	}
 }
 
 static struct proto dn_proto = {
@@ -548,7 +548,6 @@ static void dn_keepalive(struct sock *sk)
 		dn_nsp_send_link(sk, DN_NOCHANGE, 0);
 }
 
-
 /*
  * Timer for shutdown/destroyed sockets.
  * When socket is dead & no packets have been sent for a
@@ -664,8 +663,6 @@ char *dn_addr2asc(__u16 addr, char *buf)
 	return buf;
 }
 
-
-
 static int dn_create(struct net *net, struct socket *sock, int protocol,
 		     int kern)
 {
@@ -688,7 +685,6 @@ static int dn_create(struct net *net, struct socket *sock, int protocol,
 		return -ESOCKTNOSUPPORT;
 	}
 
-
 	if ((sk = dn_alloc_sock(net, sock, GFP_KERNEL, kern)) == NULL)
 		return -ENOBUFS;
 
@@ -755,7 +751,7 @@ static int dn_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 				}
 			}
 			rcu_read_unlock();
-			if (ldev == NULL)
+			if (!ldev)
 				return -EADDRNOTAVAIL;
 		}
 	}
@@ -775,7 +771,6 @@ static int dn_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 	return rv;
 }
 
-
 static int dn_auto_bind(struct socket *sock)
 {
 	struct sock *sk = sock->sk;
@@ -793,7 +788,6 @@ static int dn_auto_bind(struct socket *sock)
 	 */
 	if ((scp->accessdata.acc_accl != 0) &&
 		(scp->accessdata.acc_accl <= 12)) {
-
 		scp->addr.sdn_objnamel = cpu_to_le16(scp->accessdata.acc_accl);
 		memcpy(scp->addr.sdn_objname, scp->accessdata.acc_acc, le16_to_cpu(scp->addr.sdn_objnamel));
 
@@ -926,7 +920,7 @@ static int __dn_connect(struct sock *sk, struct sockaddr_dn *addr, int addrlen,
 	if (scp->state != DN_O)
 		goto out;
 
-	if (addr == NULL || addrlen != sizeof(struct sockaddr_dn))
+	if (!addr || addrlen != sizeof(struct sockaddr_dn))
 		goto out;
 	if (addr->sdn_family != AF_DECnet)
 		goto out;
@@ -958,9 +952,8 @@ static int __dn_connect(struct sock *sk, struct sockaddr_dn *addr, int addrlen,
 
 	dn_nsp_send_conninit(sk, NSP_CI);
 	err = -EINPROGRESS;
-	if (*timeo) {
+	if (*timeo)
 		err = dn_wait_run(sk, timeo);
-	}
 out:
 	return err;
 }
@@ -998,7 +991,6 @@ static inline int dn_check_state(struct sock *sk, struct sockaddr_dn *addr, int
 	return -EINVAL;
 }
 
-
 static void dn_access_copy(struct sk_buff *skb, struct accessdata_dn *acc)
 {
 	unsigned char *ptr = skb->data;
@@ -1015,7 +1007,6 @@ static void dn_access_copy(struct sk_buff *skb, struct accessdata_dn *acc)
 	memcpy(&acc->acc_acc, ptr, acc->acc_accl);
 
 	skb_pull(skb, acc->acc_accl + acc->acc_passl + acc->acc_userl + 3);
-
 }
 
 static void dn_user_copy(struct sk_buff *skb, struct optdata_dn *opt)
@@ -1040,12 +1031,12 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo)
 	for(;;) {
 		release_sock(sk);
 		skb = skb_dequeue(&sk->sk_receive_queue);
-		if (skb == NULL) {
+		if (!skb) {
 			*timeo = schedule_timeout(*timeo);
 			skb = skb_dequeue(&sk->sk_receive_queue);
 		}
 		lock_sock(sk);
-		if (skb != NULL)
+		if (skb)
 			break;
 		err = -EINVAL;
 		if (sk->sk_state != TCP_LISTEN)
@@ -1060,7 +1051,7 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo)
 	}
 	finish_wait(sk_sleep(sk), &wait);
 
-	return skb == NULL ? ERR_PTR(err) : skb;
+	return !skb ? ERR_PTR(err) : skb;
 }
 
 static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
@@ -1083,7 +1074,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	}
 
 	skb = skb_dequeue(&sk->sk_receive_queue);
-	if (skb == NULL) {
+	if (!skb) {
 		skb = dn_wait_for_connect(sk, &timeo);
 		if (IS_ERR(skb)) {
 			release_sock(sk);
@@ -1094,7 +1085,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	cb = DN_SKB_CB(skb);
 	sk_acceptq_removed(sk);
 	newsk = dn_alloc_sock(sock_net(sk), newsock, sk->sk_allocation, kern);
-	if (newsk == NULL) {
+	if (!newsk) {
 		release_sock(sk);
 		kfree_skb(skb);
 		return -ENOBUFS;
@@ -1172,8 +1163,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	return err;
 }
 
-
-static int dn_getname(struct socket *sock, struct sockaddr *uaddr,int peer)
+static int dn_getname(struct socket *sock, struct sockaddr *uaddr, int peer)
 {
 	struct sockaddr_dn *sa = (struct sockaddr_dn *)uaddr;
 	struct sock *sk = sock->sk;
@@ -1199,7 +1189,6 @@ static int dn_getname(struct socket *sock, struct sockaddr *uaddr,int peer)
 	return sizeof(struct sockaddr_dn);
 }
 
-
 static __poll_t dn_poll(struct file *file, struct socket *sock, poll_table  *wait)
 {
 	struct sock *sk = sock->sk;
@@ -1221,8 +1210,7 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 	struct sk_buff *skb;
 	int val;
 
-	switch(cmd)
-	{
+	switch (cmd) {
 	case SIOCGIFADDR:
 	case SIOCSIFADDR:
 		return dn_dev_ioctl(cmd, (void __user *)arg);
@@ -1249,7 +1237,6 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 			amount = skb->len;
 		} else {
 			skb_queue_walk(&sk->sk_receive_queue, skb)
-				amount += skb->len;
 		}
 		release_sock(sk);
 		err = put_user(amount, (int __user *)arg);
@@ -1288,7 +1275,6 @@ static int dn_listen(struct socket *sock, int backlog)
 	return err;
 }
 
-
 static int dn_shutdown(struct socket *sock, int how)
 {
 	struct sock *sk = sock->sk;
@@ -1537,7 +1523,7 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us
 	void *r_data = NULL;
 	unsigned int val;
 
-	if(get_user(r_len , optlen))
+	if (get_user(r_len, optlen))
 		return -EFAULT;
 
 	switch (optname) {
@@ -1639,7 +1625,6 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us
 	return 0;
 }
 
-
 static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int target)
 {
 	struct sk_buff *skb;
@@ -1650,6 +1635,7 @@ static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int
 
 	skb_queue_walk(q, skb) {
 		struct dn_skb_cb *cb = DN_SKB_CB(skb);
+
 		len += skb->len;
 
 		if (cb->nsp_flags & 0x40) {
@@ -1669,7 +1655,6 @@ static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int
 	return 0;
 }
 
-
 static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 		      int flags)
 {
@@ -1711,7 +1696,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 	if (flags & MSG_WAITALL)
 		target = size;
 
-
 	/*
 	 * See if there is data ready to read, sleep if there isn't
 	 */
@@ -1756,6 +1740,7 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 
 	skb_queue_walk_safe(queue, skb, n) {
 		unsigned int chunk = skb->len;
+
 		cb = DN_SKB_CB(skb);
 
 		if ((chunk + copied) > size)
@@ -1801,7 +1786,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 
 	rv = copied;
 
-
 	if (eor && (sk->sk_type == SOCK_SEQPACKET))
 		msg->msg_flags |= MSG_EOR;
 
@@ -1820,7 +1804,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 	return rv;
 }
 
-
 static inline int dn_queue_too_long(struct dn_scp *scp, struct sk_buff_head *queue, int flags)
 {
 	unsigned char fctype = scp->services_rem & NSP_FC_MASK;
@@ -1849,8 +1832,10 @@ static inline int dn_queue_too_long(struct dn_scp *scp, struct sk_buff_head *que
 unsigned int dn_mss_from_pmtu(struct net_device *dev, int mtu)
 {
 	unsigned int mss = 230 - DN_MAX_NSP_DATA_HEADER;
+
 	if (dev) {
 		struct dn_dev *dn_db = rcu_dereference_raw(dev->dn_ptr);
+
 		mtu -= LL_RESERVED_SPACE(dev);
 		if (dn_db->use_long)
 			mtu -= 21;
@@ -1881,6 +1866,7 @@ static inline unsigned int dn_current_mss(struct sock *sk, int flags)
 	/* This works out the maximum size of segment we can send out */
 	if (dst) {
 		u32 mtu = dst_mtu(dst);
+
 		mss_now = min_t(int, dn_mss_from_pmtu(dst->dev, mtu), mss_now);
 	}
 
@@ -1944,7 +1930,6 @@ static int dn_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 		flags |= MSG_EOR;
 	}
 
-
 	err = dn_check_state(sk, addr, addr_len, &timeo, flags);
 	if (err)
 		goto out_err;
@@ -2063,7 +2048,6 @@ static int dn_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 		skb = NULL;
 
 		scp->persist = dn_nsp_persist(sk);
-
 	}
 out:
 
@@ -2159,11 +2143,11 @@ static struct sock *socket_get_idx(struct seq_file *seq, loff_t *pos)
 static void *dn_socket_get_idx(struct seq_file *seq, loff_t pos)
 {
 	void *rc;
+
 	read_lock_bh(&dn_hash_lock);
 	rc = socket_get_idx(seq, &pos);
-	if (!rc) {
+	if (!rc)
 		read_unlock_bh(&dn_hash_lock);
-	}
 	return rc;
 }
 
@@ -2261,8 +2245,8 @@ static inline void dn_socket_format_entry(struct seq_file *seq, struct sock *sk)
 	struct dn_scp *scp = DN_SK(sk);
 	char buf1[DN_ASCBUF_LEN];
 	char buf2[DN_ASCBUF_LEN];
-	char local_object[DN_MAXOBJL+3];
-	char remote_object[DN_MAXOBJL+3];
+	char local_object[DN_MAXOBJL + 3];
+	char remote_object[DN_MAXOBJL + 3];
 
 	dn_printable_object(&scp->addr, local_object);
 	dn_printable_object(&scp->peer, remote_object);
@@ -2368,7 +2352,6 @@ static int __init decnet_init(void)
 	dn_register_sysctl();
 out:
 	return rc;
-
 }
 module_init(decnet_init);
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
  2021-06-23  3:35 [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL 13145886936
@ 2021-06-23  8:29   ` kernel test robot
  2021-06-23  9:34   ` kernel test robot
  2021-06-23 10:47 ` Eric Dumazet
  2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2021-06-23  8:29 UTC (permalink / raw)
  To: 13145886936, davem, kuba
  Cc: kbuild-all, linux-decnet-user, netdev, linux-kernel, gushengxian

[-- Attachment #1: Type: text/plain, Size: 5356 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master v5.13-rc7 next-20210622]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 38f75922a6905b010f597fc70dbb5db28398728e
config: ia64-randconfig-r005-20210622 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/684dced1c59e94a4ef160061073d0cb928b370e4
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
        git checkout 684dced1c59e94a4ef160061073d0cb928b370e4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   net/decnet/af_decnet.c: In function 'dn_ioctl':
>> net/decnet/af_decnet.c:1240:3: error: expected expression before '}' token
    1240 |   }
         |   ^


vim +1240 net/decnet/af_decnet.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  1203  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1204  static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1205  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1206  	struct sock *sk = sock->sk;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1207  	struct dn_scp *scp = DN_SK(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1208  	int err = -EOPNOTSUPP;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1209  	long amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1210  	struct sk_buff *skb;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1211  	int val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1212  
684dced1c59e94 gushengxian       2021-06-22  1213  	switch (cmd) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1214  	case SIOCGIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1215  	case SIOCSIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1216  		return dn_dev_ioctl(cmd, (void __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1217  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1218  	case SIOCATMARK:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1219  		lock_sock(sk);
b03efcfb218028 David S. Miller   2005-07-08  1220  		val = !skb_queue_empty(&scp->other_receive_queue);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1221  		if (scp->state != DN_RUN)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1222  			val = -ENOTCONN;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1223  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1224  		return val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1225  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1226  	case TIOCOUTQ:
31e6d363abcd0d Eric Dumazet      2009-06-17  1227  		amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1228  		if (amount < 0)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1229  			amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1230  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1231  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1232  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1233  	case TIOCINQ:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1234  		lock_sock(sk);
e57c624be8f99e Hannes Eder       2009-02-25  1235  		skb = skb_peek(&scp->other_receive_queue);
e57c624be8f99e Hannes Eder       2009-02-25  1236  		if (skb) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1237  			amount = skb->len;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1238  		} else {
bec571ec762a4c David S. Miller   2009-05-28  1239  			skb_queue_walk(&sk->sk_receive_queue, skb)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @1240  		}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1241  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1242  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1243  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1244  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1245  	default:
b5e5fa5e093e42 Christoph Hellwig 2006-01-03  1246  		err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1247  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1248  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1249  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1250  	return err;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1251  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  1252  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30874 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
@ 2021-06-23  8:29   ` kernel test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2021-06-23  8:29 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5449 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master v5.13-rc7 next-20210622]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 38f75922a6905b010f597fc70dbb5db28398728e
config: ia64-randconfig-r005-20210622 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/684dced1c59e94a4ef160061073d0cb928b370e4
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
        git checkout 684dced1c59e94a4ef160061073d0cb928b370e4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   net/decnet/af_decnet.c: In function 'dn_ioctl':
>> net/decnet/af_decnet.c:1240:3: error: expected expression before '}' token
    1240 |   }
         |   ^


vim +1240 net/decnet/af_decnet.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  1203  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1204  static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1205  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1206  	struct sock *sk = sock->sk;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1207  	struct dn_scp *scp = DN_SK(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1208  	int err = -EOPNOTSUPP;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1209  	long amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1210  	struct sk_buff *skb;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1211  	int val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1212  
684dced1c59e94 gushengxian       2021-06-22  1213  	switch (cmd) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1214  	case SIOCGIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1215  	case SIOCSIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1216  		return dn_dev_ioctl(cmd, (void __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1217  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1218  	case SIOCATMARK:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1219  		lock_sock(sk);
b03efcfb218028 David S. Miller   2005-07-08  1220  		val = !skb_queue_empty(&scp->other_receive_queue);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1221  		if (scp->state != DN_RUN)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1222  			val = -ENOTCONN;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1223  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1224  		return val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1225  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1226  	case TIOCOUTQ:
31e6d363abcd0d Eric Dumazet      2009-06-17  1227  		amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1228  		if (amount < 0)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1229  			amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1230  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1231  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1232  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1233  	case TIOCINQ:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1234  		lock_sock(sk);
e57c624be8f99e Hannes Eder       2009-02-25  1235  		skb = skb_peek(&scp->other_receive_queue);
e57c624be8f99e Hannes Eder       2009-02-25  1236  		if (skb) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1237  			amount = skb->len;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1238  		} else {
bec571ec762a4c David S. Miller   2009-05-28  1239  			skb_queue_walk(&sk->sk_receive_queue, skb)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @1240  		}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1241  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1242  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1243  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1244  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1245  	default:
b5e5fa5e093e42 Christoph Hellwig 2006-01-03  1246  		err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1247  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1248  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1249  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1250  	return err;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1251  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  1252  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30874 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
  2021-06-23  3:35 [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL 13145886936
@ 2021-06-23  9:34   ` kernel test robot
  2021-06-23  9:34   ` kernel test robot
  2021-06-23 10:47 ` Eric Dumazet
  2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2021-06-23  9:34 UTC (permalink / raw)
  To: 13145886936, davem, kuba
  Cc: kbuild-all, clang-built-linux, linux-decnet-user, netdev,
	linux-kernel, gushengxian

[-- Attachment #1: Type: text/plain, Size: 5545 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master v5.13-rc7 next-20210622]
[cannot apply to sparc-next/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 38f75922a6905b010f597fc70dbb5db28398728e
config: x86_64-randconfig-a001-20210622 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project b259740801d3515810ecc15bf0c24b0d476a1608)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/684dced1c59e94a4ef160061073d0cb928b370e4
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
        git checkout 684dced1c59e94a4ef160061073d0cb928b370e4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/decnet/af_decnet.c:1240:3: error: expected statement
                   }
                   ^
   1 error generated.


vim +1240 net/decnet/af_decnet.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  1203  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1204  static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1205  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1206  	struct sock *sk = sock->sk;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1207  	struct dn_scp *scp = DN_SK(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1208  	int err = -EOPNOTSUPP;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1209  	long amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1210  	struct sk_buff *skb;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1211  	int val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1212  
684dced1c59e94 gushengxian       2021-06-22  1213  	switch (cmd) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1214  	case SIOCGIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1215  	case SIOCSIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1216  		return dn_dev_ioctl(cmd, (void __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1217  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1218  	case SIOCATMARK:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1219  		lock_sock(sk);
b03efcfb218028 David S. Miller   2005-07-08  1220  		val = !skb_queue_empty(&scp->other_receive_queue);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1221  		if (scp->state != DN_RUN)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1222  			val = -ENOTCONN;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1223  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1224  		return val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1225  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1226  	case TIOCOUTQ:
31e6d363abcd0d Eric Dumazet      2009-06-17  1227  		amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1228  		if (amount < 0)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1229  			amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1230  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1231  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1232  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1233  	case TIOCINQ:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1234  		lock_sock(sk);
e57c624be8f99e Hannes Eder       2009-02-25  1235  		skb = skb_peek(&scp->other_receive_queue);
e57c624be8f99e Hannes Eder       2009-02-25  1236  		if (skb) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1237  			amount = skb->len;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1238  		} else {
bec571ec762a4c David S. Miller   2009-05-28  1239  			skb_queue_walk(&sk->sk_receive_queue, skb)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @1240  		}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1241  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1242  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1243  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1244  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1245  	default:
b5e5fa5e093e42 Christoph Hellwig 2006-01-03  1246  		err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1247  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1248  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1249  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1250  	return err;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1251  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  1252  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45187 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
@ 2021-06-23  9:34   ` kernel test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2021-06-23  9:34 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5641 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master v5.13-rc7 next-20210622]
[cannot apply to sparc-next/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 38f75922a6905b010f597fc70dbb5db28398728e
config: x86_64-randconfig-a001-20210622 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project b259740801d3515810ecc15bf0c24b0d476a1608)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/684dced1c59e94a4ef160061073d0cb928b370e4
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 13145886936-163-com/decnet-af_decnet-pmc-should-not-be-referenced-when-it-s-NULL/20210623-113728
        git checkout 684dced1c59e94a4ef160061073d0cb928b370e4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/decnet/af_decnet.c:1240:3: error: expected statement
                   }
                   ^
   1 error generated.


vim +1240 net/decnet/af_decnet.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  1203  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1204  static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1205  {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1206  	struct sock *sk = sock->sk;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1207  	struct dn_scp *scp = DN_SK(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1208  	int err = -EOPNOTSUPP;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1209  	long amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1210  	struct sk_buff *skb;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1211  	int val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1212  
684dced1c59e94 gushengxian       2021-06-22  1213  	switch (cmd) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1214  	case SIOCGIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1215  	case SIOCSIFADDR:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1216  		return dn_dev_ioctl(cmd, (void __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1217  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1218  	case SIOCATMARK:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1219  		lock_sock(sk);
b03efcfb218028 David S. Miller   2005-07-08  1220  		val = !skb_queue_empty(&scp->other_receive_queue);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1221  		if (scp->state != DN_RUN)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1222  			val = -ENOTCONN;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1223  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1224  		return val;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1225  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1226  	case TIOCOUTQ:
31e6d363abcd0d Eric Dumazet      2009-06-17  1227  		amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1228  		if (amount < 0)
^1da177e4c3f41 Linus Torvalds    2005-04-16  1229  			amount = 0;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1230  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1231  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1232  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1233  	case TIOCINQ:
^1da177e4c3f41 Linus Torvalds    2005-04-16  1234  		lock_sock(sk);
e57c624be8f99e Hannes Eder       2009-02-25  1235  		skb = skb_peek(&scp->other_receive_queue);
e57c624be8f99e Hannes Eder       2009-02-25  1236  		if (skb) {
^1da177e4c3f41 Linus Torvalds    2005-04-16  1237  			amount = skb->len;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1238  		} else {
bec571ec762a4c David S. Miller   2009-05-28  1239  			skb_queue_walk(&sk->sk_receive_queue, skb)
^1da177e4c3f41 Linus Torvalds    2005-04-16 @1240  		}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1241  		release_sock(sk);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1242  		err = put_user(amount, (int __user *)arg);
^1da177e4c3f41 Linus Torvalds    2005-04-16  1243  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1244  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1245  	default:
b5e5fa5e093e42 Christoph Hellwig 2006-01-03  1246  		err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1247  		break;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1248  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  1249  
^1da177e4c3f41 Linus Torvalds    2005-04-16  1250  	return err;
^1da177e4c3f41 Linus Torvalds    2005-04-16  1251  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  1252  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 45187 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
  2021-06-23  3:35 [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL 13145886936
  2021-06-23  8:29   ` kernel test robot
  2021-06-23  9:34   ` kernel test robot
@ 2021-06-23 10:47 ` Eric Dumazet
  2 siblings, 0 replies; 7+ messages in thread
From: Eric Dumazet @ 2021-06-23 10:47 UTC (permalink / raw)
  To: 13145886936, davem, kuba
  Cc: linux-decnet-user, netdev, linux-kernel, gushengxian



On 6/23/21 5:35 AM, 13145886936@163.com wrote:
> From: gushengxian <gushengxian@yulong.com>
> 
> pmc should not be referenced when it's NULL.
> 
> Signed-off-by: gushengxian <gushengxian@yulong.com>
> ---
>  net/decnet/af_decnet.c | 67 ++++++++++++++++--------------------------
>  1 file changed, 25 insertions(+), 42 deletions(-)
> 
> diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
> index 5dbd45dc35ad..be2758ac40cb 100644
> --- a/net/decnet/af_decnet.c
> +++ b/net/decnet/af_decnet.c
> @@ -152,7 +152,8 @@ static atomic_long_t decnet_memory_allocated;
>  
>  static int __dn_setsockopt(struct socket *sock, int level, int optname,
>  		sockptr_t optval, unsigned int optlen, int flags);
> -static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags);
> +static int __dn_getsockopt(struct socket *sock, int level, int optname,
> +		char __user *optval, int __user *optlen, int flags);
>  
>  static struct hlist_head *dn_find_list(struct sock *sk)
>  {
> @@ -176,6 +177,7 @@ static int check_port(__le16 port)
>  
>  	sk_for_each(sk, &dn_sk_hash[le16_to_cpu(port) & DN_SK_HASH_MASK]) {
>  		struct dn_scp *scp = DN_SK(sk);
> +
>  		if (scp->addrloc == port)
>  			return -1;
>

Please do not add noise to your patch.

Never mix cleanups and a fix.

Also, decnet is no longer used, please do not send space cleanups.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL
@ 2021-06-23 10:12 13145886936
  0 siblings, 0 replies; 7+ messages in thread
From: 13145886936 @ 2021-06-23 10:12 UTC (permalink / raw)
  To: davem, kuba
  Cc: linux-decnet-user, netdev, linux-kernel, gushengxian, kernel test robot

From: gushengxian <gushengxian@yulong.com>

pmc should not be referenced when it's NULL.

Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>): fix compile error.
Signed-off-by: gushengxian <gushengxian@yulong.com>
---
 net/decnet/af_decnet.c | 68 ++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 42 deletions(-)

diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
index 5dbd45dc35ad..2270882dfff8 100644
--- a/net/decnet/af_decnet.c
+++ b/net/decnet/af_decnet.c
@@ -152,7 +152,8 @@ static atomic_long_t decnet_memory_allocated;
 
 static int __dn_setsockopt(struct socket *sock, int level, int optname,
 		sockptr_t optval, unsigned int optlen, int flags);
-static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags);
+static int __dn_getsockopt(struct socket *sock, int level, int optname,
+		char __user *optval, int __user *optlen, int flags);
 
 static struct hlist_head *dn_find_list(struct sock *sk)
 {
@@ -176,6 +177,7 @@ static int check_port(__le16 port)
 
 	sk_for_each(sk, &dn_sk_hash[le16_to_cpu(port) & DN_SK_HASH_MASK]) {
 		struct dn_scp *scp = DN_SK(sk);
+
 		if (scp->addrloc == port)
 			return -1;
 	}
@@ -373,6 +375,7 @@ struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr)
 	read_lock(&dn_hash_lock);
 	sk_for_each(sk, list) {
 		struct dn_scp *scp = DN_SK(sk);
+
 		if (sk->sk_state != TCP_LISTEN)
 			continue;
 		if (scp->addr.sdn_objnum) {
@@ -427,8 +430,6 @@ struct sock *dn_find_by_skb(struct sk_buff *skb)
 	return sk;
 }
 
-
-
 static void dn_destruct(struct sock *sk)
 {
 	struct dn_scp *scp = DN_SK(sk);
@@ -444,9 +445,8 @@ static unsigned long dn_memory_pressure;
 
 static void dn_enter_memory_pressure(struct sock *sk)
 {
-	if (!dn_memory_pressure) {
+	if (!dn_memory_pressure)
 		dn_memory_pressure = 1;
-	}
 }
 
 static struct proto dn_proto = {
@@ -548,7 +548,6 @@ static void dn_keepalive(struct sock *sk)
 		dn_nsp_send_link(sk, DN_NOCHANGE, 0);
 }
 
-
 /*
  * Timer for shutdown/destroyed sockets.
  * When socket is dead & no packets have been sent for a
@@ -664,8 +663,6 @@ char *dn_addr2asc(__u16 addr, char *buf)
 	return buf;
 }
 
-
-
 static int dn_create(struct net *net, struct socket *sock, int protocol,
 		     int kern)
 {
@@ -688,7 +685,6 @@ static int dn_create(struct net *net, struct socket *sock, int protocol,
 		return -ESOCKTNOSUPPORT;
 	}
 
-
 	if ((sk = dn_alloc_sock(net, sock, GFP_KERNEL, kern)) == NULL)
 		return -ENOBUFS;
 
@@ -755,7 +751,7 @@ static int dn_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 				}
 			}
 			rcu_read_unlock();
-			if (ldev == NULL)
+			if (!ldev)
 				return -EADDRNOTAVAIL;
 		}
 	}
@@ -775,7 +771,6 @@ static int dn_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 	return rv;
 }
 
-
 static int dn_auto_bind(struct socket *sock)
 {
 	struct sock *sk = sock->sk;
@@ -793,7 +788,6 @@ static int dn_auto_bind(struct socket *sock)
 	 */
 	if ((scp->accessdata.acc_accl != 0) &&
 		(scp->accessdata.acc_accl <= 12)) {
-
 		scp->addr.sdn_objnamel = cpu_to_le16(scp->accessdata.acc_accl);
 		memcpy(scp->addr.sdn_objname, scp->accessdata.acc_acc, le16_to_cpu(scp->addr.sdn_objnamel));
 
@@ -926,7 +920,7 @@ static int __dn_connect(struct sock *sk, struct sockaddr_dn *addr, int addrlen,
 	if (scp->state != DN_O)
 		goto out;
 
-	if (addr == NULL || addrlen != sizeof(struct sockaddr_dn))
+	if (!addr || addrlen != sizeof(struct sockaddr_dn))
 		goto out;
 	if (addr->sdn_family != AF_DECnet)
 		goto out;
@@ -958,9 +952,8 @@ static int __dn_connect(struct sock *sk, struct sockaddr_dn *addr, int addrlen,
 
 	dn_nsp_send_conninit(sk, NSP_CI);
 	err = -EINPROGRESS;
-	if (*timeo) {
+	if (*timeo)
 		err = dn_wait_run(sk, timeo);
-	}
 out:
 	return err;
 }
@@ -998,7 +991,6 @@ static inline int dn_check_state(struct sock *sk, struct sockaddr_dn *addr, int
 	return -EINVAL;
 }
 
-
 static void dn_access_copy(struct sk_buff *skb, struct accessdata_dn *acc)
 {
 	unsigned char *ptr = skb->data;
@@ -1015,7 +1007,6 @@ static void dn_access_copy(struct sk_buff *skb, struct accessdata_dn *acc)
 	memcpy(&acc->acc_acc, ptr, acc->acc_accl);
 
 	skb_pull(skb, acc->acc_accl + acc->acc_passl + acc->acc_userl + 3);
-
 }
 
 static void dn_user_copy(struct sk_buff *skb, struct optdata_dn *opt)
@@ -1040,12 +1031,12 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo)
 	for(;;) {
 		release_sock(sk);
 		skb = skb_dequeue(&sk->sk_receive_queue);
-		if (skb == NULL) {
+		if (!skb) {
 			*timeo = schedule_timeout(*timeo);
 			skb = skb_dequeue(&sk->sk_receive_queue);
 		}
 		lock_sock(sk);
-		if (skb != NULL)
+		if (skb)
 			break;
 		err = -EINVAL;
 		if (sk->sk_state != TCP_LISTEN)
@@ -1060,7 +1051,7 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo)
 	}
 	finish_wait(sk_sleep(sk), &wait);
 
-	return skb == NULL ? ERR_PTR(err) : skb;
+	return !skb ? ERR_PTR(err) : skb;
 }
 
 static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
@@ -1083,7 +1074,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	}
 
 	skb = skb_dequeue(&sk->sk_receive_queue);
-	if (skb == NULL) {
+	if (!skb) {
 		skb = dn_wait_for_connect(sk, &timeo);
 		if (IS_ERR(skb)) {
 			release_sock(sk);
@@ -1094,7 +1085,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	cb = DN_SKB_CB(skb);
 	sk_acceptq_removed(sk);
 	newsk = dn_alloc_sock(sock_net(sk), newsock, sk->sk_allocation, kern);
-	if (newsk == NULL) {
+	if (!newsk) {
 		release_sock(sk);
 		kfree_skb(skb);
 		return -ENOBUFS;
@@ -1172,8 +1163,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
 	return err;
 }
 
-
-static int dn_getname(struct socket *sock, struct sockaddr *uaddr,int peer)
+static int dn_getname(struct socket *sock, struct sockaddr *uaddr, int peer)
 {
 	struct sockaddr_dn *sa = (struct sockaddr_dn *)uaddr;
 	struct sock *sk = sock->sk;
@@ -1199,7 +1189,6 @@ static int dn_getname(struct socket *sock, struct sockaddr *uaddr,int peer)
 	return sizeof(struct sockaddr_dn);
 }
 
-
 static __poll_t dn_poll(struct file *file, struct socket *sock, poll_table  *wait)
 {
 	struct sock *sk = sock->sk;
@@ -1221,8 +1210,7 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 	struct sk_buff *skb;
 	int val;
 
-	switch(cmd)
-	{
+	switch (cmd) {
 	case SIOCGIFADDR:
 	case SIOCSIFADDR:
 		return dn_dev_ioctl(cmd, (void __user *)arg);
@@ -1249,7 +1237,7 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 			amount = skb->len;
 		} else {
 			skb_queue_walk(&sk->sk_receive_queue, skb)
-				amount += skb->len;
+				continue;
 		}
 		release_sock(sk);
 		err = put_user(amount, (int __user *)arg);
@@ -1288,7 +1276,6 @@ static int dn_listen(struct socket *sock, int backlog)
 	return err;
 }
 
-
 static int dn_shutdown(struct socket *sock, int how)
 {
 	struct sock *sk = sock->sk;
@@ -1537,7 +1524,7 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us
 	void *r_data = NULL;
 	unsigned int val;
 
-	if(get_user(r_len , optlen))
+	if (get_user(r_len, optlen))
 		return -EFAULT;
 
 	switch (optname) {
@@ -1639,7 +1626,6 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us
 	return 0;
 }
 
-
 static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int target)
 {
 	struct sk_buff *skb;
@@ -1650,6 +1636,7 @@ static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int
 
 	skb_queue_walk(q, skb) {
 		struct dn_skb_cb *cb = DN_SKB_CB(skb);
+
 		len += skb->len;
 
 		if (cb->nsp_flags & 0x40) {
@@ -1669,7 +1656,6 @@ static int dn_data_ready(struct sock *sk, struct sk_buff_head *q, int flags, int
 	return 0;
 }
 
-
 static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 		      int flags)
 {
@@ -1711,7 +1697,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 	if (flags & MSG_WAITALL)
 		target = size;
 
-
 	/*
 	 * See if there is data ready to read, sleep if there isn't
 	 */
@@ -1756,6 +1741,7 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 
 	skb_queue_walk_safe(queue, skb, n) {
 		unsigned int chunk = skb->len;
+
 		cb = DN_SKB_CB(skb);
 
 		if ((chunk + copied) > size)
@@ -1801,7 +1787,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 
 	rv = copied;
 
-
 	if (eor && (sk->sk_type == SOCK_SEQPACKET))
 		msg->msg_flags |= MSG_EOR;
 
@@ -1820,7 +1805,6 @@ static int dn_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 	return rv;
 }
 
-
 static inline int dn_queue_too_long(struct dn_scp *scp, struct sk_buff_head *queue, int flags)
 {
 	unsigned char fctype = scp->services_rem & NSP_FC_MASK;
@@ -1849,8 +1833,10 @@ static inline int dn_queue_too_long(struct dn_scp *scp, struct sk_buff_head *que
 unsigned int dn_mss_from_pmtu(struct net_device *dev, int mtu)
 {
 	unsigned int mss = 230 - DN_MAX_NSP_DATA_HEADER;
+
 	if (dev) {
 		struct dn_dev *dn_db = rcu_dereference_raw(dev->dn_ptr);
+
 		mtu -= LL_RESERVED_SPACE(dev);
 		if (dn_db->use_long)
 			mtu -= 21;
@@ -1881,6 +1867,7 @@ static inline unsigned int dn_current_mss(struct sock *sk, int flags)
 	/* This works out the maximum size of segment we can send out */
 	if (dst) {
 		u32 mtu = dst_mtu(dst);
+
 		mss_now = min_t(int, dn_mss_from_pmtu(dst->dev, mtu), mss_now);
 	}
 
@@ -1944,7 +1931,6 @@ static int dn_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 		flags |= MSG_EOR;
 	}
 
-
 	err = dn_check_state(sk, addr, addr_len, &timeo, flags);
 	if (err)
 		goto out_err;
@@ -2063,7 +2049,6 @@ static int dn_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 		skb = NULL;
 
 		scp->persist = dn_nsp_persist(sk);
-
 	}
 out:
 
@@ -2159,11 +2144,11 @@ static struct sock *socket_get_idx(struct seq_file *seq, loff_t *pos)
 static void *dn_socket_get_idx(struct seq_file *seq, loff_t pos)
 {
 	void *rc;
+
 	read_lock_bh(&dn_hash_lock);
 	rc = socket_get_idx(seq, &pos);
-	if (!rc) {
+	if (!rc)
 		read_unlock_bh(&dn_hash_lock);
-	}
 	return rc;
 }
 
@@ -2261,8 +2246,8 @@ static inline void dn_socket_format_entry(struct seq_file *seq, struct sock *sk)
 	struct dn_scp *scp = DN_SK(sk);
 	char buf1[DN_ASCBUF_LEN];
 	char buf2[DN_ASCBUF_LEN];
-	char local_object[DN_MAXOBJL+3];
-	char remote_object[DN_MAXOBJL+3];
+	char local_object[DN_MAXOBJL + 3];
+	char remote_object[DN_MAXOBJL + 3];
 
 	dn_printable_object(&scp->addr, local_object);
 	dn_printable_object(&scp->peer, remote_object);
@@ -2368,7 +2353,6 @@ static int __init decnet_init(void)
 	dn_register_sysctl();
 out:
 	return rc;
-
 }
 module_init(decnet_init);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-06-23 10:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-23  3:35 [PATCH] decnet: af_decnet: pmc should not be referenced when it's NULL 13145886936
2021-06-23  8:29 ` kernel test robot
2021-06-23  8:29   ` kernel test robot
2021-06-23  9:34 ` kernel test robot
2021-06-23  9:34   ` kernel test robot
2021-06-23 10:47 ` Eric Dumazet
2021-06-23 10:12 13145886936

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.