Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754296AbbBZPbR (ORCPT ); Thu, 26 Feb 2015 10:31:17 -0500 Received: from mail-la0-f54.google.com ([209.85.215.54]:45596 "EHLO mail-la0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752870AbbBZPbP (ORCPT ); Thu, 26 Feb 2015 10:31:15 -0500 MIME-Version: 1.0 In-Reply-To: <20150225114747.GC3226@pd.tnic> References: <20150225114747.GC3226@pd.tnic> From: Andy Lutomirski Date: Thu, 26 Feb 2015 07:30:54 -0800 Message-ID: Subject: Re: Re: [PATCH v2 3/3] efi: Capsule update with user helper interface To: Borislav Petkov Cc: "Kweh, Hock Leong" , Sam Protsenko , Matt Fleming , Ming Lei , Greg Kroah-Hartman , "Ong, Boon Leong" , LKML , "linux-efi@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1937 Lines: 41 On Wed, Feb 25, 2015 at 3:47 AM, Borislav Petkov wrote: > On Tue, Feb 24, 2015 at 12:49:09PM +0000, Kweh, Hock Leong wrote: >> So the process steps basically look like this: >> 1.) cat capsule_ticket =======> acquire a number and lock mutex then >> expose firmware_class user helper >> interface as well as start timer for timeout >> counting >> 2.) repeat step 1 if obtained a "0" number >> 3.) echo 1 > loading >> 4.) cat bin > data >> 5.) echo 0 > loading =======> stop the timeout counting then unlock >> mutex at the end of callback routine >> 6.) cat capsule_report =======> grep the number acquired from beginning >> for checking succeeded/failed > > So this sounds pretty overengineered for no reason, or maybe I'm missing > the reason. > > If I had to give an example from the microcode loader, what we do there > is put the microcode in /lib/firmware/... and do > > echo 1 > /sys/devices/system/cpu/microcode/reload > > which goes and calls reload_store() in > arch/x86/kernel/cpu/microcode/core.c which grabs a mutex, disables CPU > hotplug, etc, etc... > > And this mechanism is as simple as it can get. Maybe capsules can be > loaded like that too? > > Error code can be propagated too, if needed, of course. How can the error code be propagated? Would that echo command fail in case of error? --Andy -- 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/