{"id":826,"url":"http://patchwork.ozlabs.org/api/1.0/patches/826/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1222068117-13401-6-git-send-email-gerrit@erg.abdn.ac.uk>","date":"2008-09-22T07:21:57","name":"[5/5] dccp: Cleanup routines for feature negotiation","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":true,"hash":"f4269cb7a88f1d5cf79126c5cb0aeafec845c68a","submitter":{"id":386,"url":"http://patchwork.ozlabs.org/api/1.0/people/386/?format=json","name":"Gerrit Renker","email":"gerrit@erg.abdn.ac.uk"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.0/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1222068117-13401-6-git-send-email-gerrit@erg.abdn.ac.uk/mbox/","series":[],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/826/checks/","tags":{},"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Received":["from vger.kernel.org (vger.kernel.org [209.132.176.167])\n\tby ozlabs.org (Postfix) with ESMTP id 23A6ADDE2A\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon, 22 Sep 2008 17:22:27 +1000 (EST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751754AbYIVHWV (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 22 Sep 2008 03:22:21 -0400","(majordomo@vger.kernel.org) by vger.kernel.org id S1751703AbYIVHWU\n\t(ORCPT <rfc822; netdev-outgoing>); Mon, 22 Sep 2008 03:22:20 -0400","from dee.erg.abdn.ac.uk ([139.133.204.82]:40432 \"EHLO\n\terg.abdn.ac.uk\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1751655AbYIVHWQ (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tMon, 22 Sep 2008 03:22:16 -0400","from laptev.erg.abdn.ac.uk (Debian-exim@ra-gerrit.erg.abdn.ac.uk\n\t[139.133.204.38])\n\tby erg.abdn.ac.uk (8.13.4/8.13.4) with ESMTP id m8M7M0eh000583\n\t(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT);\n\tMon, 22 Sep 2008 08:22:00 +0100 (BST)","from root by laptev.erg.abdn.ac.uk with local (Exim 4.69)\n\t(envelope-from <root@laptev.erg.abdn.ac.uk>)\n\tid 1Khfk5-0003Up-5s; Mon, 22 Sep 2008 09:21:57 +0200"],"From":"Gerrit Renker <gerrit@erg.abdn.ac.uk>","To":"davem@davemloft.net","Cc":"dccp@vger.kernel.org, netdev@vger.kernel.org,\n\tGerrit Renker <gerrit@erg.abdn.ac.uk>","Subject":"[PATCH 5/5] dccp: Cleanup routines for feature negotiation","Date":"Mon, 22 Sep 2008 09:21:57 +0200","Message-Id":"<1222068117-13401-6-git-send-email-gerrit@erg.abdn.ac.uk>","X-Mailer":"git-send-email 1.6.0.rc2","In-Reply-To":"<1222068117-13401-5-git-send-email-gerrit@erg.abdn.ac.uk>","References":"<20080921.235853.223987556.davem@davemloft.net>\n\t<1222068117-13401-1-git-send-email-gerrit@erg.abdn.ac.uk>\n\t<1222068117-13401-2-git-send-email-gerrit@erg.abdn.ac.uk>\n\t<1222068117-13401-3-git-send-email-gerrit@erg.abdn.ac.uk>\n\t<1222068117-13401-4-git-send-email-gerrit@erg.abdn.ac.uk>\n\t<1222068117-13401-5-git-send-email-gerrit@erg.abdn.ac.uk>","X-ERG-MailScanner":"Found to be clean","X-ERG-MailScanner-From":"root@erg.abdn.ac.uk","X-Spam-Status":"No","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"This inserts the required de-allocation routines for memory allocated by\nfeature negotiation in the socket destructors, replacing dccp_feat_clean()\nin one instance.\n\nSigned-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>\nAcked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>\n---\n net/dccp/dccp.h  |    2 ++\n net/dccp/ipv4.c  |    1 +\n net/dccp/ipv6.c  |    1 +\n net/dccp/proto.c |    2 +-\n 4 files changed, 5 insertions(+), 1 deletions(-)\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe netdev\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","diff":"--- a/net/dccp/dccp.h\n+++ b/net/dccp/dccp.h\n@@ -442,6 +442,8 @@ static inline int dccp_ack_pending(const struct sock *sk)\n \t       inet_csk_ack_scheduled(sk);\n }\n \n+extern void dccp_feat_list_purge(struct list_head *fn_list);\n+\n extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb);\n extern int dccp_insert_options_rsk(struct dccp_request_sock*, struct sk_buff*);\n extern int dccp_insert_option_elapsed_time(struct sock *sk,\n--- a/net/dccp/ipv4.c\n+++ b/net/dccp/ipv4.c\n@@ -545,6 +545,7 @@ out:\n \n static void dccp_v4_reqsk_destructor(struct request_sock *req)\n {\n+\tdccp_feat_list_purge(&dccp_rsk(req)->dreq_featneg);\n \tkfree(inet_rsk(req)->opt);\n }\n \n--- a/net/dccp/ipv6.c\n+++ b/net/dccp/ipv6.c\n@@ -302,6 +302,7 @@ done:\n \n static void dccp_v6_reqsk_destructor(struct request_sock *req)\n {\n+\tdccp_feat_list_purge(&dccp_rsk(req)->dreq_featneg);\n \tif (inet6_rsk(req)->pktopts != NULL)\n \t\tkfree_skb(inet6_rsk(req)->pktopts);\n }\n--- a/net/dccp/proto.c\n+++ b/net/dccp/proto.c\n@@ -268,7 +268,7 @@ void dccp_destroy_sock(struct sock *sk)\n \tdp->dccps_hc_rx_ccid = dp->dccps_hc_tx_ccid = NULL;\n \n \t/* clean up feature negotiation state */\n-\tdccp_feat_clean(dmsk);\n+\tdccp_feat_list_purge(&dp->dccps_featneg);\n }\n \n EXPORT_SYMBOL_GPL(dccp_destroy_sock);\n","prefixes":["5/5"]}