Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755579AbbLQBBd (ORCPT ); Wed, 16 Dec 2015 20:01:33 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47076 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966316AbbLQAky (ORCPT ); Wed, 16 Dec 2015 19:40:54 -0500 Date: Wed, 16 Dec 2015 19:40:50 -0500 From: Jessica Yu To: Miroslav Benes Cc: Rusty Russell , Josh Poimboeuf , Seth Jennings , Jiri Kosina , Vojtech Pavlik , Jonathan Corbet , linux-api@vger.kernel.org, live-patching@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: module: preserve Elf information for livepatch modules Message-ID: <20151217004049.GC29092@packer-debian-8-amd64.digitalocean.com> References: <1448943679-3412-1-git-send-email-jeyu@redhat.com> <1448943679-3412-3-git-send-email-jeyu@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: X-OS: Linux eisen.io 3.16.0-4-amd64 x86_64 User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1251 Lines: 34 +++ Miroslav Benes [16/12/15 11:58 +0100]: >On Mon, 30 Nov 2015, Jessica Yu wrote: > >> @@ -3530,6 +3614,16 @@ static int load_module(struct load_info *info, const char __user *uargs, >> if (err < 0) >> goto bug_cleanup; >> >> + /* >> + * Save sechdrs, indices, and other data from info >> + * in order to patch to-be-loaded modules. >> + * Do not call free_copy() for livepatch modules. >> + */ >> + if (mod->klp) >> + err = copy_module_elf(mod, info); >> + if (err < 0) >> + goto bug_cleanup; >> + > >I think goto bug_cleanup is not sufficient. Just before this hunk sysfs is >created. So in case of error here we should call mod_sysfs_teardown() or >something before going to bug_cleanup. That is new error label is needed >before bug_cleanup. Correct? Yes I think you're right. So before bug_cleanup, we'll just need a new label (maybe called sysfs_cleanup) that calls mod_sysfs_teardown(). In addition, the if (err < 0) check should have been enclosed in the if (mod->klp) block. Jessica -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/