{"id":806978,"url":"http://patchwork.ozlabs.org/api/1.0/patches/806978/?format=json","project":{"id":44,"url":"http://patchwork.ozlabs.org/api/1.0/projects/44/?format=json","name":"skiboot firmware development","link_name":"skiboot","list_id":"skiboot.lists.ozlabs.org","list_email":"skiboot@lists.ozlabs.org","web_url":"http://github.com/open-power/skiboot","scm_url":"http://github.com/open-power/skiboot","webscm_url":""},"msgid":"<20170829062506.8317-6-cyril.bur@au1.ibm.com>","date":"2017-08-29T06:24:58","name":"[RFC,05/13] libflash/libffs: ffs_close() should use ffs_hdr_free()","commit_ref":null,"pull_url":null,"state":"rfc","archived":false,"hash":"7c58d21a67669da9f41338051759535cd78a06cb","submitter":{"id":64738,"url":"http://patchwork.ozlabs.org/api/1.0/people/64738/?format=json","name":"Cyril Bur","email":"cyril.bur@au1.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/skiboot/patch/20170829062506.8317-6-cyril.bur@au1.ibm.com/mbox/","series":[{"id":313,"url":"http://patchwork.ozlabs.org/api/1.0/series/313/?format=json","date":"2017-08-29T06:24:53","name":"Rework flash TOC generation","version":1,"mbox":"http://patchwork.ozlabs.org/series/313/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/806978/checks/","tags":{},"headers":{"Return-Path":"<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","skiboot@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","skiboot@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xhJyB6JHHz9ryr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:44:02 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xhJyB5SGtzDql8\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:44:02 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n\t[148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xhJZW1L6vzDqYN\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:26:59 +1000 (AEST)","from pps.filterd (m0098399.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv7T6OCSe118678\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 02:26:56 -0400","from e23smtp06.au.ibm.com (e23smtp06.au.ibm.com [202.81.31.148])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2cmur5h2g8-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 02:26:56 -0400","from localhost\n\tby e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <skiboot@lists.ozlabs.org> from <cyril.bur@au1.ibm.com>;\n\tTue, 29 Aug 2017 16:26:53 +1000","from d23relay07.au.ibm.com (202.81.31.226)\n\tby e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tTue, 29 Aug 2017 16:26:51 +1000","from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])\n\tby d23relay07.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n\tv7T6PaCP36241552\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:25:36 +1000","from d23av04.au.ibm.com (localhost [127.0.0.1])\n\tby d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id\n\tv7T6Pav3017742\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:25:36 +1000","from ozlabs.au.ibm.com (ozlabs.au.ibm.com [9.192.253.14])\n\tby d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id\n\tv7T6Patt017733; Tue, 29 Aug 2017 16:25:36 +1000","from camb691.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114])\n\t(using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby ozlabs.au.ibm.com (Postfix) with ESMTPSA id 4257CA0273;\n\tTue, 29 Aug 2017 16:25:35 +1000 (AEST)"],"From":"Cyril Bur <cyril.bur@au1.ibm.com>","To":"skiboot@lists.ozlabs.org, stewart@linux.vnet.ibm.com","Date":"Tue, 29 Aug 2017 16:24:58 +1000","X-Mailer":"git-send-email 2.14.1","In-Reply-To":"<20170829062506.8317-1-cyril.bur@au1.ibm.com>","References":"<20170829062506.8317-1-cyril.bur@au1.ibm.com>","X-TM-AS-MML":"disable","x-cbid":"17082906-0040-0000-0000-00000351E32D","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17082906-0041-0000-0000-00000CCFDD9E","Message-Id":"<20170829062506.8317-6-cyril.bur@au1.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-08-29_01:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=2\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1708290096","Subject":"[Skiboot] [RFC PATCH 05/13] libflash/libffs: ffs_close() should use\n\tffs_hdr_free()","X-BeenThere":"skiboot@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Mailing list for skiboot development <skiboot.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/skiboot/>","List-Post":"<mailto:skiboot@lists.ozlabs.org>","List-Help":"<mailto:skiboot-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"Skiboot\"\n\t<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"Signed-off-by: Cyril Bur <cyril.bur@au1.ibm.com>\n---\n libflash/libffs.c | 40 ++++++++++++++++++++--------------------\n 1 file changed, 20 insertions(+), 20 deletions(-)","diff":"diff --git a/libflash/libffs.c b/libflash/libffs.c\nindex 1684388f..822169b7 100644\n--- a/libflash/libffs.c\n+++ b/libflash/libffs.c\n@@ -428,14 +428,32 @@ out:\n \treturn rc;\n }\n \n-void ffs_close(struct ffs_handle *ffs)\n+static void __hdr_free(struct ffs_hdr *hdr)\n {\n \tstruct ffs_entry *ent, *next;\n \n-\tlist_for_each_safe(&ffs->hdr.entries, ent, next, list) {\n+\tlist_for_each_safe(&hdr->entries, ent, next, list) {\n \t\tlist_del(&ent->list);\n \t\tfree(ent);\n \t}\n+\tif (hdr->side) {\n+\t\thdr->side->side = NULL;\n+\t\tffs_hdr_free(hdr->side);\n+\t}\n+}\n+\n+int ffs_hdr_free(struct ffs_hdr *hdr)\n+{\n+\tprintf(\"Freeing hdr\\n\");\n+\t__hdr_free(hdr);\n+\tfree(hdr);\n+\n+\treturn 0;\n+}\n+\n+void ffs_close(struct ffs_handle *ffs)\n+{\n+\t__hdr_free(&ffs->hdr);\n \n \tif (ffs->cache)\n \t\tfree(ffs->cache);\n@@ -889,24 +907,6 @@ int ffs_hdr_new(uint32_t block_size, uint32_t block_count, struct ffs_hdr **r)\n \treturn 0;\n }\n \n-int ffs_hdr_free(struct ffs_hdr *hdr)\n-{\n-\tstruct ffs_entry *ent, *next;\n-\n-\tprintf(\"Freeing hdr\\n\");\n-\tlist_for_each_safe(&hdr->entries, ent, next, list) {\n-\t\tlist_del(&ent->list);\n-\t\tfree(ent);\n-\t}\n-\tif (hdr->side) {\n-\t\thdr->side->side = NULL;\n-\t\tffs_hdr_free(hdr->side);\n-\t}\n-\tfree(hdr);\n-\n-\treturn 0;\n-}\n-\n int ffs_update_act_size(struct ffs_handle *ffs, uint32_t part_idx,\n \t\t\tuint32_t act_size)\n {\n","prefixes":["RFC","05/13"]}