From patchwork Wed Jun 17 14:59:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Craig Gallek X-Patchwork-Id: 485461 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 5ABDB1401F0 for ; Thu, 18 Jun 2015 00:59:26 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=T75qlCAE; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756807AbbFQO7W (ORCPT ); Wed, 17 Jun 2015 10:59:22 -0400 Received: from mail-yk0-f182.google.com ([209.85.160.182]:33276 "EHLO mail-yk0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752219AbbFQO7V (ORCPT ); Wed, 17 Jun 2015 10:59:21 -0400 Received: by ykfr66 with SMTP id r66so41941883ykf.0 for ; Wed, 17 Jun 2015 07:59:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=5W+sjgTzzsXSumDdNM7EDjp2nqZx/oRaQigksNkZXlc=; b=T75qlCAE5HBdJkEVt0SxHI2ZY7Iz4xiirhdhhfWpAqk4tWKKJpfaIfB/C4c9uHYvqA OOouyCiHfvTd16Ndr8Un6tWXJXjkxFGhbfpW+54mLZKQqSr693LoY03MVKSHgPQqFR3+ aRBVH9/IeDs2m+Sxoa4ORSuoHj98qKMflrvJSYIFEMjUGenFMukAPyVFyxhY4xtaHxfF dBHyDZS4eyHQ6+y5glaWG3eZmeKtFH39au8Mwlwj+dovOqxwItKXeKN4a8bv788+V6wL q36fnXc9QOk6GcVWU89OTxn/2NFHCVFqasaHGxTW1Fx+w9Be+gG6aRFnqMw5ooRx/b5E r8WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=5W+sjgTzzsXSumDdNM7EDjp2nqZx/oRaQigksNkZXlc=; b=dI7DgnJAiVkkteutz2/s067J6cGW9tMQjLqBQoSr7bnGtn2XI5g2jQQ3O7omL3ttEh NZGJs/2YCwmsZcy/S5ncy3mid4ulcNI5fRToF1VxIlIiJhFJHy3FHDiyCJ8q3THUT0GS KJ5eN3WUfuMK2HHLpTtq2rULYB/yhaBdk2/T3RjTB4z1vrSTlOxcv/oJiC/B/ux29cVC 5P73s5SCFPJI7Ww/x61JzSH2Z0gFLmaPriatqEfdZTVYJfT86wyOC8e9M9se3KWFh1Y8 HdwDqijizwBmZDIKYppCJhiqRHHh3jEug6mKaX6+tLqhdl8ULJRfJ1Qe1uZuqn30k4Bh PxPg== X-Gm-Message-State: ALoCoQm6P3uYQpQq8RoO91jrhw+uBrggakCut2cgNzRw3L3cjvyI0oRyoCIUua8/mAvkpg7yJ2sN X-Received: by 10.13.195.66 with SMTP id f63mr7612187ywd.107.1434553160964; Wed, 17 Jun 2015 07:59:20 -0700 (PDT) Received: from cgallek-warp18.nyc.corp.google.com ([172.26.105.104]) by mx.google.com with ESMTPSA id z67sm3673607ywb.32.2015.06.17.07.59.19 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 17 Jun 2015 07:59:20 -0700 (PDT) From: Craig Gallek To: netdev@vger.kernel.org Cc: edumazet@google.com, davem@davemloft.net, Craig Gallek Subject: [PATCH net-next] sock_diag: fetch source port from inet_sock Date: Wed, 17 Jun 2015 10:59:10 -0400 Message-Id: <1434553150-8750-1-git-send-email-kraig@google.com> X-Mailer: git-send-email 2.2.0.rc0.207.ga3a616c Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When an inet_sock is destroyed, its source port (sk_num) is set to zero as part of the unhash procedure. In order to supply a source port as part of the NETLINK_SOCK_DIAG socket destruction broadcasts, the source port number must be read from inet_sport instead. Tested: ss -E Signed-off-by: Craig Gallek --- net/ipv4/inet_diag.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 21985d8..ba6a80f 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -1095,6 +1095,8 @@ int inet_diag_handler_get_info(struct sk_buff *skb, struct sock *sk) r = nlmsg_data(nlh); memset(r, 0, sizeof(*r)); inet_diag_msg_common_fill(r, sk); + if (sk->sk_type == SOCK_DGRAM || sk->sk_type == SOCK_STREAM) + r->id.idiag_sport = inet_sk(sk)->inet_sport; r->idiag_state = sk->sk_state; if ((err = nla_put_u8(skb, INET_DIAG_PROTOCOL, sk->sk_protocol))) {