From patchwork Thu Jan 31 16:27:16 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: 1034370 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="hLIJs3kO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43r5H44FnVz9sBb for ; Fri, 1 Feb 2019 03:27:12 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388270AbfAaQ1K (ORCPT ); Thu, 31 Jan 2019 11:27:10 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37776 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731284AbfAaQ1K (ORCPT ); Thu, 31 Jan 2019 11:27:10 -0500 Received: by mail-pg1-f195.google.com with SMTP id c25so1568651pgb.4 for ; Thu, 31 Jan 2019 08:27:10 -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=gIq6NA+re8g/Tob/FEDctWn3nGOEFUquxHcBYrHkrjY=; b=hLIJs3kORNEH1715FLFcvOIjdzsVsYFIlVLwx5fJNB2eCaQu1Ktzo0EMBKSx+qg7J+ jElC0qra7Wyi3weSFRNWlsQq/tIK8mMbXnsou6u+P5T/2cqM8wlVyQXfg3ZOqujx2r6N w7bRqqRbmQ9f60UkfjytcghsPtSgGweGExY4g= 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=gIq6NA+re8g/Tob/FEDctWn3nGOEFUquxHcBYrHkrjY=; b=N1WCOh3pHVWWcn+SCdQE6dM4X5iMYxZ7m/e9r+IE+VgpeoxlQHsU/OGMuApgGwQr5m BEzfpzxEkLS8JLZ7zUh03CU8U60kZcStLo664LS6N8XSrwKEpCLQyIoUKtSoXsRj97GH cIRqkNk245bk1IEyYGg0XaLSSSzuh3gwCGualJEGuTT9/anbHyqrx+nD+CmRLPBxYWIm neRB7eQ4slwS+HLBCsVGednVRQ6j094DGNW+bUPSPiMJS733tRy4qOFh0YmS8P1hGh4m 7zhBsMBYJv6O4RL0jRIHb+DyngYwJqfgYKyZrX5k+kmm5ToGcWK42H+0v9L/aXZU7NBh NBEw== X-Gm-Message-State: AJcUukc1yBU5jfSBh8GKBQVnrm/IcpQKfcrZFjamr1orQN+e9UW+DDLP HlbIRFE7MVM3F+94FVyf5p+X10oco6XKnw== X-Google-Smtp-Source: ALg8bN4UexN/GssJjAfssCxAoOn+hgy78W2/dbZvybLREjF6YFeDaS5vSTSoNGq4ujeQBvfrk3RWEg== X-Received: by 2002:a62:178f:: with SMTP id 137mr35115817pfx.226.1548952029469; Thu, 31 Jan 2019 08:27:09 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id 62sm5512878pgc.61.2019.01.31.08.27.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:27:09 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: netdev@vger.kernel.org, linux-lpwan@lists.infradead.org, Ben Whitten , Jian-Hong Pan Subject: [RFC PATCH v2 1/5] net: lorawan: Refine the coding style Date: Fri, 1 Feb 2019 00:27:16 +0800 Message-Id: <20190131162715.18484-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190131162101.18386-1-starnight@g.ncu.edu.tw> References: <20190131162101.18386-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 Fix the coding style. Fixes: 48e5bb6cec79 ("net: Prepare LoRaWAN socket module") Signed-off-by: Jian-Hong Pan --- v2: - Modify the commit message - Order the included header files include/linux/lora/lorawan_netdev.h | 5 ++-- net/lorawan/socket.c | 45 ++++++++++++++--------------- 2 files changed, 23 insertions(+), 27 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..31a77c3e5ee9 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, - struct packet_type *pt, struct net_device *orig_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 Thu Jan 31 16:27:52 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: 1034371 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="BJ7A7eZd"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43r5Hc41Fbz9sBb for ; Fri, 1 Feb 2019 03:27:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388482AbfAaQ1j (ORCPT ); Thu, 31 Jan 2019 11:27:39 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:38288 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731284AbfAaQ1j (ORCPT ); Thu, 31 Jan 2019 11:27:39 -0500 Received: by mail-pf1-f195.google.com with SMTP id q1so1698659pfi.5 for ; Thu, 31 Jan 2019 08:27:38 -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=tlGiMXUWy+a+3XJRM2hLCTrUQH3VtC/Wa6UMc+SZeW4=; b=BJ7A7eZdjP+av4OuMqsjlMxg7uOq04CuznGtUH9fT74jGx9MY4UgFxh56izIPVuu0+ DUEBxjN1qwBfobTsyPvCOOYU7kQEFsYvtnpoi1BbJLmcDXlxJzsZ24eYorB0JIMjfzvL OSyEQDrmn31ZddGYPc3QSozVDLrBTo0Xqhn3M= 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=tlGiMXUWy+a+3XJRM2hLCTrUQH3VtC/Wa6UMc+SZeW4=; b=B16E2oz3LNt1oqL9QOKZRjVZTU6rZGjWAGZYCFHy9SNW0cItIRWGh3T0DEzMutv84x g6BmcHpHN/gYMn2uAWckuY6mccoq9+ygPlShEQFiFanou/4Z0VBtasESobk3D66EQpRe ZpDb+gqR3DD9v+Cb51zisFgzJy2V5UeVc56nSczeaY7k0hjzZ9SccNyVCOijgM76gHjk 9cNRrHlCJiSfU+LrFuMUZZcxXkClcZ/LZ9aKXoLTcFw9L0u6b48OhqbifhGk/cOE4wiD 1r2+8x2qMkkavnxqTmHM4zQ5Y6d0/tyKZrHtNm334AJlsIe4wL8MRU72BivHnREthhdC y2ig== X-Gm-Message-State: AHQUAuaA4n8TdIsjMVkP6kUbcPoOjazIiCuh8BHz+scvNsaR4GbM3OKk wGm6zgPklccytafvvgh9JBxQWA== X-Google-Smtp-Source: AHgI3IbuvuiUZgfTWu/fRJx3A8qno9ThShVRhaX95wVHfqIfPp2tLdhAQHoN0m15cbf5zFSR69sGbw== X-Received: by 2002:a62:2018:: with SMTP id g24mr2658899pfg.100.1548952058415; Thu, 31 Jan 2019 08:27:38 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id a15sm6390655pgb.1.2019.01.31.08.27.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:27:37 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: netdev@vger.kernel.org, linux-lpwan@lists.infradead.org, Ben Whitten , Jian-Hong Pan Subject: [RFC PATCH v2 2/5] net: lorawan: Remove unused lrw_dev_hard_header function Date: Fri, 1 Feb 2019 00:27:52 +0800 Message-Id: <20190131162752.18534-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190131162101.18386-1-starnight@g.ncu.edu.tw> References: <20190131162101.18386-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. Fixes: 48e5bb6cec79 ("net: Prepare LoRaWAN socket module") Signed-off-by: Jian-Hong Pan --- v2: - Modify the commit message net/lorawan/socket.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/net/lorawan/socket.c b/net/lorawan/socket.c index 31a77c3e5ee9..38cee1ff02af 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 Thu Jan 31 16:28:09 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: 1034372 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="beQ1SY1T"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43r5Hv33kXz9sBb for ; Fri, 1 Feb 2019 03:27:55 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388485AbfAaQ1y (ORCPT ); Thu, 31 Jan 2019 11:27:54 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:40088 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731284AbfAaQ1y (ORCPT ); Thu, 31 Jan 2019 11:27:54 -0500 Received: by mail-pf1-f195.google.com with SMTP id i12so1697573pfo.7 for ; Thu, 31 Jan 2019 08:27:53 -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=3VOf6DLZYS99V3GpI3zvjWFvs4SNL8W1HPeziGjZb38=; b=beQ1SY1TkKH9Rk1tWxQkwgtFmFZCjJeIMxp1N4gAtU7ytSqEkQwBrvR6NcnjezP+oY 2W1h0lNN2ztvn64LAH0+UnnyYEMJe/nmyWAubldLqvt2jLRgkDfXjxaCY+9XzIAg7Mue bghlAu5LFkRq5NYfv97Et6SeSdrWeEdJyiyg0= 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=3VOf6DLZYS99V3GpI3zvjWFvs4SNL8W1HPeziGjZb38=; b=Q9woipiV90PEju5RU1wJQ+UmyvdJGKUq2WTrAZ7yF+AjykpAVGAWFfZiyiYpPGbYlg /l4K+8GCZ6mredPrnvKJSuqtxzDME+81TTw61E+OceiJ/eR8qH0bYM0He4UiyPVOF++2 qso1CQFVaZosOKY6yRLdl+Bssi0ZKoqXF4ctqEca/vkAfyujOMEYjkFEnF7L+al7N0KS P5RvdpuDryVWh/E8XLv5NwoNhVf7nQ09D3N+Rn62BiK+TS9iEqd58tbQxFyEwOSqYVne uDJkr9FUfPvQeiLaTI4wBo0quHs+lV/XExaxseBwS3mB2EsbkZV1T3dnQ13DE5E7+UoZ 4seA== X-Gm-Message-State: AJcUukcF/ayCred9qfkdCMztbp5ZOpfDFQuqOpQntMxtUO3X4FVCmBtE 2elbY9mK3iUYg0SuV/wXzGI8iQ== X-Google-Smtp-Source: ALg8bN6Q+PTVkbxpA29iP+CGUcOLldkRl8Gqudq0m8rzfL1/M3qTWKnKuvL/1xotJpWnvKt/vPX9WA== X-Received: by 2002:a65:534b:: with SMTP id w11mr32392498pgr.125.1548952072823; Thu, 31 Jan 2019 08:27:52 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id 24sm30976557pfl.32.2019.01.31.08.27.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:27:52 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: netdev@vger.kernel.org, linux-lpwan@lists.infradead.org, Ben Whitten , Jian-Hong Pan Subject: [RFC PATCH v2 3/5] net: lorawan: Fix net device leakage Date: Fri, 1 Feb 2019 00:28:09 +0800 Message-Id: <20190131162809.18583-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190131162101.18386-1-starnight@g.ncu.edu.tw> References: <20190131162101.18386-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. Fixes: 48e5bb6cec79 ("net: Prepare LoRaWAN socket module") Signed-off-by: Jian-Hong Pan --- v2: - Modify the commit message 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 38cee1ff02af..c94dc0f3cf82 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 Thu Jan 31 16:28:26 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: 1034373 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="i1p0FhJH"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43r5JC2ghrz9sDB for ; Fri, 1 Feb 2019 03:28:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388489AbfAaQ2K (ORCPT ); Thu, 31 Jan 2019 11:28:10 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:43394 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731284AbfAaQ2J (ORCPT ); Thu, 31 Jan 2019 11:28:09 -0500 Received: by mail-pg1-f195.google.com with SMTP id v28so1554007pgk.10 for ; Thu, 31 Jan 2019 08:28:09 -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=4/M2/Nb8QarnJtMBw8XDmSvlPKDEU8hmeIMoPMLRFsU=; b=i1p0FhJHoyJ3OCvl6ILov/IP/O310FJkIdJgxT5imjPT8il2SPF9gB1cKz62+Y9Zu2 muZQFLCjYwn7e2yHkkzNu3obZROy0jaBjMJpz4475+qn7lWm63wnfvPrjRU+UO0H/zZ5 4gx7dnWUzY0q11/xyGdg/bcMlmPlDHDqO8+jA= 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=4/M2/Nb8QarnJtMBw8XDmSvlPKDEU8hmeIMoPMLRFsU=; b=OJrrPByn6EmGxFwmNZwAPXuLUBsoUhzHt2eBvgvxr7acckSl9bhs+u7M3kyD5E+TuS jW170VbdXzC+gzotnAZOvHqTTwozOXVT0q5b6RXSENYRCuYuNs+U8eYLpKfIfxbQUsOJ By1zKtNLVAxOR+MDuYu2tChVPUoUvkmCufbpPBPQc89sKNZEjAeIaYjlGBX9ecdqApRj 3w6/ptDZgozwJoqm5linhj0Gw7Xa7/svlHT/JJjchGn5W8HdxS982uXcVpmZc67Dnikp nouVAe1xnKVDAi138n5idLEsYkRdNgTSQ/mgPrPwseGDrvcGcj3YjyWYp/OrhNyhqF8v +hZw== X-Gm-Message-State: AJcUukdjmOo7qQnc5dWrKVOBNZHxHvBfZV4eajGIfSCgqbmhoepLxEvv vk9TrjTzkcAiqFbybSdKcHXIcg== X-Google-Smtp-Source: ALg8bN6LP7IQqSZf8Bmd9sahxp3vlu4EAAnXHxkqRdOc19s9+s/BC0Eg4PSzy5Cwa5GaEFn6EwFbbg== X-Received: by 2002:a62:31c1:: with SMTP id x184mr36400192pfx.204.1548952089211; Thu, 31 Jan 2019 08:28:09 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id o189sm7844287pfg.117.2019.01.31.08.28.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:28:08 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: netdev@vger.kernel.org, linux-lpwan@lists.infradead.org, Ben Whitten , Jian-Hong Pan Subject: [RFC PATCH v2 4/5] net: lorawan: Fulfill the help text of Kconfig Date: Fri, 1 Feb 2019 00:28:26 +0800 Message-Id: <20190131162826.18630-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190131162101.18386-1-starnight@g.ncu.edu.tw> References: <20190131162101.18386-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. Fixes: 48e5bb6cec79 ("net: Prepare LoRaWAN socket module") Signed-off-by: Jian-Hong Pan --- v2: - Modify the commit message - Fix the help text's space between two sentences net/lorawan/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/lorawan/Kconfig b/net/lorawan/Kconfig index bf6c9b77573b..a55762b1aba0 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 Thu Jan 31 16:28:40 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: 1034374 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="Folmeqz/"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43r5JV0MGbz9sBb for ; Fri, 1 Feb 2019 03:28:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388490AbfAaQ2Z (ORCPT ); Thu, 31 Jan 2019 11:28:25 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:39814 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727189AbfAaQ2Y (ORCPT ); Thu, 31 Jan 2019 11:28:24 -0500 Received: by mail-pf1-f194.google.com with SMTP id r136so1696438pfc.6 for ; Thu, 31 Jan 2019 08:28:24 -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=O6p9UWrTh45kbCo55mauKUTMYmtB6r8EexQRcevjVTY=; b=Folmeqz/bTKj84Qvq+8zgzwUoDinxB/aEk8MRGFfyIMCmqxsGWXe4cR0oqNanXzqng /SnpGj58EnZ4vqyaCzH+u4HfReltyKtJkEw4k8dA2GfmMyLpINxi2aBVTo6PGAFp2MKo q6IHhQLQpKON/GWO6SCVgTzuBAOuQ0ZyR5/kM= 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=O6p9UWrTh45kbCo55mauKUTMYmtB6r8EexQRcevjVTY=; b=nuUdKFu+2mrDBOHvNW7Q6Bk0zVL/E/tSlCYvoTFb7KyW/L33pNEonlJKgJWQlS+zPC Fvjo9ch/WlHoezNVUoDQ+F9/x4leBfnXm9YC/1z0sxO1G2bov7Roq1/UnGUJQvwIHl10 roqBMcTIzUXiXXZrDX13oJ/ZxaqFm89dvedh53VGwF5Zv/zYtBpZzKD7490fnUBCW3F/ si7cDkdFNrI4TIB6BmuTQWi0f4dFx+tZDtyNL/KdIFO0FcOHxUmyMku9tb96hnKpUwM8 kLXKw8GbD0Jp1RTrXUWqSmvco0KQRCdoyH79c3AkJfusVIsjBqyR8H8Sk0jNlbGW7UMZ eHxg== X-Gm-Message-State: AJcUukd/SVpUQCxsDgc9VKpoahCu/92werCS0WpO5mKNMIWQq7Rf4+N+ Ri8PT4ie7VL9clREX6GNljLjVQ== X-Google-Smtp-Source: ALg8bN7gPHlwf0t8afiyl5xlCS4N3S710IdAqJoqtW/HuT8jiO+0AR9bYNuoQ19DcpVsIrNzES2w0g== X-Received: by 2002:a65:500c:: with SMTP id f12mr31730764pgo.226.1548952103975; Thu, 31 Jan 2019 08:28:23 -0800 (PST) Received: from starnight.local ([150.116.255.181]) by smtp.gmail.com with ESMTPSA id r66sm9629638pfk.157.2019.01.31.08.28.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jan 2019 08:28:23 -0800 (PST) From: Jian-Hong Pan To: =?utf-8?q?Andreas_F=C3=A4rber?= Cc: netdev@vger.kernel.org, linux-lpwan@lists.infradead.org, Ben Whitten , Jian-Hong Pan Subject: [RFC PATCH v2 5/5] net: lorawan: Split skb definitions into another header Date: Fri, 1 Feb 2019 00:28:40 +0800 Message-Id: <20190131162840.18676-1-starnight@g.ncu.edu.tw> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190131162101.18386-1-starnight@g.ncu.edu.tw> References: <20190131162101.18386-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 --- v2: - Modify the commit message - Move lora/lorawan_netdev.h to lora/lorawan/skb.h include/linux/lora/lorawan/skb.h | 33 +++++++++++++++++++++++++++++ include/linux/lora/lorawan_netdev.h | 20 ----------------- 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/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/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/net/lorawan/socket.c b/net/lorawan/socket.c index c94dc0f3cf82..e7cb45bd93d0 100644 --- a/net/lorawan/socket.c +++ b/net/lorawan/socket.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include