From patchwork Wed Jan 16 14:24:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jian-Hong Pan X-Patchwork-Id: 1025966 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=g.ncu.edu.tw Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=g.ncu.edu.tw header.i=@g.ncu.edu.tw header.b="cWZPwt+f"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fqHC6lfYz9sBQ for ; Thu, 17 Jan 2019 01:25:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391349AbfAPOZJ (ORCPT ); Wed, 16 Jan 2019 09:25:09 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:38136 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730649AbfAPOZI (ORCPT ); Wed, 16 Jan 2019 09:25:08 -0500 Received: by mail-pl1-f193.google.com with SMTP id e5so3094178plb.5 for ; Wed, 16 Jan 2019 06:25:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=g.ncu.edu.tw; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GKzPXtLR8WK+kYBaXkxlRXyQmDpLzKOFCJeFgi7BsI8=; b=cWZPwt+fp+WUBJFnN6P+QMvKTGcmuXXCE8p5UwLKPO+QBx0HT+8LL8X28BNOoldYvM 4uqPw094RtCSLlO2Kt/nYeorgEsIvX+xsAMSw2gQJouCsANGCz67zmjC0uCHodJXK4Yo rWXZ8Pj+R85uDXnevkzpQVwQX38K2bZTlIUdU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GKzPXtLR8WK+kYBaXkxlRXyQmDpLzKOFCJeFgi7BsI8=; b=lqju15d6cz6Sq12rGLrLUcPYWDCUyTbtWsZ3H2TCIcDuLJ75+h/71EMjFasvlZKLgp ZfJd2P3DCogZ89tZOV2rB0EWRXQwTR+RXgoEuH5z+y9BBhZ0qNqHkzmO7PFN5Xt3MlL8 v4ZlpoyJ7706X7Za4VIDfyEXcJO5nHZrA6aqW7nmoiEdMK13kwG5v+quHKxUhnjdPShS UQWNVVvhJBkTMU5W508AgAyyrBMd8tA/BxjMJORw08HRq2NOr9pUdZoFRJOahkQBtjY9 iF7j5ezs7+k2JJhATo3XhIReHPYDGHJLUFeflYhoSaeYBTx6lNLh2aGRi3DfNHAZssTi ahEw== X-Gm-Message-State: AJcUukegeMCmDwSTHm992qjsegjO65o/ce1ItfyXM2Bq2JpZzFBCSCeQ l9DqC5M+D0zzE8hVDI4YLuBXmQuDvrj3qQ== X-Google-Smtp-Source: ALg8bN5LWMSoQaSwjwU3O74SEHtf6m3+xPZvOUVn4iRc+L9xCLMZ34yDef2jUPYi3cWBtk7eYrF9qA== X-Received: by 2002:a17:902:24a2:: with SMTP id w31mr9945292pla.216.1547648707299; Wed, 16 Jan 2019 06:25:07 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a17sm9211783pgm.26.2019.01.16.06.25.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:25:06 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: Ben Whitten , linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jian-Hong Pan Subject: [RFC PATCH 1/5] net: lorawan: Refine the coding style Date: Wed, 16 Jan 2019 22:24:54 +0800 Message-Id: <20190116142458.19542-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190116142048.19446-1-starnight@g.ncu.edu.tw> References: <20190116142048.19446-1-starnight@g.ncu.edu.tw> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Jian-Hong Pan --- include/linux/lora/lorawan_netdev.h | 5 ++-- net/lorawan/socket.c | 43 ++++++++++++++--------------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/include/linux/lora/lorawan_netdev.h b/include/linux/lora/lorawan_netdev.h index 5bffb5164f95..a6c94cb96bf4 100644 --- a/include/linux/lora/lorawan_netdev.h +++ b/include/linux/lora/lorawan_netdev.h @@ -1,9 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause */ -/*- +/* * LoRaWAN stack related definitions * - * Copyright (c) 2018 Jian-Hong, Pan - * + * Copyright (c) 2018 Jian-Hong Pan */ #ifndef __LORAWAN_NET_DEVICE_H__ diff --git a/net/lorawan/socket.c b/net/lorawan/socket.c index 7ef106b877ca..0ec2d2bf1682 100644 --- a/net/lorawan/socket.c +++ b/net/lorawan/socket.c @@ -1,36 +1,33 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause -/*- +/* * LoRaWAN stack related definitions * - * Copyright (c) 2018 Jian-Hong, Pan - * + * Copyright (c) 2018 Jian-Hong Pan */ #define LORAWAN_MODULE_NAME "lorawan" #define pr_fmt(fmt) LORAWAN_MODULE_NAME ": " fmt +#include #include -#include #include +#include +#include #include -#include #include /* For TIOCOUTQ/INQ */ #include -#include /** * dgram_sock - This structure holds the states of Datagram socket * * @sk: network layer representation of the socket - * sk must be the first member of dgram_sock * @src_devaddr: the LoRaWAN device address for this connection * @bound: this socket is bound or not * @connected: this socket is connected to the destination or not - * @want_ack: this socket needs to ack for the connection or not */ struct dgram_sock { - struct sock sk; + struct sock sk; /* sk must be the first member of dgram_sock */ u32 src_devaddr; u8 bound:1; @@ -136,7 +133,7 @@ dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) size_t tlen; int ret; - pr_debug("%s: going to send %zu bytes", __func__, size); + pr_debug("%s: going to send %zu bytes\n", __func__, size); if (msg->msg_flags & MSG_OOB) { pr_debug("msg->msg_flags = 0x%x\n", msg->msg_flags); return -EOPNOTSUPP; @@ -532,7 +529,7 @@ static const struct proto_ops lrw_dgram_ops = { }; static int -lorawan_creat(struct net *net, struct socket *sock, int protocol, int kern) +lrw_create(struct net *net, struct socket *sock, int protocol, int kern) { struct sock *sk; int ret; @@ -557,7 +554,7 @@ lorawan_creat(struct net *net, struct socket *sock, int protocol, int kern) ret = sk->sk_prot->hash(sk); if (ret) { sk_common_release(sk); - goto lorawan_creat_end; + goto lrw_create_end; } } @@ -567,14 +564,14 @@ lorawan_creat(struct net *net, struct socket *sock, int protocol, int kern) sk_common_release(sk); } -lorawan_creat_end: +lrw_create_end: return ret; } static const struct net_proto_family lorawan_family_ops = { .owner = THIS_MODULE, .family = PF_LORAWAN, - .create = lorawan_creat, + .create = lrw_create, }; static int @@ -617,29 +614,29 @@ lrw_dgram_deliver(struct net_device *ndev, struct sk_buff *skb) } static int -lorawan_rcv(struct sk_buff *skb, struct net_device *ndev, +lrw_rcv(struct sk_buff *skb, struct net_device *ndev, struct packet_type *pt, struct net_device *orig_ndev) { if (!netif_running(ndev)) - goto lorawan_rcv_drop; + goto lrw_rcv_drop; if (!net_eq(dev_net(ndev), &init_net)) - goto lorawan_rcv_drop; + goto lrw_rcv_drop; if (ndev->type != ARPHRD_LORAWAN) - goto lorawan_rcv_drop; + goto lrw_rcv_drop; if (skb->pkt_type != PACKET_OTHERHOST) return lrw_dgram_deliver(ndev, skb); -lorawan_rcv_drop: +lrw_rcv_drop: kfree_skb(skb); return NET_RX_DROP; } static struct packet_type lorawan_packet_type = { .type = htons(ETH_P_LORAWAN), - .func = lorawan_rcv, + .func = lrw_rcv, }; static int __init @@ -665,7 +662,7 @@ lrw_sock_init(void) proto_unregister(&lrw_dgram_prot); lrw_sock_init_end: - return 0; + return ret; } static void __exit @@ -680,7 +677,7 @@ lrw_sock_exit(void) module_init(lrw_sock_init); module_exit(lrw_sock_exit); -MODULE_AUTHOR("Jian-Hong Pan, "); -MODULE_DESCRIPTION("LoRaWAN socket kernel module"); +MODULE_AUTHOR("Jian-Hong Pan "); +MODULE_DESCRIPTION("LoRaWAN socket protocol"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_ALIAS_NETPROTO(PF_LORAWAN); From patchwork Wed Jan 16 14:24:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jian-Hong Pan X-Patchwork-Id: 1025967 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=g.ncu.edu.tw Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=g.ncu.edu.tw header.i=@g.ncu.edu.tw header.b="aNhVun+G"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fqHh32tPz9sBQ for ; Thu, 17 Jan 2019 01:25:36 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393115AbfAPOZe (ORCPT ); Wed, 16 Jan 2019 09:25:34 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:44796 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390967AbfAPOZe (ORCPT ); Wed, 16 Jan 2019 09:25:34 -0500 Received: by mail-pf1-f196.google.com with SMTP id u6so3131286pfh.11 for ; Wed, 16 Jan 2019 06:25:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=g.ncu.edu.tw; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=b+2IAnExCO9vokV2p16FJgeCx9M1JeLkxUVCmUw2Veg=; b=aNhVun+GvGu/C4cchsQwKDtrElSmzsfw5WZ+yZQN5x4sKMzLo0WwzDeQcSYkpJwipM TvNXdA5J4nLYzn42XCXlCQPz4qE+tYJ0PuCETstvg3whY1wkVlaH10IESnNzz99Evn/d M+fuIub6/JWfUwojYH+vLBIypXJtnuKOsHK7Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b+2IAnExCO9vokV2p16FJgeCx9M1JeLkxUVCmUw2Veg=; b=b00IM8rrmtktEsvGi87cxzg9KkU1WjMSv2EoIjlcRHjY+3ylDFYckcBV7MiKXNULns ZaFcakFKT4TcjWuxqGvqWr3zObDb5t27qRKclssAtYav12pWcAsJJqSppb3TSIdkn6rO mri4iifMuJ4ndSvjrpE9xNUcae8aOeTERTklbZU4Ra6OEiIVMP9M20OFK26omoFMLszO akc2kLbmUrBRcU8D8wGoobniGqTfJORyK4HeeiHm5XTEtlD961rEzk7+0vdpswNr9ylc wsJ0Xgoen3uujnIrWcKvnl9ZI8wTMPmDAnQLBSSor2CU56G5MYmZOpOw/x2qZpS7iqbf FyOw== X-Gm-Message-State: AJcUukeOx+NQeID52HsACFtCfoNu1CVOzPtzEkk1f4CRHYgHOIbLqceI 9cq1iyUJOLbF9EjVlSR+lIGVRA== X-Google-Smtp-Source: ALg8bN5i780L0PkW8ABkomT860ra9KrnM3Wsk5woRqpcv+l1z092ltGQZb+HhhPTFyHp2FlIaf9i6A== X-Received: by 2002:a63:c748:: with SMTP id v8mr9277797pgg.108.1547648733633; Wed, 16 Jan 2019 06:25:33 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a17sm9211783pgm.26.2019.01.16.06.25.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:25:33 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: Ben Whitten , linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jian-Hong Pan Subject: [RFC PATCH 2/5] net: lorawan: Remove unused lrw_dev_hard_header function Date: Wed, 16 Jan 2019 22:24:56 +0800 Message-Id: <20190116142458.19542-2-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190116142048.19446-1-starnight@g.ncu.edu.tw> References: <20190116142048.19446-1-starnight@g.ncu.edu.tw> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The lorawan module is an abastraction layer over the LoRaWAN soft and hard MAC. It passes the original buffer to the real MAC layer. So, this patch removes the lrw_dev_hard_header function. Signed-off-by: Jian-Hong Pan --- net/lorawan/socket.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/net/lorawan/socket.c b/net/lorawan/socket.c index 0ec2d2bf1682..9c0722379e25 100644 --- a/net/lorawan/socket.c +++ b/net/lorawan/socket.c @@ -115,14 +115,6 @@ dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len) return ret; } -static int -lrw_dev_hard_header(struct sk_buff *skb, struct net_device *ndev, - const u32 src_devaddr, size_t len) -{ - /* TODO: Prepare the LoRaWAN sending header here */ - return 0; -} - static int dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) { @@ -176,10 +168,6 @@ dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) skb_reserve(skb, hlen); skb_reset_network_header(skb); - ret = lrw_dev_hard_header(skb, ndev, 0, size); - if (ret < 0) - goto dgram_sendmsg_no_skb; - ret = memcpy_from_msg(skb_put(skb, size), msg, size); if (ret > 0) goto dgram_sendmsg_err_skb; From patchwork Wed Jan 16 14:24:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jian-Hong Pan X-Patchwork-Id: 1025968 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=g.ncu.edu.tw Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=g.ncu.edu.tw header.i=@g.ncu.edu.tw header.b="Pvnpn+he"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fqJH6T9jz9sBQ for ; Thu, 17 Jan 2019 01:26:07 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393387AbfAPO0D (ORCPT ); Wed, 16 Jan 2019 09:26:03 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:44836 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390992AbfAPO0D (ORCPT ); Wed, 16 Jan 2019 09:26:03 -0500 Received: by mail-pf1-f194.google.com with SMTP id u6so3131910pfh.11 for ; Wed, 16 Jan 2019 06:26:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=g.ncu.edu.tw; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OFYi0B0xaMyvevGQpx6Nyn5JWeEzLpCt1jdHdRE25uY=; b=Pvnpn+heih5+7CDHMgICaTLHo1866UMg7a46Nfq+olAo/Avf8jw69IGFS93WQGSmQx Ooko3VxNfjFdX2uu4kE3t1SObzeYughNhUFtGu5n5GC+gEM3tKkjxc7J8xmkwplrtGSE P0AfBlcXuJQW2mZ3HKAGCKaEnCf9E8/902uDI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OFYi0B0xaMyvevGQpx6Nyn5JWeEzLpCt1jdHdRE25uY=; b=YFXDPNXkr3dEzW/x99r5BTfwQ+II4HtKPSVatHpu6TvW3raokUWtI2Tcvb1GXCy1+r SmsT7Lh9UmqeOaWXxMbCh5mMBb05/9/1pp/3TVZ5slAmGBO4ySGQZTuQ3I7ZUg3MwqBA iGWgh6rLq1qMKqlYqjTua++P3lNEwymqKpzUZrgOLSf/CniZ3A9dNRbVSHNzcG5Ei6iG 2SS2lVxIzJrOAaXTDaunbnKIpd5hoz7Trs44QLEVc7VLJhrhMDgG06QDW9r2Rl+kcBe8 vaOI8ea/q+EgJYWmXtAoNzgdC1kJK5iJiN3mwodYgK7P77eHtZx2CXHrXuXplcA/SrM1 lRkA== X-Gm-Message-State: AJcUukcaKB21zyBnaMRhS7UzQCUzwFyPLHSiToypXVk+jz2XsGGqXkGr 3VMQBV7SmMKvUSt/yqC65VRNnPrrHi9GvA== X-Google-Smtp-Source: ALg8bN74EQAx6xaPCby36H5blYZySCEw6xY6RY8NbQmY1fCiJjZYABituDk5LtY49qbnKuCuBtqYUQ== X-Received: by 2002:a63:a064:: with SMTP id u36mr9143400pgn.145.1547648762037; Wed, 16 Jan 2019 06:26:02 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a17sm9211783pgm.26.2019.01.16.06.26.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:26:01 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: Ben Whitten , linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jian-Hong Pan Subject: [RFC PATCH 3/5] net; lorawan: Fix net device leakage Date: Wed, 16 Jan 2019 22:24:58 +0800 Message-Id: <20190116142458.19542-3-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190116142048.19446-1-starnight@g.ncu.edu.tw> References: <20190116142048.19446-1-starnight@g.ncu.edu.tw> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The net device may be missed to be put after error check. This patch fixes the issue to prevent the leakage. Signed-off-by: Jian-Hong Pan --- net/lorawan/socket.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/net/lorawan/socket.c b/net/lorawan/socket.c index 9c0722379e25..7139fab63159 100644 --- a/net/lorawan/socket.c +++ b/net/lorawan/socket.c @@ -51,8 +51,10 @@ lrw_get_dev_by_addr(struct net *net, u32 devaddr) rcu_read_lock(); ndev = dev_getbyhwaddr_rcu(net, ARPHRD_LORAWAN, (char *)&be_addr); - if (ndev) + if (ndev && ndev->type == ARPHRD_LORAWAN) dev_hold(ndev); + else + ndev = NULL; rcu_read_unlock(); return ndev; @@ -99,11 +101,6 @@ dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len) } netdev_dbg(ndev, "%s: get ndev\n", __func__); - if (ndev->type != ARPHRD_LORAWAN) { - ret = -ENODEV; - goto dgram_bind_end; - } - ro->src_devaddr = addr->addr_in.devaddr; ro->bound = 1; ret = 0; @@ -152,7 +149,7 @@ dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) if (size > ndev->mtu) { netdev_dbg(ndev, "size = %zu, mtu = %u\n", size, ndev->mtu); ret = -EMSGSIZE; - goto dgram_sendmsg_end; + goto dgram_sendmsg_no_skb; } netdev_dbg(ndev, "%s: create skb\n", __func__); @@ -189,7 +186,6 @@ dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) kfree_skb(skb); dgram_sendmsg_no_skb: dev_put(ndev); - dgram_sendmsg_end: return ret; } From patchwork Wed Jan 16 14:25:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jian-Hong Pan X-Patchwork-Id: 1025969 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=g.ncu.edu.tw Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=g.ncu.edu.tw header.i=@g.ncu.edu.tw header.b="ZHTioefZ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fqJg2z5Gz9sD9 for ; Thu, 17 Jan 2019 01:26:27 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393460AbfAPO0U (ORCPT ); Wed, 16 Jan 2019 09:26:20 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:34477 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390995AbfAPO0U (ORCPT ); Wed, 16 Jan 2019 09:26:20 -0500 Received: by mail-pf1-f196.google.com with SMTP id h3so3158695pfg.1 for ; Wed, 16 Jan 2019 06:26:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=g.ncu.edu.tw; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A6tN3e+L8ccUqYJSG3UfdrqjaLGmj6h8YqE2TggOmsQ=; b=ZHTioefZ6UZDDkz5bSrjcB9KvWdTeYQRftOtPbMM4OcvRVGQkeXdi8NEh6GTUoVlBO mQ017XGOlotuG2/M4y8GsAFHXSl/jNwl8ybhZNOjnI621HFDR590HYKMAI8t6bch6/JM NZ2vAUR9rkWMLihLynewQ4YiCPQ2zrWxMdr0U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A6tN3e+L8ccUqYJSG3UfdrqjaLGmj6h8YqE2TggOmsQ=; b=nuR0l0o6R8b2yLjpjxdMR5w1rKAay+3k2gRaCYDfgnkEuiNY9GJuLkyqJYyHSpunCF j06I4UeWhjX2jyvLvArjbJfRgLSdD1sd7bD2PT9ZsZpJFb85DY/g//C2LG9W8eMUgOLL Np/gAxjvqx022y8Jz3SATjqa1MLbk6lvyi38mguUAKCOnNt9xbX1kCXbPqL5YXrXV4Eg cOAvPWVxm6wO8MO4FIJtn+22/KuC1mgCCbBhAG2RXSasyPENm5lhCDAu15xDLzWocCoC PrkD/VwlcgOSXc2Wo1ZOzP1XAriK42jiu0SOkUJSahxGxoY57itsy1MboiH9ois289dP Hl6Q== X-Gm-Message-State: AJcUuke9nfhKLKJLHDtRoRA4MaqRDMw6p3N9l/VECUuSlSF2hrYoB5bu KS+ButrQMQCGzSqaVsjd0Dg7KQ== X-Google-Smtp-Source: ALg8bN6uYXSbuuXFsbeZmtMzOFU7+JXhKxbYqyL2VVoOw3dzPDprcGGPdlEznkbJYHbQmR6UZBVraA== X-Received: by 2002:a63:fb4c:: with SMTP id w12mr9132328pgj.321.1547648779942; Wed, 16 Jan 2019 06:26:19 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a17sm9211783pgm.26.2019.01.16.06.26.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:26:19 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: Ben Whitten , linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jian-Hong Pan Subject: [RFC PATCH 4/5] net: lorawan: Fulfill the help text of Kconfig Date: Wed, 16 Jan 2019 22:25:00 +0800 Message-Id: <20190116142458.19542-4-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190116142048.19446-1-starnight@g.ncu.edu.tw> References: <20190116142048.19446-1-starnight@g.ncu.edu.tw> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Mention the LoRaWAN network feature to distinguish it from other Low-Power Wide-Area Network like Sigfox and NB-IoT. Signed-off-by: Jian-Hong Pan --- net/lorawan/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/lorawan/Kconfig b/net/lorawan/Kconfig index bf6c9b77573b..ce3ed6e6d11c 100644 --- a/net/lorawan/Kconfig +++ b/net/lorawan/Kconfig @@ -4,7 +4,8 @@ config LORAWAN LoRaWAN defines low data rate, low power and long range wireless wide area networks. It was designed to organize networks of automation devices, such as sensors, switches and actuators. It can operate - multiple kilometers wide. + multiple kilometers wide. The network is client/server technology + centered around gateways. Say Y here to compile LoRaWAN support into the kernel or say M to compile it as a module. From patchwork Wed Jan 16 14:25:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jian-Hong Pan X-Patchwork-Id: 1025971 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=g.ncu.edu.tw Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=g.ncu.edu.tw header.i=@g.ncu.edu.tw header.b="G0um8fUL"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fqK225NBz9sD9 for ; Thu, 17 Jan 2019 01:26:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393548AbfAPO0l (ORCPT ); Wed, 16 Jan 2019 09:26:41 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:41142 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729384AbfAPO0j (ORCPT ); Wed, 16 Jan 2019 09:26:39 -0500 Received: by mail-pl1-f195.google.com with SMTP id u6so3082559plm.8 for ; Wed, 16 Jan 2019 06:26:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=g.ncu.edu.tw; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LkwCmAk0ZYfNjDokT65iazGLRf5oA0hVKPOU2YZw5hE=; b=G0um8fULp3EHfXrLpMvSjhpBwut4rrIOc9EzgIVB2/TRSRcDJ2cRH+ipslTN9rUg1z sE2lIBJAr2zWBOJ4eyka5HjIgXMtkv7hSkZAw6Zes8ijWI2J0JaZzd4S7NbtbxmvtdKU a4hrPzNZwX+07QzXpplRcCwP/R3lcwL9pmbEU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LkwCmAk0ZYfNjDokT65iazGLRf5oA0hVKPOU2YZw5hE=; b=EW1rpOMcKGD59TMVBVCk0ChNXVEJVgu6nHVe+4CK2bdsq3iYUZtDVkgPhuHlGLghKV xVAgU877DWRcikmQsPI+0fD54Tt2f3p4t91RkARgHCUdzwUv87+wN2MmWsuPbqH9SNV4 mDVbU+OTaY/OlcskqkdhBTY3YekFCYpt72Hz1GFKRPKI88ran7stcjL4Ey0Xdvy+/Dn9 MrUhS+6pfh5IHAinesN8yuUvOXS+JknL9FFLLqCXvWMBFSTdG6NsmWgIja/9vaT4U0iw sXnrOsUkSBfN5T486kGGx/7EyR3yPzvMfQJORU1O8oD1xYpKtwVV79SvwUEyIUStyvRa VNAA== X-Gm-Message-State: AJcUukfBm2BwmH0XBJVJBEI7/jZ6L0TtY0GRq29pkM0S24indgw2VJ4c DPhiLdixaw0HuGXSim5jJIKZXQ== X-Google-Smtp-Source: ALg8bN7pEFt5eTI41tduSdgiFTNaNEOG83E6BEz/5Iw2yf1IO+RF7vLaGvwRLr49F96rg36mcdOH0g== X-Received: by 2002:a17:902:292b:: with SMTP id g40mr10245382plb.82.1547648798802; Wed, 16 Jan 2019 06:26:38 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a17sm9211783pgm.26.2019.01.16.06.26.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:26:38 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: Ben Whitten , linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jian-Hong Pan Subject: [RFC PATCH 5/5] net: lorawan: Split skb definitions into another header Date: Wed, 16 Jan 2019 22:25:02 +0800 Message-Id: <20190116142458.19542-5-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190116142048.19446-1-starnight@g.ncu.edu.tw> References: <20190116142048.19446-1-starnight@g.ncu.edu.tw> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Split LoRaWAN related skb definitions from lora/lorawan_netdev.h into another header lora/lorawan_skb.h. Signed-off-by: Jian-Hong Pan --- include/linux/lora/lorawan_netdev.h | 20 ----------------- include/linux/lora/lorawan_skb.h | 33 +++++++++++++++++++++++++++++ net/lorawan/socket.c | 1 + 3 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 include/linux/lora/lorawan_skb.h diff --git a/include/linux/lora/lorawan_netdev.h b/include/linux/lora/lorawan_netdev.h index a6c94cb96bf4..e515ba1ab508 100644 --- a/include/linux/lora/lorawan_netdev.h +++ b/include/linux/lora/lorawan_netdev.h @@ -28,24 +28,4 @@ struct sockaddr_lorawan { struct lrw_addr_in addr_in; }; -/** - * lrw_mac_cb - This structure holds the control buffer (cb) of sk_buff - * - * @devaddr: the LoRaWAN device address of this LoRaWAN hardware - */ -struct lrw_mac_cb { - u32 devaddr; -}; - -/** - * lrw_get_mac_cb - Get the LoRaWAN MAC control buffer of the sk_buff - * @skb: the exchanging sk_buff - * - * Return: the pointer of LoRaWAN MAC control buffer - */ -static inline struct lrw_mac_cb *lrw_get_mac_cb(struct sk_buff *skb) -{ - return (struct lrw_mac_cb *)skb->cb; -} - #endif diff --git a/include/linux/lora/lorawan_skb.h b/include/linux/lora/lorawan_skb.h new file mode 100644 index 000000000000..ea4f900b37be --- /dev/null +++ b/include/linux/lora/lorawan_skb.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause */ +/* + * LoRaWAN socket buffer related definitions + * + * Copyright (c) 2018 Jian-Hong Pan + */ + +#ifndef __LORAWAN_SKB_H__ +#define __LORAWAN_SKB_H__ + +#include + +/** + * lrw_mac_cb - This structure holds the control buffer (cb) of sk_buff + * + * @devaddr: the LoRaWAN device address of this LoRaWAN hardware + */ +struct lrw_mac_cb { + u32 devaddr; +}; + +/** + * lrw_get_mac_cb - Get the LoRaWAN MAC control buffer of the sk_buff + * @skb: the exchanging sk_buff + * + * Return: the pointer of LoRaWAN MAC control buffer + */ +static inline struct lrw_mac_cb *lrw_get_mac_cb(struct sk_buff *skb) +{ + return (struct lrw_mac_cb *)skb->cb; +} + +#endif diff --git a/net/lorawan/socket.c b/net/lorawan/socket.c index 7139fab63159..50559ba0c538 100644 --- a/net/lorawan/socket.c +++ b/net/lorawan/socket.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include /* For TIOCOUTQ/INQ */