From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754406AbcEPS23 (ORCPT ); Mon, 16 May 2016 14:28:29 -0400 Received: from AUSXIPPC110.us.dell.com ([143.166.85.200]:9766 "EHLO ausxippc110.us.dell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753758AbcEPS21 (ORCPT ); Mon, 16 May 2016 14:28:27 -0400 DomainKey-Signature: s=smtpout; d=dell.com; c=nofws; q=dns; h=X-LoopCount0:X-IronPort-AV:From:To:Cc:Subject:Date: Message-Id:X-Mailer; b=Nr/J9Q2w8EuQ+WSCJbGZKDZ/uXOrxOfc3hyeghQHaqzNVQNUoFM2CqE6 STz3JOHhmywxnRzuQY+bSFvDvS63YJuGmKefyVE6VFQdPROiMa9RcTzg+ j4nIIh1VoHYSnnOreCzArPoIcZ4f4mh4j6j9F24nKlZt2UPNKfcb6uCgd c=; X-LoopCount0: from 10.209.151.17 X-IronPort-AV: E=Sophos;i="5.26,627,1459832400"; d="scan'208";a="309882670" From: Mario Limonciello To: ming.lei@canonical.com Cc: LKML , Mario Limonciello Subject: [PATCH v2 1/3] dell_rbu: Don't fallback to userhelper Date: Mon, 16 May 2016 13:27:48 -0500 Message-Id: <1463423270-24348-1-git-send-email-mario_limonciello@dell.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org when loading firmware dell_rbu previously would allow a userspace application to craft the payload after dell_rbu was loaded and abuse the udev userspace API. Instead require the payload to be crafted and placed in /lib/firmware/dell_rbu ahead of time. This adjusts dell_rbu to immediately load the firmware from /lib/firmware/dell_rbu when "init" is passed into image_type using the kernel helper. Signed-off-by: Mario Limonciello --- drivers/firmware/Kconfig | 1 - drivers/firmware/dell_rbu.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 6664f11..85afe59 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -86,7 +86,6 @@ config DELL_RBU tristate "BIOS update support for DELL systems via sysfs" depends on X86 select FW_LOADER - select FW_LOADER_USER_HELPER help Say m if you want to have the option of updating the BIOS for your DELL system. Note you need a Dell OpenManage or Dell Update package (DUP) diff --git a/drivers/firmware/dell_rbu.c b/drivers/firmware/dell_rbu.c index 2f452f1..77b2a77 100644 --- a/drivers/firmware/dell_rbu.c +++ b/drivers/firmware/dell_rbu.c @@ -620,7 +620,7 @@ static ssize_t write_rbu_image_type(struct file *filp, struct kobject *kobj, if (!rbu_data.entry_created) { spin_unlock(&rbu_data.lock); req_firm_rc = request_firmware_nowait(THIS_MODULE, - FW_ACTION_NOHOTPLUG, "dell_rbu", + FW_ACTION_HOTPLUG, "dell_rbu", &rbu_device->dev, GFP_KERNEL, &context, callbackfn_rbu); if (req_firm_rc) { -- 2.7.4