From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120336 invoked by alias); 26 Jan 2017 13:56:02 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 120310 invoked by uid 89); 26 Jan 2017 13:56:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=H*f:sk:3c0fb03, H*i:sk:3c0fb03, stand X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 26 Jan 2017 13:55:50 +0000 Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.183.45]) by (Symantec Mail Security) with SMTP id F3.CD.16488.3EFF9885; Thu, 26 Jan 2017 14:55:47 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.45) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 26 Jan 2017 14:55:03 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=antoine.tremblay@ericsson.com; Received: from elxa4wqvvz1 (192.75.88.130) by AM5PR0701MB1873.eurprd07.prod.outlook.com (10.167.216.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.6; Thu, 26 Jan 2017 13:55:00 +0000 References: <1485436646-12223-1-git-send-email-antoine.tremblay@ericsson.com> <3c0fb039-513d-9c8a-5851-e13a32d3d3ea@redhat.com> User-agent: mu4e 0.9.19; emacs 25.1.1 From: Antoine Tremblay To: Pedro Alves CC: Antoine Tremblay , Subject: Re: [PATCH] Fix crash when loading a core with unexpected register section size In-Reply-To: <3c0fb039-513d-9c8a-5851-e13a32d3d3ea@redhat.com> Date: Thu, 26 Jan 2017 13:56:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: CY4PR2201CA0007.namprd22.prod.outlook.com (10.171.208.145) To AM5PR0701MB1873.eurprd07.prod.outlook.com (10.167.216.22) X-MS-Office365-Filtering-Correlation-Id: ac754791-a00a-488a-5812-08d445f2ec66 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0701MB1873; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;3:070LYnPNnXLbN8BFzrEuKSiDaF+e38eHLMqfme6zrDL2uUqa6kmtsMSjmppGUB+hvIK1t8gR8LtAPbWPQ7H81c0Kw9ihRinEPOxjY0xpXdtyIMWQTMM/bTkx/jUmbJGq262V/UPtBNHtOQb5V4kJRcntHuPKyxefphAceu0gfSVOMgMKSss22Oc4NAON4nFBJbSxAjLzET0EtB2v/d6fcU2xiYfOcb1owTd62zdH2rLtJY+AnMpLbTGhPKO1lqGq4SBxyFj7uj71t2CZSCnFeQ== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;25:IV0gxzcn22cDFQldyDxVAiQPvTQWpjnh1EFFep69Gt53oKa9ktlX4x2foHsJwwYCugJAAoNOiYSsfOPE/dox1KuQzYnVHsU7zaBCZNbz15zojGurqgKAvp3oOZV7dcBZgvE01GTI3aYcMCQ6kRHXD9sQBqvKQgKOOIp3Tt75PEf0sZPOYmqqb+XgbfVmgaEX71wPECf/JA4+JJ4K2LaHaYP2I2v1EyRHVBxnpDt/UeG8kTvhRrOBNrLlQ3pBY8BmKtFRtDW9FWB7LgUkDkMkoAgf/BLSzFC0v7FhLhLdYk89gI52+UIZQuuSkbUGy/Kx7ELtxXXWaSdPtFwKQvX+DzS7TB/5LEIyH+gDX+t4skAU5Yhh0TtcMWEGpKum4AQR2jMGzNK8j/pEm/BU4Co5vH+dehsFEQ5TEvmRBW0R1uoVuQ1cKIInKtVW31yczNXG82iyGZqdsCQeF2B9aGV541AiyuYLckJ+W6jKqwKoDtWGR7NxZ6hfxXptqycfoBrQSmCbfOUSLyQ6YNwVuUUE5aCXfNiD/PgHi9hSfaHEgfBhVIglBCYuaMIR+MlXbAem71u/CM3HjH8Rv4e7jX8xS9dbtYGhhA09luHQx8xxWiLHprjrVAyksd7WB3g+DF/5cwBBFNZo+HeUar2KxF3scI/D2qpdBEjAFlilaWITZk+GueOXOku1EB0hvG0xP8sTTzyelFp8z0Ec0mR/EuK0LA== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;31:wOdqgwmeUqMrC1tw07Z9GbD0UO6k/tTVXqs8vK8Fzv9tWN0wAbwufRKN6HL8z5QnlSQlrdeW03h0TlhmQS+g1p26Ex0P2cZTQmAxiX7T4P8eEeI7fW0eaVWHKhqtklKIsG3Io/rStUNV4ebZbYPRh9KLxnxYmonXxh/M/u+8LIpc7TxqM3aUA3tNLEQxNBZ1D9kCkf2XwRKzsraDsHEet8qZx9uw9DI54PSMD6ypK+I+sJK7gJA2wCo0sQYBHLlJ3TQWyCaccFjgHRLLSVtNqA==;20:1YfrCWqniKqtiUkqAy2zaTOG9wJ/1ZdsvgZrAAk5cgTuT4mBe5tv37oApBvRyUl5zyCqfTSbWBbRn02Kq4fS7c8zpDrxhwdMN23OKSVwjS/PYf7ZThhNCHynnd/h4b0pEn2cgDU+oDHVYcncjVoSUPCYD0xdOufq4YgLPrtrYknfdFwjFo0SpeYfriVLFm27FSMYC4MPM3e7ISy9n6Va7d03+kRCnT5DIPo+g03q7kW87sX+RcgmaoEYg6EJa5lVfICyU2AN5KETzfi9h3lGjBdX4Q3Ob1VA7/VpGkNX5fMeN82lWR55IX1GjCOAjWqF3Ja4bIK39bjtTmzxlcd6CciL2gLu7PFrfU9AU9x3HUwG7OiZQUGzqGhaQJngI2vTXIzfAx4YDt76VrRR0UVKSFyqol/wYdCK/qKDFKRKAhxXpYz0+Iau5PFLHabFYOg4Fx5ve+ixxYrOurBVk10B5rXpnZyF1kdHSKskZKu4Xur+rNhQ6f5P3jeMwM3lo0Yx X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(6072148);SRVR:AM5PR0701MB1873;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0701MB1873; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;4:FThYFC2WFyDTnbQlAQBr7A5sLk9TSNkCYzgVL7T4F9At0uHH2Rs9e+cNCS0BJ7viEoeW7uktHH2pXD2VFlLd78zesC15CezYEyOpQtAYvQ3xA3BZ0k+r6FGLAtOOWkyRSXH1EwnuLsosWiYTj8UlM/+3qhU95/sokDkvMOcRfr/GDkR8v72YaicqljotXw+8WetYU0Q5TL+W03f2c2RaLZzJcErtIMG2HhcmcXie/UN6dOObAvhElkSjXiTjba3S27K+MzGuRizMTLGUTdzu/srTiJU4arkeKRIV+kQbuRiL0DDkLZ8y9wbIOngwSEttgkYfCUP0WI7FlGMjNPJowX5qbkQLF0Jf/nUK6NW+vYHponPNRPx7cJpgrdBpXzAdrWgzyudIdJcrytZs5Qdx1OXCRdRsyxTWirhv51uqC/zSELpJfgkPEnIfIzlYcqG92ibHlQpLvTdM7nLtbD/u/WHAmb50oBwa7AHMeiwEvbaKnLaRg8TA4W/3Sedi/A2jtSOuBHD5LqlnjfYBXq040qk4FIDeLab6BQozrrCB9t284qlUKm6tMJ+wQuxeJ5T3jcq0S7ks/bT98J0l6D+32A== X-Forefront-PRVS: 019919A9E4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(54534003)(189002)(24454002)(377454003)(199003)(54906002)(189998001)(81156014)(8676002)(68736007)(25786008)(53936002)(4326007)(5003940100001)(36756003)(6496003)(48376002)(81166006)(97736004)(6486002)(4001350100001)(229853002)(7736002)(38730400001)(2906002)(305945005)(110136003)(6666003)(6916009)(2950100002)(5660300001)(101416001)(106356001)(86362001)(47776003)(66066001)(105586002)(6116002)(76176999)(42186005)(92566002)(50986999)(83506001)(54356999)(50466002)(33646002)(3846002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM5PR0701MB1873;H:elxa4wqvvz1;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0701MB1873;23:+LyS3VFM4ydBoQhTcBGnncruGHUi1VCDqx8ycrA?= =?us-ascii?Q?XLq+HIinZaBzn5ROsCrfI2foZylVvgQUB3PUEHS1dwKOujvp7ILKowx6ijXo?= =?us-ascii?Q?Hz53OEwEbnocdUF+lya1q7T5kXHvft7ff7wpIO23akWH2oeMZy2KgRuCgioz?= =?us-ascii?Q?9XjgrcZJVnJ5xlrc0mu4201/kqpMmHH0FdGIvYfIBMm3cVZ3AKz/SSTpRGZF?= =?us-ascii?Q?W+lzg7EFQYcUXZM4NO69iW48DZAZ+yAWGK5+ozhyph3bLDFLm4VMaf/75hUh?= =?us-ascii?Q?Dtug/Bfjji9OXswK+t3GvwWHJrsDlgQ12tbJWey181Vt4PVgd5+28lQZpoPP?= =?us-ascii?Q?F+X04u2L9iSwELFd8LIb5H3vIRV2YoxnzZWiA1OU5ldKTqk+P+QwTaCelDjj?= =?us-ascii?Q?w6LNYSWrGBcYGn4rQsclWM78qHiJHoJtfGdv5hwxsK+tfnR6+qRotZWB2OUc?= =?us-ascii?Q?2iQRHY6AvJabppmUksPUikrBOsMJ53wjhVHm+Gfk1D/QSrCaEliKbacd+pKk?= =?us-ascii?Q?0ljyXrWmlRFdfUlQAZtQJTLA2H7gqhASMEsJCUxqc8EdfxQrWn3aKgw8ZT69?= =?us-ascii?Q?0GUgaV3sYbfd9QqfW9UnJEBdKDUpSv9u7WzLM++9NMheB6mk1mCOiCtktNLG?= =?us-ascii?Q?B7DyNlsGzdYyTrZBf/S45ZiJU1HxvSl429TaHcObxXdQEIyPTBUQbfCCwqs1?= =?us-ascii?Q?txCFLQuTnCZw5Hi6fKmI4sf33oijq+Cvr6oKtB8N0BKvODTK0o+yEp/qZhtv?= =?us-ascii?Q?ZbdFacUhcw6AVbEfErJoV4rosJRU8pPW/PiFMsMhz58HShywAx53qlaSiseZ?= =?us-ascii?Q?8WK8XrbyyeeVY3lKFQ2/RUCN63pJOEE0MlhHsBKJq7hkZ5YQ0QoC/wn5Ks/5?= =?us-ascii?Q?cKplwNOiu+ucEIgByquNHAg9yWnweDMhiegicLmfjLBYZakOQzksmbWacIWE?= =?us-ascii?Q?yCzCgz7YlIIjc7tIQXwEWioeepi468zebAwP1NQwbj8K7Rwx15HAQrbdw4o2?= =?us-ascii?Q?kB7ssGtvFdTdCNyuqtvTtjrLFaLQD7k2R4+vEE8jRlcy1g41jOh1kmRcLkdW?= =?us-ascii?Q?+mozzSOhWuuE4psKkq0nBeNrdWyCzZ/5BAkya8RrL7PZK4Z1llujz9ycRkhQ?= =?us-ascii?Q?nsXHwQvt0VfI/8K+o9E9wEmPcGephoGLsIIf/hOkjSzM1ndGp1tUXOBK/3St?= =?us-ascii?Q?Z6sCfQiddN6Kh7pMqaHmAcM7xxEgCMu3FT/e87RGuSO6O522m+0iLt5J3ORA?= =?us-ascii?Q?YXWrmao/QIt4K2ps63CA=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;6:FEw51xTSg3dVy6bLXBk60ry7Gt/ZZb5PpsXrmPCTVR8I53lcRvjIxF8bRKv2Ld3gF6cmFvny9NMt5atPvRdq9VX10zJlyNlJWnlnF8SvMoV5C4BmTmK91lSaxCGAUHWy28g9vwxrK5buNeG39iLjqrdmOwzAsVuiQgk4NmlZlZbsjOGkSxZZCSQdxKoGCnRb1ZQeyTbwd6dUeqqxGBCK8Yr9RyfyjuBsTmab3zyWYeZL6/ryjZai/Y+HFDWd1hS4whmZ1ZNxXWwPpnmTRKpIotVaUhIEpECQF/mng3XnVf5EhtKSPmY+rkSLewaF+wAS7tqlJtIB4vOL/QzlmaIMLBQL+nIi5P+8nyYxAfha3BlLK6IV2xdw3dCBlquam3uk6Pc6RcrmSLgwbKCvy73P8vG0bZcXTJOny2/rEvg/E/A=;5:SGJzj3E3TSOk/hDYmNLEXT/6B9oiRs9euz5N0L+mzFwJzLCoSwf3O8fYf7hNsV9DIk/4UZSkvM3WcUFGzfu7Qigb4FbKkEJXAev7s/y3/PXd7WaNTJb7B4bxBUy8eoom6oNH2wQhtgvX3flh7TLFvPnGOKtjSeD6G6bxlFekyWg=;24:HXJlMK/w9K9u+qTyv/Zr71ZA1qWtKmIFpSaAK5KjSeZJ/D8T0W2a8Q0ERSAweCojepKPMul0IO+9O0rI4P/MiRpCeG6LKRD2j3vRtakQnwM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;7:XpJQiDFeYKW5OP8q88SpRkWiRFzX93rP0wCcLNmKHCmmfryJMlJD/0Ho22R6Boqxm+J/RtT1GeuYHPkJZsmjpecW3Xe7tjlluaP3Luocgwt+XmrPb6KNXAp/JtqkzQtdbIK8EauMxNmCZvy2u1ZDvw2LjkKsahUt+WezHvXujGPnwhUsY740VPOSzAA/SbQgtqpk48JPu6zAy2yD2UjKN4vWi+ScD5bn3nkGWn/qpaNQVyhrUkpcxHiQHRHdxnRFzRQuG/bzn771GB20AcN8Webf6LvrxbBs1MXFXl1RgsacvZJZwr5MoolOtgxyk+EmyNZtb4rBJU27gTNSabyo2eLt4W8JLM+Op0yWXvf4dFO/KVg0I0lH5P6Z3s4PcOqbTjaRMeDPbuQnZcdj4EyfKgTvwonzAMvMDbJ1JdbwRXTg22ZDlw0Jn0k9oU06KEiENxa2Oo65r4ui/yjDe8by7Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2017 13:55:00.7083 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB1873 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-01/txt/msg00567.txt.bz2 Pedro Alves writes: > On 01/26/2017 01:17 PM, Antoine Tremblay wrote: >> When loading a core without an executable like so: >> gdb --core core for example often the gdbarch won't contain the >> iterate_over_regset_sections method. > > Can you give an example? That'd help a lot understand the issue > better. > I can't share the core that I have that reproduced this :( > Also, please add a line break, ""s and/or punctuation to make > the command stand out more from the rest of the sentence. > For example: > > When loading a core without an executable like so: > $ gdb --core core > for example, often the gdbarch won't contain the > iterate_over_regset_sections method. For example arch-foo. > OK. >> >> This will generate a call to get_core_register_section with a NULL regset >> like at corelow.c:628 >> >> get_core_register_section (regcache, NULL, ".reg", 0, 0, "general-purpose", 1); >> >> However a check for REGSET_VARIABLE_SIZE in get_core_register_section >> assumes that regset is != NULL thus leading to a crash with this backtrace: >> >> (gdb) bt >> #0 0x000000000065907b in get_core_register_section >> (regcache=regcache@entry=0x2c26260, regset=regset@entry=0x0, >> name=name@entry=0xdbf7b2 ".reg", min_size=min_size@entry=0, >> which=which@entry=0, human_name=human_name@entry=0xdbac28 >> "general-purpose", required=1) >> at ../../gdb/corelow.c:542 >> #1 0x0000000000659b70 in get_core_registers (ops=, >> regcache=0x2c26260, regno=) at ../../gdb/corelow.c:628 >> #2 0x000000000076e5fb in target_fetch_registers >> (regcache=regcache@entry=0x2c26260, regno=regno@entry=15) at ../../gdb/target.c:3590 >> >> Note that commit: f962539ad23759af4ba8f7eece1946fdc2f5087 > > Please always paste the commit's subject as well, to make > it easier for us poor humans to quickly tell what the commit > was about without having to go to a terminal. The Linux guideline > is to put it in parens: > > Note that commit f962539ad23759 ("Warn if core file register > section is larger than expected") introduced [...] > > I personally like that style. > OK thanks, > introcuded this > > (typo) > Indeed. >> issue. Thus releases > 7.8.2 are affected. >> >> This patch fixes this crash by adding a check for regset existence before >> running the condition. >> >> gdb/ChangeLog: >> >> * corelow.c (get_core_register_section): Check for regset >> existance before checking for REGSET_VARIABLE_SIZE. > > Indentation. "existence". > Yes oops. >> --- >> gdb/corelow.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/gdb/corelow.c b/gdb/corelow.c >> index a075d9e..f43f730 100644 >> --- a/gdb/corelow.c >> +++ b/gdb/corelow.c >> @@ -515,6 +515,7 @@ get_core_register_section (struct regcache *regcache, >> struct bfd_section *section; >> bfd_size_type size; >> char *contents; >> + bool variable_size_section = false; > > No need to initialize by default when you're always going to > initialize it again below. Or declare on first use and avoid > the issue entirely. > Indeed. fixed. V2 coming in next mail.