{"id":808060,"url":"http://patchwork.ozlabs.org/api/1.0/patches/808060/?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":"<1504161961-12190-11-git-send-email-cclaudio@linux.vnet.ibm.com>","date":"2017-08-31T06:45:58","name":"[10/13] libstb/stb.c: free cvc allocated memory","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"fe2ae410d9b55c00f15b87aabf1610b843de3ac9","submitter":{"id":69305,"url":"http://patchwork.ozlabs.org/api/1.0/people/69305/?format=json","name":"Claudio Carvalho","email":"cclaudio@linux.vnet.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/skiboot/patch/1504161961-12190-11-git-send-email-cclaudio@linux.vnet.ibm.com/mbox/","series":[{"id":754,"url":"http://patchwork.ozlabs.org/api/1.0/series/754/?format=json","date":"2017-08-31T06:45:48","name":"libstb: simplify the initialization of cvc drivers","version":1,"mbox":"http://patchwork.ozlabs.org/series/754/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808060/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 [IPv6:2401:3900:2:1::3])\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 3xjXyl5MX8z9s7F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 16:48:47 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xjXyl49sCzDqmf\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 16:48:47 +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 3xjXwF1lq1zDqTr\n\tfor <skiboot@lists.ozlabs.org>; Thu, 31 Aug 2017 16:46:37 +1000 (AEST)","from pps.filterd (m0098393.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv7V6hmYW049218\n\tfor <skiboot@lists.ozlabs.org>; Thu, 31 Aug 2017 02:46:35 -0400","from e37.co.us.ibm.com (e37.co.us.ibm.com [32.97.110.158])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2cpa7cn3gf-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <skiboot@lists.ozlabs.org>; Thu, 31 Aug 2017 02:46:34 -0400","from localhost\n\tby e37.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <skiboot@lists.ozlabs.org> from <cclaudio@linux.vnet.ibm.com>;\n\tThu, 31 Aug 2017 00:46:32 -0600","from b03cxnp08026.gho.boulder.ibm.com (9.17.130.18)\n\tby e37.co.us.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tThu, 31 Aug 2017 00:46:29 -0600","from b03ledav004.gho.boulder.ibm.com\n\t(b03ledav004.gho.boulder.ibm.com [9.17.130.235])\n\tby b03cxnp08026.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with\n\tESMTP id v7V6kTTn59179036\n\tfor <skiboot@lists.ozlabs.org>; Wed, 30 Aug 2017 23:46:29 -0700","from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 522D878047\n\tfor <skiboot@lists.ozlabs.org>; Thu, 31 Aug 2017 00:46:29 -0600 (MDT)","from legolas.ibm.com (unknown [9.85.193.48])\n\tby b03ledav004.gho.boulder.ibm.com (Postfix) with ESMTP id AB71778037\n\tfor <skiboot@lists.ozlabs.org>; Thu, 31 Aug 2017 00:46:28 -0600 (MDT)"],"From":"Claudio Carvalho <cclaudio@linux.vnet.ibm.com>","To":"skiboot@lists.ozlabs.org","Date":"Thu, 31 Aug 2017 03:45:58 -0300","X-Mailer":"git-send-email 2.7.4","In-Reply-To":"<1504161961-12190-1-git-send-email-cclaudio@linux.vnet.ibm.com>","References":"<1504161961-12190-1-git-send-email-cclaudio@linux.vnet.ibm.com>","X-TM-AS-GCONF":"00","x-cbid":"17083106-0024-0000-0000-000017200F5B","X-IBM-SpamModules-Scores":"","X-IBM-SpamModules-Versions":"BY=3.00007640; HX=3.00000241; KW=3.00000007;\n\tPH=3.00000004; SC=3.00000226; SDB=6.00910085; UDB=6.00456503;\n\tIPR=6.00690365; \n\tBA=6.00005562; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009;\n\tZB=6.00000000; \n\tZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016938;\n\tXFM=3.00000015; UTC=2017-08-31 06:46:30","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17083106-0025-0000-0000-00004C8711A3","Message-Id":"<1504161961-12190-11-git-send-email-cclaudio@linux.vnet.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-08-31_01:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=3\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-1708310102","Subject":"[Skiboot] [PATCH 10/13] libstb/stb.c: free cvc allocated memory","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":"We no longer need to hold the cleanup cvc hook because the cvc driver\ninitialization is now done in a single place.\n\nThis adds cvc_free() and also calls it to free the cvc allocated\nmemory before the skiroot kernel is executed. Additionally, this also\nremoves the cvc .name attribute.\n\nSigned-off-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com>\n---\n libstb/stb.c | 20 +++++++++++++-------\n 1 file changed, 13 insertions(+), 7 deletions(-)","diff":"diff --git a/libstb/stb.c b/libstb/stb.c\nindex ee5771a..3bc41c6 100644\n--- a/libstb/stb.c\n+++ b/libstb/stb.c\n@@ -33,14 +33,12 @@\n //#define STB_DEBUG\n \n struct container_verification_code {\n-\tconst char *name;\n \tuint64_t verify_addr;\n \tuint64_t sha512_addr;\n \tvoid (*sha512)(void *func_addr, const uint8_t *data, size_t len,\n \t\t       uint8_t *digest);\n \tint (*verify)(void *func_addr, const char *name, void *container,\n \t\t      const void *hw_key_hash, size_t hw_key_hash_size);\n-\tvoid (*cleanup)(void);\n };\n \n static struct container_verification_code *c1vc = NULL;\n@@ -104,6 +102,18 @@ static void sb_enforce(void)\n \tabort();\n }\n \n+static void cvc_free(void)\n+{\n+\tif (c1vc) {\n+\t\tfree(c1vc);\n+\t\tc1vc = NULL;\n+\t}\n+\tif (secure_rom_mem) {\n+\t\tfree(secure_rom_mem);\n+\t\tsecure_rom_mem = NULL;\n+\t}\n+}\n+\n static int c1vc_mbedtls_init(struct dt_node *node)\n {\n \tconst char* hash_algo;\n@@ -131,8 +141,6 @@ static int c1vc_mbedtls_init(struct dt_node *node)\n \tc1vc->sha512 = c1vc_mbedtls_sha512;\n \tc1vc->verify_addr = 0;\n \tc1vc->verify = c1vc_mbedtls_verify;\n-\tc1vc->cleanup = c1vc_mbedtls_cleanup;\n-\tc1vc->name = \"c1vc_mbedtls\";\n \n \tprlog(PR_INFO, \"STB: 'ibm,secureboot-v1-softrom' initialized\\n\");\n \treturn 0;\n@@ -189,9 +197,6 @@ static int c1vc_rom_init(struct dt_node *parent)\n \tc1vc->verify_addr = (uint64_t) secure_rom_mem + SECURE_ROM_VERIFY_OFFSET;\n \tc1vc->verify = c1vc_verify;\n \n-\tc1vc->cleanup = c1vc_cleanup;\n-\tc1vc->name = \"c1vc\";\n-\n \tprlog(PR_INFO, \"STB: 'ibm,secureboot-v1' initialized\\n\");\n \treturn 0;\n }\n@@ -299,6 +304,7 @@ int stb_final(void)\n \ttpm_cleanup();\n \tsecure_mode = false;\n \ttrusted_mode = false;\n+\tcvc_free();\n \treturn (failed) ? STB_MEASURE_FAILED : 0;\n }\n \n","prefixes":["10/13"]}