diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-25 15:01:43 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-25 15:01:43 +0200 |
commit | f5b3fcfe96d6328cbac586d25823527a257b5995 (patch) | |
tree | 03ce7d8f4a8868efbac7f3edab816915bfba87f6 | |
parent | eb49b51a091d445ec2f737712b88687ed54651b8 (diff) | |
download | patches-f5b3fcfe96d6328cbac586d25823527a257b5995.tar.gz |
refresh for 5.3-rc1
-rw-r--r-- | 0001-USB-move-usb-debugfs-directory-creation-to-the-usb-c.patch | 159 | ||||
-rw-r--r-- | l.patch | 343 | ||||
-rw-r--r-- | p02 | 218 | ||||
-rw-r--r-- | p04 | 60 | ||||
-rw-r--r-- | p06 | 125 | ||||
-rw-r--r-- | p07 | 142 | ||||
-rw-r--r-- | p08 | 140 | ||||
-rw-r--r-- | p09 | 59 | ||||
-rw-r--r-- | p10 | 83 | ||||
-rw-r--r-- | p11 | 177 | ||||
-rw-r--r-- | p12 | 53 | ||||
-rw-r--r-- | series | 10 | ||||
-rw-r--r-- | spdxcheck-print-out-files-without-any-spdx-lines.patch | 2 |
13 files changed, 375 insertions, 1196 deletions
diff --git a/0001-USB-move-usb-debugfs-directory-creation-to-the-usb-c.patch b/0001-USB-move-usb-debugfs-directory-creation-to-the-usb-c.patch deleted file mode 100644 index 4cb09f67b68bdd..00000000000000 --- a/0001-USB-move-usb-debugfs-directory-creation-to-the-usb-c.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 34fef47efd28235e5dcee8cfba449ea98b86dfed Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Tue, 4 Jun 2019 16:07:40 +0200 -Subject: [PATCH] USB: move usb debugfs directory creation to the usb common - core - -The USB gadget subsystem wants to use the USB debugfs root directory, so -move it to the common "core" USB code so that it is properly initialized -and removed as needed. - -In order to properly do this, we need to load the common code before the -usb core code, when everything is linked into the kernel, so reorder the -link order of the code. - -Also as the usb common code has the possibility of the led trigger logic -to be merged into it, handle the build option properly by only having -one module init/exit function and have the common code initialize the -led trigger if needed. - -Reported-by: Chunfeng Yun <chunfeng.yun@mediatek.com> -Cc: Felipe Balbi <felipe.balbi@linux.intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/usb/Makefile | 3 +-- - drivers/usb/common/common.c | 21 +++++++++++++++++++++ - drivers/usb/common/common.h | 14 ++++++++++++++ - drivers/usb/common/led.c | 9 +++------ - drivers/usb/core/usb.c | 10 ++++------ - 5 files changed, 43 insertions(+), 14 deletions(-) - create mode 100644 drivers/usb/common/common.h - ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -5,6 +5,7 @@ - - # Object files in subdirectories - -+obj-$(CONFIG_USB_COMMON) += common/ - obj-$(CONFIG_USB) += core/ - obj-$(CONFIG_USB_SUPPORT) += phy/ - -@@ -60,8 +61,6 @@ obj-$(CONFIG_USB_CHIPIDEA) += chipidea/ - obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/ - obj-$(CONFIG_USB_GADGET) += gadget/ - --obj-$(CONFIG_USB_COMMON) += common/ -- - obj-$(CONFIG_USBIP_CORE) += usbip/ - - obj-$(CONFIG_TYPEC) += typec/ ---- a/drivers/usb/common/common.c -+++ b/drivers/usb/common/common.c -@@ -15,6 +15,8 @@ - #include <linux/usb/of.h> - #include <linux/usb/otg.h> - #include <linux/of_platform.h> -+#include <linux/debugfs.h> -+#include "common.h" - - static const char *const ep_type_names[] = { - [USB_ENDPOINT_XFER_CONTROL] = "ctrl", -@@ -291,4 +293,23 @@ struct device *usb_of_get_companion_dev( - EXPORT_SYMBOL_GPL(usb_of_get_companion_dev); - #endif - -+struct dentry *usb_debug_root; -+EXPORT_SYMBOL_GPL(usb_debug_root); -+ -+static int __init usb_common_init(void) -+{ -+ usb_debug_root = debugfs_create_dir("usb", NULL); -+ ledtrig_usb_init(); -+ return 0; -+} -+ -+static void __exit usb_common_exit(void) -+{ -+ ledtrig_usb_exit(); -+ debugfs_remove_recursive(usb_debug_root); -+} -+ -+subsys_initcall(usb_common_init); -+module_exit(usb_common_exit); -+ - MODULE_LICENSE("GPL"); ---- /dev/null -+++ b/drivers/usb/common/common.h -@@ -0,0 +1,14 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+ -+#ifndef __LINUX_USB_COMMON_H -+#define __LINUX_USB_COMMON_H -+ -+#if defined(CONFIG_USB_LED_TRIG) -+void ledtrig_usb_init(void); -+void ledtrig_usb_exit(void); -+#else -+static inline void ledtrig_usb_init(void) { } -+static inline void ledtrig_usb_exit(void) { } -+#endif -+ -+#endif /* __LINUX_USB_COMMON_H */ ---- a/drivers/usb/common/led.c -+++ b/drivers/usb/common/led.c -@@ -10,6 +10,7 @@ - #include <linux/init.h> - #include <linux/leds.h> - #include <linux/usb.h> -+#include "common.h" - - #define BLINK_DELAY 30 - -@@ -36,18 +37,14 @@ void usb_led_activity(enum usb_led_event - EXPORT_SYMBOL_GPL(usb_led_activity); - - --static int __init ledtrig_usb_init(void) -+void __init ledtrig_usb_init(void) - { - led_trigger_register_simple("usb-gadget", &ledtrig_usb_gadget); - led_trigger_register_simple("usb-host", &ledtrig_usb_host); -- return 0; - } - --static void __exit ledtrig_usb_exit(void) -+void __exit ledtrig_usb_exit(void) - { - led_trigger_unregister_simple(ledtrig_usb_gadget); - led_trigger_unregister_simple(ledtrig_usb_host); - } -- --module_init(ledtrig_usb_init); --module_exit(ledtrig_usb_exit); ---- a/drivers/usb/core/usb.c -+++ b/drivers/usb/core/usb.c -@@ -1185,19 +1185,17 @@ static struct notifier_block usb_bus_nb - .notifier_call = usb_bus_notify, - }; - --struct dentry *usb_debug_root; --EXPORT_SYMBOL_GPL(usb_debug_root); -+static struct dentry *usb_devices_root; - - static void usb_debugfs_init(void) - { -- usb_debug_root = debugfs_create_dir("usb", NULL); -- debugfs_create_file("devices", 0444, usb_debug_root, NULL, -- &usbfs_devices_fops); -+ usb_devices_root = debugfs_create_file("devices", 0444, usb_debug_root, -+ NULL, &usbfs_devices_fops); - } - - static void usb_debugfs_cleanup(void) - { -- debugfs_remove_recursive(usb_debug_root); -+ debugfs_remove(usb_devices_root); - } - - /* diff --git a/l.patch b/l.patch new file mode 100644 index 00000000000000..5a9432dbcf50b4 --- /dev/null +++ b/l.patch @@ -0,0 +1,343 @@ +[PATCH V6] Documentation/admin-guide: Embargoed hardware security issues + +To address the requirements of embargoed hardware issues, like Meltdown, +Spectre, L1TF etc. it is necessary to define and document a process for +handling embargoed hardware security issues. + +Following the discussion at the maintainer summit 2018 in Edinburgh +(https://lwn.net/Articles/769417/) the volunteered people have worked +out a process and a Memorandum of Understanding. The latter addresses +the fact that the Linux kernel community cannot sign NDAs for various +reasons. + +The initial contact point for hardware security issues is different from +the regular kernel security contact to provide a known and neutral +interface for hardware vendors and researchers. The initial primary +contact team is proposed to be staffed by Linux Foundation Fellows, who +are not associated to a vendor or a distribution and are well connected +in the industry as a whole. + +The process is designed with the experience of the past incidents in +mind and tries to address the remaining gaps, so future (hopefully rare) +incidents can be handled more efficiently. It won’t remove the fact, +that most of this has to be done behind closed doors, but it is set up +to avoid big bureaucratic hurdles for individual developers. + +The process is solely for handling hardware security issues and cannot +be used for regular kernel (software only) security bugs. + +This memo can help with hardware companies who, and I quote, "[my +manager] doesn't want to bet his job on the list keeping things secret." +This despite numerous leaks directly from that company over the years, +and none ever so far from the kernel security team. Cognitive +dissidence seems to be a requirement to be a good manager. + +To accelerate the adoption of this process, we introduce the concept of +ambassadors in participating companies. The ambassadors are there to +guide people to comply with the process, but are not automatically +involved in the disclosure of a particular incident. + +Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Reviewed-by: Jiri Kosina <jkosina@suse.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> + +--- + Documentation/admin-guide/embargoed-hardware-issues.rst | 281 ++++++++++++++++ + Documentation/admin-guide/index.rst | 1 + 2 files changed, 282 insertions(+) + +--- /dev/null ++++ b/Documentation/admin-guide/embargoed-hardware-issues.rst +@@ -0,0 +1,281 @@ ++.. _embargoedhardwareissues: ++ ++Embargoed hardware issues ++========================= ++ ++Scope ++----- ++ ++Hardware issues which result in security problems are a different category ++of security bugs than pure software bugs which only affect the Linux ++kernel. ++ ++Hardware issues like Meltdown, Spectre, L1TF etc. must be treated ++differently because they usually affect all Operating Systems (“OS“) and ++therefore need coordination across different OS vendors, distributions, ++hardware vendors and other parties. For some of the issues, software ++mitigations can depend on microcode or firmware updates, which need further ++coordination. ++ ++.. _Contact: ++ ++Contact ++------- ++ ++The Linux kernel hardware security team is separate from the regular Linux ++kernel security team. ++ ++The team is only handling the coordination of embargoed hardware security ++issues. Reports of pure software security bugs in the Linux kernel are not ++handled by this team and the reporter will be guided to contact the regular ++Linux kernel security team (:ref:`Documentation/admin-guide/ ++<securitybugs>`) instead. ++ ++The team can be contacted by email at <hardware-security@kernel.org>. This ++is a private list of security officers who will help you to coordinate an ++issue according to our documented process. ++ ++The list is encrypted and email to the list can be sent by either PGP or ++S/MIME encrypted and must be signed with the reporter's PGP key or S/MIME ++certificate. The list's PGP key and S/MIME certificate are available from ++https://www.kernel.org/.... ++ ++While hardware security issues are often handled by the affected hardware ++vendor, we welcome contact from researchers or individuals who identified a ++potential hardware flaw. ++ ++Hardware security officers ++^^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++The current team of hardware security officers: ++ ++ - Linus Torvalds (Linux Foundation Fellow) ++ - Greg Kroah-Hartman (Linux Foundation Fellow) ++ - Thomas Gleixner (Linux Foundation Fellow) ++ ++Operation of mailing-lists ++^^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++The encrypted mailing-lists which are used in our process are hosted on ++Linux Foundation's IT infrastructure. By providing this service Linux ++Foundation's director of IT Infrastructure security technically has the ++ability to access the embargoed information, but is obliged to ++confidentiality by his employment contract. Linux Foundation's director of ++IT Infrastructure security is also responsible for the kernel.org ++infrastructure. ++ ++The Linux Foundation's current director of IT Infrastructure security is ++Konstantin Ryabitsev. ++ ++ ++Non-disclosure agreements ++------------------------- ++ ++The Linux kernel hardware security team is not a formal body and therefore ++unable to enter into any non-disclosure agreements. The kernel community ++is aware of the sensitive nature of such issues and offers a Memorandum of ++Understanding instead. ++ ++ ++Memorandum of Understanding ++--------------------------- ++ ++The Linux kernel community has a deep understanding of the requirement to ++keep hardware security issues under embargo for coordination between ++different OS vendors, distributors, hardware vendors and other parties. ++ ++The Linux kernel community has successfully handled hardware security ++issues in the past and has the necessary mechanisms in place to allow ++community compliant development under embargo restrictions. ++ ++The Linux kernel community has a dedicated hardware security team for ++initial contact, which oversees the process of handling such issues under ++embargo rules. ++ ++The hardware security team identifies the developers (domain experts) which ++form the initial response team for a particular issue. The initial response ++team can bring in further developers (domain experts) to address the issue ++in the best technical way. ++ ++All involved developers pledge to adhere to the embargo rules and to keep ++the received information confidential. Violation of the pledge will lead to ++immediate exclusion from the current issue and removal from all related ++mailing-lists. In addition, the hardware security team will also exclude ++the offender from future issues. The impact of this consequence is a highly ++effective deterrent in our community. In case a violation happens the ++hardware security team will inform the involved parties immediately. If you ++or anyone becomes aware of a potential violation, please report it ++immediately to the Hardware security officers. ++ ++ ++Process ++^^^^^^^ ++ ++Due to the globally distributed nature of Linux kernel development, face to ++face meetings are almost impossible to address hardware security issues. ++Phone conferences are hard to coordinate due to time zones and other ++factors and should be only used when absolutely necessary. Encrypted email ++has been proven to be the most effective and secure communication method ++for these types of issues. ++ ++Start of Disclosure ++""""""""""""""""""" ++ ++Disclosure starts by contacting the Linux kernel hardware security team by ++email. This initial contact should contain a description of the problem and ++a list of any known affected hardware. If your organization builds or ++distributes the affected hardware, we encourage you to also consider what ++other hardware could be affected. ++ ++The hardware security team will provide a per incident specific encrypted ++mailing-list which will be used for initial discussion with the reporter, ++further disclosure and coordination. ++ ++The hardware security team will provide the disclosing party a list of ++developers (domain experts) who should be informed initially about the ++issue after confirming with the developers that they will adhere to this ++Memorandum of Understanding and the documented process. These developers ++form the initial response team and will be responsible for handling the ++issue after initial contact. The hardware security team is supporting the ++response team, but is not necessarily involved in the mitigation ++development process. ++ ++While individual developers might be covered by a non-disclosure agreement ++via their employer, they cannot enter individual non-disclosure agreements ++in their role as Linux kernel developers. They will, however, adhere to ++this documented process and the Memorandum of Understanding. ++ ++ ++Disclosure ++"""""""""" ++ ++The disclosing party provides detailed information to the initial response ++team via the specific encrypted mailing-list. ++ ++From our experience the technical documentation of these issues is usually ++a sufficient starting point and further technical clarification is best ++done via email. ++ ++Mitigation development ++"""""""""""""""""""""" ++ ++The initial response team sets up an encrypted mailing-list or repurposes ++an existing one if appropriate. The disclosing party should provide a list ++of contacts for all other parties who have already been, or should be ++informed about the issue. The response team contacts these parties so they ++can name experts who should be subscribed to the mailing-list. ++ ++Using a mailing-list is close to the normal Linux development process and ++has been successfully used in developing mitigations for various hardware ++security issues in the past. ++ ++The mailing-list operates in the same way as normal Linux development. ++Patches are posted, discussed and reviewed and if agreed on applied to a ++non-public git repository which is only accessible to the participating ++developers via a secure connection. The repository contains the main ++development branch against the mainline kernel and backport branches for ++stable kernel versions as necessary. ++ ++The initial response team will identify further experts from the Linux ++kernel developer community as needed and inform the disclosing party about ++their participation. Bringing in experts can happen at any time of the ++development process and often needs to be handled in a timely manner. ++ ++Coordinated release ++""""""""""""""""""" ++ ++The involved parties will negotiate the date and time where the embargo ++ends. At that point the prepared mitigations are integrated into the ++relevant kernel trees and published. ++ ++While we understand that hardware security issues need coordinated embargo ++time, the embargo time should be constrained to the minimum time which is ++required for all involved parties to develop, test and prepare the ++mitigations. Extending embargo time artificially to meet conference talk ++dates or other non-technical reasons is creating more work and burden for ++the involved developers and response teams as the patches need to be kept ++up to date in order to follow the ongoing upstream kernel development, ++which might create conflicting changes. ++ ++CVE assignment ++"""""""""""""" ++ ++Neither the hardware security team nor the initial response team assign ++CVEs, nor are CVEs required for the development process. If CVEs are ++provided by the disclosing party they can be used for documentation ++purposes. ++ ++Process ambassadors ++------------------- ++ ++For assistance with this process we have established ambassadors in various ++organizations, who can answer questions about or provide guidance on the ++reporting process and further handling. Ambassadors are not involved in the ++disclosure of a particular issue, unless requested by a response team or by ++an involved disclosed party. The current ambassadors list: ++ ++ ============== ======================================================== ++ ARM ++ AMD ++ IBM ++ Intel ++ Qualcomm ++ ++ Microsoft ++ VMware ++ XEN ++ ++ Canonical ++ Debian ++ Oracle ++ Redhat ++ Suse Jiri Kosina <jkosina@suse.com> ++ ++ Amazon ++ Google ++ ============== ======================================================== ++ ++If you want your organization to be added to the ambassadors list, please ++contact the hardware security team. The nominated ambassador has to ++understand and support our process fully and is ideally well connected in ++the Linux kernel community. ++ ++Encrypted mailing-lists ++----------------------- ++ ++We use encrypted mailing-lists for communication. The operating principle ++of these lists is that email sent to the list is encrypted either with the ++list's PGP key or with the list's S/MIME certificate. The mailing-list ++software decrypts the email and re-encrypts it individually for each ++subscriber with the subscriber's PGP key or S/MIME certificate. Details ++about the mailing-list software and the setup which is used to ensure the ++security of the lists and protection of the data can be found here: ++https://www.kernel.org/.... ++ ++List keys ++^^^^^^^^^ ++ ++For initial contact see :ref:`Contact`. For incident specific mailing-lists ++the key and S/MIME certificate are conveyed to the subscribers by email ++sent from the specific list. ++ ++Subscription to incident specific lists ++^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++Subscription is handled by the response teams. Disclosed parties who want ++to participate in the communication send a list of potential subscribers to ++the response team so the response team can validate subscription requests. ++ ++Each subscriber needs to send a subscription request to the response team ++by email. The email must be signed with the subscriber's PGP key or S/MIME ++certificate. If a PGP key is used, it must be available from a public key ++server and is ideally connected to the Linux kernel's PGP web of trust. See ++also: https://www.kernel.org/signature.html. ++ ++The response team verifies that the subscriber request is valid and adds ++the subscriber to the list. After subscription the subscriber will receive ++email from the mailing-list which is signed either with the list's PGP key ++or the list's S/MIME certificate. The subscriber's email client can extract ++the PGP key or the S/MIME certificate from the signature so the subscriber ++can send encrypted email to the list. ++ +--- a/Documentation/admin-guide/index.rst ++++ b/Documentation/admin-guide/index.rst +@@ -33,6 +33,7 @@ problems and bugs in particular. + + reporting-bugs + security-bugs ++ embargoed-hardware-issues + bug-hunting + bug-bisect + tainted-kernels diff --git a/p02 b/p02 deleted file mode 100644 index 48adb99bbf0eff..00000000000000 --- a/p02 +++ /dev/null @@ -1,218 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] arm: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/arm/include/asm/ptdump.h | 9 +---- - arch/arm/mach-omap1/clock.c | 67 ++++++++--------------------------------- - arch/arm/mach-omap1/pm.c | 7 +--- - arch/arm/mach-omap2/pm-debug.c | 15 +++------ - arch/arm/mm/dump.c | 4 +- - arch/arm/mm/ptdump_debugfs.c | 8 +--- - 6 files changed, 29 insertions(+), 81 deletions(-) - ---- a/arch/arm/include/asm/ptdump.h -+++ b/arch/arm/include/asm/ptdump.h -@@ -21,13 +21,10 @@ struct ptdump_info { - - void ptdump_walk_pgd(struct seq_file *s, struct ptdump_info *info); - #ifdef CONFIG_ARM_PTDUMP_DEBUGFS --int ptdump_debugfs_register(struct ptdump_info *info, const char *name); -+void ptdump_debugfs_register(struct ptdump_info *info, const char *name); - #else --static inline int ptdump_debugfs_register(struct ptdump_info *info, -- const char *name) --{ -- return 0; --} -+static inline void ptdump_debugfs_register(struct ptdump_info *info, -+ const char *name) { } - #endif /* CONFIG_ARM_PTDUMP_DEBUGFS */ - - void ptdump_check_wx(void); ---- a/arch/arm/mach-omap1/clock.c -+++ b/arch/arm/mach-omap1/clock.c -@@ -990,84 +990,45 @@ static int debug_clock_show(struct seq_f - - DEFINE_SHOW_ATTRIBUTE(debug_clock); - --static int clk_debugfs_register_one(struct clk *c) -+static void clk_debugfs_register_one(struct clk *c) - { -- int err; - struct dentry *d; - struct clk *pa = c->parent; - - d = debugfs_create_dir(c->name, pa ? pa->dent : clk_debugfs_root); -- if (!d) -- return -ENOMEM; - c->dent = d; - -- d = debugfs_create_u8("usecount", S_IRUGO, c->dent, &c->usecount); -- if (!d) { -- err = -ENOMEM; -- goto err_out; -- } -- d = debugfs_create_ulong("rate", S_IRUGO, c->dent, &c->rate); -- if (!d) { -- err = -ENOMEM; -- goto err_out; -- } -- d = debugfs_create_x8("flags", S_IRUGO, c->dent, &c->flags); -- if (!d) { -- err = -ENOMEM; -- goto err_out; -- } -- return 0; -- --err_out: -- debugfs_remove_recursive(c->dent); -- return err; -+ debugfs_create_u8("usecount", S_IRUGO, c->dent, &c->usecount); -+ debugfs_create_ulong("rate", S_IRUGO, c->dent, &c->rate); -+ debugfs_create_x8("flags", S_IRUGO, c->dent, &c->flags); - } - --static int clk_debugfs_register(struct clk *c) -+static void clk_debugfs_register(struct clk *c) - { - int err; - struct clk *pa = c->parent; - -- if (pa && !pa->dent) { -- err = clk_debugfs_register(pa); -- if (err) -- return err; -- } -- -- if (!c->dent) { -- err = clk_debugfs_register_one(c); -- if (err) -- return err; -- } -- return 0; -+ if (pa && !pa->dent) -+ clk_debugfs_register(pa); -+ -+ if (!c->dent) -+ clk_debugfs_register_one(c); - } - - static int __init clk_debugfs_init(void) - { - struct clk *c; - struct dentry *d; -- int err; - - d = debugfs_create_dir("clock", NULL); -- if (!d) -- return -ENOMEM; - clk_debugfs_root = d; - -- list_for_each_entry(c, &clocks, node) { -- err = clk_debugfs_register(c); -- if (err) -- goto err_out; -- } -- -- d = debugfs_create_file("summary", S_IRUGO, -- d, NULL, &debug_clock_fops); -- if (!d) -- return -ENOMEM; -+ list_for_each_entry(c, &clocks, node) -+ clk_debugfs_register(c); -+ -+ debugfs_create_file("summary", S_IRUGO, d, NULL, &debug_clock_fops); - - return 0; --err_out: -- debugfs_remove_recursive(clk_debugfs_root); -- return err; - } - late_initcall(clk_debugfs_init); - ---- a/arch/arm/mach-omap1/pm.c -+++ b/arch/arm/mach-omap1/pm.c -@@ -539,11 +539,8 @@ static void omap_pm_init_debugfs(void) - struct dentry *d; - - d = debugfs_create_dir("pm_debug", NULL); -- if (!d) -- return; -- -- (void) debugfs_create_file("omap_pm", S_IWUSR | S_IRUGO, -- d, NULL, &omap_pm_debug_fops); -+ debugfs_create_file("omap_pm", S_IWUSR | S_IRUGO, d, NULL, -+ &omap_pm_debug_fops); - } - - #endif /* CONFIG_DEBUG_FS */ ---- a/arch/arm/mach-omap2/pm-debug.c -+++ b/arch/arm/mach-omap2/pm-debug.c -@@ -193,9 +193,8 @@ static int __init pwrdms_setup(struct po - return 0; - - d = debugfs_create_dir(pwrdm->name, (struct dentry *)dir); -- if (d) -- (void) debugfs_create_file("suspend", S_IRUGO|S_IWUSR, d, -- (void *)pwrdm, &pwrdm_suspend_fops); -+ debugfs_create_file("suspend", S_IRUGO|S_IWUSR, d, pwrdm, -+ &pwrdm_suspend_fops); - - return 0; - } -@@ -233,16 +232,14 @@ static int __init pm_dbg_init(void) - return 0; - - d = debugfs_create_dir("pm_debug", NULL); -- if (!d) -- return -EINVAL; - -- (void) debugfs_create_file("count", 0444, d, NULL, &pm_dbg_counters_fops); -- (void) debugfs_create_file("time", 0444, d, NULL, &pm_dbg_timers_fops); -+ debugfs_create_file("count", 0444, d, NULL, &pm_dbg_counters_fops); -+ debugfs_create_file("time", 0444, d, NULL, &pm_dbg_timers_fops); - - pwrdm_for_each(pwrdms_setup, (void *)d); - -- (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d, -- &enable_off_mode, &pm_dbg_option_fops); -+ debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d, -+ &enable_off_mode, &pm_dbg_option_fops); - pm_dbg_init_done = 1; - - return 0; ---- a/arch/arm/mm/dump.c -+++ b/arch/arm/mm/dump.c -@@ -450,7 +450,7 @@ void ptdump_check_wx(void) - static int ptdump_init(void) - { - ptdump_initialize(); -- return ptdump_debugfs_register(&kernel_ptdump_info, -- "kernel_page_tables"); -+ ptdump_debugfs_register(&kernel_ptdump_info, "kernel_page_tables"); -+ return 0; - } - __initcall(ptdump_init); ---- a/arch/arm/mm/ptdump_debugfs.c -+++ b/arch/arm/mm/ptdump_debugfs.c -@@ -24,11 +24,7 @@ static const struct file_operations ptdu - .release = single_release, - }; - --int ptdump_debugfs_register(struct ptdump_info *info, const char *name) -+void ptdump_debugfs_register(struct ptdump_info *info, const char *name) - { -- struct dentry *pe; -- -- pe = debugfs_create_file(name, 0400, NULL, info, &ptdump_fops); -- return pe ? 0 : -ENOMEM; -- -+ debugfs_create_file(name, 0400, NULL, info, &ptdump_fops); - } @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h -@@ -295,8 +295,6 @@ struct kvm_arch { +@@ -288,8 +288,6 @@ struct kvm_arch { pgd_t *pgtable; u64 process_table; struct dentry *debugfs_dir; @@ -49,7 +49,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c -@@ -1650,7 +1650,6 @@ DEFINE_SHOW_ATTRIBUTE(fadump_region); +@@ -1637,7 +1637,6 @@ DEFINE_SHOW_ATTRIBUTE(fadump_region); static void fadump_init_files(void) { @@ -57,7 +57,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> int rc = 0; rc = sysfs_create_file(kernel_kobj, &fadump_attr.attr); -@@ -1663,12 +1662,8 @@ static void fadump_init_files(void) +@@ -1650,12 +1649,8 @@ static void fadump_init_files(void) printk(KERN_ERR "fadump: unable to create sysfs file" " fadump_registered (%d)\n", rc); @@ -74,7 +74,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> rc = sysfs_create_file(kernel_kobj, &fadump_release_attr.attr); --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c -@@ -771,8 +771,7 @@ EXPORT_SYMBOL(powerpc_debugfs_root); +@@ -767,8 +767,7 @@ EXPORT_SYMBOL(powerpc_debugfs_root); static int powerpc_debugfs_init(void) { powerpc_debugfs_root = debugfs_create_dir("powerpc", NULL); @@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> #endif --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c -@@ -2265,35 +2265,20 @@ void ppc_warn_emulated_print(const char +@@ -2261,35 +2261,20 @@ void ppc_warn_emulated_print(const char static int __init ppc_warn_emulated_init(void) { @@ -130,7 +130,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> device_initcall(ppc_warn_emulated_init); --- a/arch/powerpc/kvm/book3s_64_mmu_hv.c +++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c -@@ -2160,9 +2160,8 @@ static const struct file_operations debu +@@ -2149,9 +2149,8 @@ static const struct file_operations debu void kvmppc_mmu_debugfs_init(struct kvm *kvm) { @@ -144,7 +144,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> void kvmppc_mmu_book3s_hv_init(struct kvm_vcpu *vcpu) --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c -@@ -1361,9 +1361,8 @@ static const struct file_operations debu +@@ -1353,9 +1353,8 @@ static const struct file_operations debu void kvmhv_radix_debugfs_init(struct kvm *kvm) { @@ -158,7 +158,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> int kvmppc_radix_init(void) --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c -@@ -2161,14 +2161,9 @@ static void debugfs_vcpu_init(struct kvm +@@ -2231,14 +2231,9 @@ static void debugfs_vcpu_init(struct kvm struct kvm *kvm = vcpu->kvm; snprintf(buf, sizeof(buf), "vcpu%u", id); @@ -177,7 +177,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> #else /* CONFIG_KVM_BOOK3S_HV_EXIT_TIMING */ --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c -@@ -218,19 +218,12 @@ static const struct file_operations kvmp +@@ -207,19 +207,12 @@ static const struct file_operations kvmp void kvmppc_create_vcpu_debugfs(struct kvm_vcpu *vcpu, unsigned int id) { static char dbg_fname[50]; @@ -201,7 +201,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> } --- a/arch/powerpc/platforms/4xx/ocm.c +++ b/arch/powerpc/platforms/4xx/ocm.c -@@ -280,22 +280,12 @@ static const struct file_operations ocm_ +@@ -266,22 +266,12 @@ static const struct file_operations ocm_ .release = single_release, }; @@ -228,7 +228,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> void *ppc4xx_ocm_alloc(phys_addr_t *phys, int size, int align, --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -484,10 +484,6 @@ void axon_msi_debug_setup(struct device_ +@@ -480,10 +480,6 @@ void axon_msi_debug_setup(struct device_ snprintf(name, sizeof(name), "msic_%d", of_node_to_nid(dn)); @@ -242,7 +242,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> #endif /* DEBUG */ --- a/arch/powerpc/platforms/powernv/memtrace.c +++ b/arch/powerpc/platforms/powernv/memtrace.c -@@ -191,11 +191,6 @@ static int memtrace_init_debugfs(void) +@@ -187,11 +187,6 @@ static int memtrace_init_debugfs(void) snprintf(ent->name, 16, "%08x", ent->nid); dir = debugfs_create_dir(ent->name, memtrace_debugfs_dir); @@ -254,7 +254,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ent->dir = dir; debugfs_create_file("trace", 0400, dir, ent, &memtrace_fops); -@@ -319,8 +314,6 @@ static int memtrace_init(void) +@@ -314,8 +309,6 @@ static int memtrace_init(void) { memtrace_debugfs_dir = debugfs_create_dir("memtrace", powerpc_debugfs_root); @@ -265,7 +265,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> NULL, &memtrace_init_fops); --- a/arch/powerpc/platforms/powernv/opal-imc.c +++ b/arch/powerpc/platforms/powernv/opal-imc.c -@@ -39,11 +39,10 @@ static int imc_mem_set(void *data, u64 v +@@ -35,11 +35,10 @@ static int imc_mem_set(void *data, u64 v } DEFINE_DEBUGFS_ATTRIBUTE(fops_imc_x64, imc_mem_get, imc_mem_set, "0x%016llx\n"); @@ -280,7 +280,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> } /* -@@ -63,13 +62,6 @@ static void export_imc_mode_and_cmd(stru +@@ -59,13 +58,6 @@ static void export_imc_mode_and_cmd(stru imc_debugfs_parent = debugfs_create_dir("imc", powerpc_debugfs_root); @@ -294,7 +294,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> if (of_property_read_u32(node, "cb_offset", &cb_offset)) cb_offset = IMC_CNTL_BLK_OFFSET; -@@ -77,21 +69,15 @@ static void export_imc_mode_and_cmd(stru +@@ -73,21 +65,15 @@ static void export_imc_mode_and_cmd(stru loc = (u64)(pmu_ptr->mem_info[chip].vbase) + cb_offset; imc_mode_addr = (u64 *)(loc + IMC_CNTL_BLK_MODE_OFFSET); sprintf(mode, "imc_mode_%d", nid); @@ -322,7 +322,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> /* --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c -@@ -3108,11 +3108,6 @@ static void pnv_pci_ioda_create_dbgfs(vo +@@ -3116,11 +3116,6 @@ static void pnv_pci_ioda_create_dbgfs(vo sprintf(name, "PCI%04x", hose->global_number); phb->dbgfs = debugfs_create_dir(name, powerpc_debugfs_root); @@ -336,7 +336,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> &pnv_pci_diag_data_fops); --- a/arch/powerpc/platforms/powernv/vas-debug.c +++ b/arch/powerpc/platforms/powernv/vas-debug.c -@@ -119,7 +119,7 @@ void vas_window_free_dbgdir(struct vas_w +@@ -115,7 +115,7 @@ void vas_window_free_dbgdir(struct vas_w void vas_window_init_dbgdir(struct vas_window *window) { @@ -345,7 +345,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> if (!window->vinst->dbgdir) return; -@@ -131,28 +131,10 @@ void vas_window_init_dbgdir(struct vas_w +@@ -127,28 +127,10 @@ void vas_window_init_dbgdir(struct vas_w snprintf(window->dbgname, 16, "w%d", window->winid); d = debugfs_create_dir(window->dbgname, window->vinst->dbgdir); @@ -376,7 +376,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> } void vas_instance_init_dbgdir(struct vas_instance *vinst) -@@ -160,8 +142,6 @@ void vas_instance_init_dbgdir(struct vas +@@ -156,8 +138,6 @@ void vas_instance_init_dbgdir(struct vas struct dentry *d; vas_init_dbgdir(); @@ -385,7 +385,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> vinst->dbgname = kzalloc(16, GFP_KERNEL); if (!vinst->dbgname) -@@ -170,16 +150,7 @@ void vas_instance_init_dbgdir(struct vas +@@ -166,16 +146,7 @@ void vas_instance_init_dbgdir(struct vas snprintf(vinst->dbgname, 16, "v%d", vinst->vas_id); d = debugfs_create_dir(vinst->dbgname, vas_debugfs); @@ -402,7 +402,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> } /* -@@ -195,6 +166,4 @@ void vas_init_dbgdir(void) +@@ -191,6 +162,4 @@ void vas_init_dbgdir(void) first_time = false; vas_debugfs = debugfs_create_dir("vas", NULL); @@ -411,7 +411,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> } --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c -@@ -32,7 +32,6 @@ +@@ -19,7 +19,6 @@ struct dtl { struct dtl_entry *buf; @@ -419,7 +419,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> int cpu; int buf_entries; u64 last_idx; -@@ -332,22 +331,16 @@ static const struct file_operations dtl_ +@@ -320,22 +319,16 @@ static const struct file_operations dtl_ static struct dentry *dtl_dir; @@ -444,7 +444,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> int rc, i; if (!firmware_has_feature(FW_FEATURE_SPLPAR)) -@@ -357,21 +350,9 @@ static int dtl_init(void) +@@ -345,21 +338,9 @@ static int dtl_init(void) rc = -ENOMEM; dtl_dir = debugfs_create_dir("dtl", powerpc_debugfs_root); @@ -468,7 +468,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> /* set up the per-cpu log structures */ for_each_possible_cpu(i) { -@@ -379,16 +360,9 @@ static int dtl_init(void) +@@ -367,16 +348,9 @@ static int dtl_init(void) spin_lock_init(&dtl->lock); dtl->cpu = i; @@ -488,7 +488,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> machine_arch_initcall(pseries, dtl_init); --- a/arch/powerpc/platforms/pseries/hvCall_inst.c +++ b/arch/powerpc/platforms/pseries/hvCall_inst.c -@@ -142,7 +142,6 @@ static void probe_hcall_exit(void *ignor +@@ -129,7 +129,6 @@ static void probe_hcall_exit(void *ignor static int __init hcall_inst_init(void) { struct dentry *hcall_root; @@ -496,7 +496,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> char cpu_name_buf[CPU_NAME_BUF_SIZE]; int cpu; -@@ -158,17 +157,12 @@ static int __init hcall_inst_init(void) +@@ -145,17 +144,12 @@ static int __init hcall_inst_init(void) } hcall_root = debugfs_create_dir(HCALL_ROOT_DIR, NULL); @@ -519,7 +519,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> return 0; --- a/arch/powerpc/sysdev/scom.c +++ b/arch/powerpc/sysdev/scom.c -@@ -198,12 +198,6 @@ static int scom_debug_init_one(struct de +@@ -185,12 +185,6 @@ static int scom_debug_init_one(struct de ent->path.size = strlen((char *)ent->path.data); dir = debugfs_create_dir(ent->name, root); @@ -532,7 +532,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> debugfs_create_blob("devspec", 0400, dir, &ent->path); debugfs_create_file("access", 0600, dir, ent, &scom_debug_fops); -@@ -218,8 +212,6 @@ static int scom_debug_init(void) +@@ -205,8 +199,6 @@ static int scom_debug_init(void) int i, rc; root = debugfs_create_dir("scom", powerpc_debugfs_root); diff --git a/p06 b/p06 deleted file mode 100644 index 6d7414ab58c2ff..00000000000000 --- a/p06 +++ /dev/null @@ -1,125 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] sh: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/sh/kernel/kdebugfs.c | 3 --- - arch/sh/mm/asids-debugfs.c | 11 +++-------- - arch/sh/mm/cache-debugfs.c | 20 ++++---------------- - arch/sh/mm/pmb.c | 9 ++------- - arch/sh/mm/tlb-debugfs.c | 20 ++++---------------- - 5 files changed, 13 insertions(+), 50 deletions(-) - ---- a/arch/sh/kernel/kdebugfs.c -+++ b/arch/sh/kernel/kdebugfs.c -@@ -9,9 +9,6 @@ EXPORT_SYMBOL(arch_debugfs_dir); - static int __init arch_kdebugfs_init(void) - { - arch_debugfs_dir = debugfs_create_dir("sh", NULL); -- if (!arch_debugfs_dir) -- return -ENOMEM; -- - return 0; - } - arch_initcall(arch_kdebugfs_init); ---- a/arch/sh/mm/asids-debugfs.c -+++ b/arch/sh/mm/asids-debugfs.c -@@ -63,13 +63,8 @@ static const struct file_operations asid - - static int __init asids_debugfs_init(void) - { -- struct dentry *asids_dentry; -- -- asids_dentry = debugfs_create_file("asids", S_IRUSR, arch_debugfs_dir, -- NULL, &asids_debugfs_fops); -- if (!asids_dentry) -- return -ENOMEM; -- -- return PTR_ERR_OR_ZERO(asids_dentry); -+ debugfs_create_file("asids", S_IRUSR, arch_debugfs_dir, NULL, -+ &asids_debugfs_fops); -+ return 0; - } - device_initcall(asids_debugfs_init); ---- a/arch/sh/mm/cache-debugfs.c -+++ b/arch/sh/mm/cache-debugfs.c -@@ -109,22 +109,10 @@ static const struct file_operations cach - - static int __init cache_debugfs_init(void) - { -- struct dentry *dcache_dentry, *icache_dentry; -- -- dcache_dentry = debugfs_create_file("dcache", S_IRUSR, arch_debugfs_dir, -- (unsigned int *)CACHE_TYPE_DCACHE, -- &cache_debugfs_fops); -- if (!dcache_dentry) -- return -ENOMEM; -- -- icache_dentry = debugfs_create_file("icache", S_IRUSR, arch_debugfs_dir, -- (unsigned int *)CACHE_TYPE_ICACHE, -- &cache_debugfs_fops); -- if (!icache_dentry) { -- debugfs_remove(dcache_dentry); -- return -ENOMEM; -- } -- -+ debugfs_create_file("dcache", S_IRUSR, arch_debugfs_dir, -+ (void *)CACHE_TYPE_DCACHE, &cache_debugfs_fops); -+ debugfs_create_file("icache", S_IRUSR, arch_debugfs_dir, -+ (void *)CACHE_TYPE_ICACHE, &cache_debugfs_fops); - return 0; - } - module_init(cache_debugfs_init); ---- a/arch/sh/mm/pmb.c -+++ b/arch/sh/mm/pmb.c -@@ -861,13 +861,8 @@ static const struct file_operations pmb_ - - static int __init pmb_debugfs_init(void) - { -- struct dentry *dentry; -- -- dentry = debugfs_create_file("pmb", S_IFREG | S_IRUGO, -- arch_debugfs_dir, NULL, &pmb_debugfs_fops); -- if (!dentry) -- return -ENOMEM; -- -+ debugfs_create_file("pmb", S_IFREG | S_IRUGO, arch_debugfs_dir, NULL, -+ &pmb_debugfs_fops); - return 0; - } - subsys_initcall(pmb_debugfs_init); ---- a/arch/sh/mm/tlb-debugfs.c -+++ b/arch/sh/mm/tlb-debugfs.c -@@ -149,22 +149,10 @@ static const struct file_operations tlb_ - - static int __init tlb_debugfs_init(void) - { -- struct dentry *itlb, *utlb; -- -- itlb = debugfs_create_file("itlb", S_IRUSR, arch_debugfs_dir, -- (unsigned int *)TLB_TYPE_ITLB, -- &tlb_debugfs_fops); -- if (unlikely(!itlb)) -- return -ENOMEM; -- -- utlb = debugfs_create_file("utlb", S_IRUSR, arch_debugfs_dir, -- (unsigned int *)TLB_TYPE_UTLB, -- &tlb_debugfs_fops); -- if (unlikely(!utlb)) { -- debugfs_remove(itlb); -- return -ENOMEM; -- } -- -+ debugfs_create_file("itlb", S_IRUSR, arch_debugfs_dir, -+ (void *)TLB_TYPE_ITLB, &tlb_debugfs_fops); -+ debugfs_create_file("utlb", S_IRUSR, arch_debugfs_dir, -+ (void *)TLB_TYPE_UTLB, &tlb_debugfs_fops); - return 0; - } - module_init(tlb_debugfs_init); diff --git a/p07 b/p07 deleted file mode 100644 index 00153eab60f91e..00000000000000 --- a/p07 +++ /dev/null @@ -1,142 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: mce: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: <x86@kernel.org> -Cc: Tony Luck <tony.luck@intel.com> -Cc: Vishal Verma <vishal.l.verma@intel.com> -Cc: Pu Wen <puwen@hygon.cn> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kernel/cpu/mce/core.c | 12 +++--------- - arch/x86/kernel/cpu/mce/inject.c | 34 +++++----------------------------- - arch/x86/kernel/cpu/mce/severity.c | 14 +++----------- - 3 files changed, 11 insertions(+), 49 deletions(-) - ---- a/arch/x86/kernel/cpu/mce/core.c -+++ b/arch/x86/kernel/cpu/mce/core.c -@@ -2440,22 +2440,16 @@ static int fake_panic_set(void *data, u6 - DEFINE_DEBUGFS_ATTRIBUTE(fake_panic_fops, fake_panic_get, fake_panic_set, - "%llu\n"); - --static int __init mcheck_debugfs_init(void) -+static void __init mcheck_debugfs_init(void) - { -- struct dentry *dmce, *ffake_panic; -+ struct dentry *dmce; - - dmce = mce_get_debugfs_dir(); -- if (!dmce) -- return -ENOMEM; - ffake_panic = debugfs_create_file_unsafe("fake_panic", 0444, dmce, - NULL, &fake_panic_fops); -- if (!ffake_panic) -- return -ENOMEM; -- -- return 0; - } - #else --static int __init mcheck_debugfs_init(void) { return -EINVAL; } -+static void __init mcheck_debugfs_init(void) { } - #endif - - DEFINE_STATIC_KEY_FALSE(mcsafe_key); ---- a/arch/x86/kernel/cpu/mce/inject.c -+++ b/arch/x86/kernel/cpu/mce/inject.c -@@ -652,7 +652,6 @@ static const struct file_operations read - - static struct dfs_node { - char *name; -- struct dentry *d; - const struct file_operations *fops; - umode_t perm; - } dfs_fls[] = { -@@ -666,35 +665,16 @@ static struct dfs_node { - { .name = "README", .fops = &readme_fops, .perm = S_IRUSR | S_IRGRP | S_IROTH }, - }; - --static int __init debugfs_init(void) -+static void __init debugfs_init(void) - { - unsigned int i; - - dfs_inj = debugfs_create_dir("mce-inject", NULL); -- if (!dfs_inj) -- return -EINVAL; - -- for (i = 0; i < ARRAY_SIZE(dfs_fls); i++) { -- dfs_fls[i].d = debugfs_create_file(dfs_fls[i].name, -- dfs_fls[i].perm, -- dfs_inj, -- &i_mce, -- dfs_fls[i].fops); -- -- if (!dfs_fls[i].d) -- goto err_dfs_add; -- } -- -- return 0; -- --err_dfs_add: -- while (i-- > 0) -- debugfs_remove(dfs_fls[i].d); -+ for (i = 0; i < ARRAY_SIZE(dfs_fls); i++) -+ debugfs_create_file(dfs_fls[i].name, dfs_fls[i].perm, dfs_inj, -+ &i_mce, dfs_fls[i].fops); - -- debugfs_remove(dfs_inj); -- dfs_inj = NULL; -- -- return -ENODEV; - } - - static int __init inject_init(void) -@@ -704,11 +684,7 @@ static int __init inject_init(void) - if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL)) - return -ENOMEM; - -- err = debugfs_init(); -- if (err) { -- free_cpumask_var(mce_inject_cpumask); -- return err; -- } -+ debugfs_init(); - - register_nmi_handler(NMI_LOCAL, mce_raise_notify, 0, "mce_notify"); - mce_register_injector_chain(&inject_nb); ---- a/arch/x86/kernel/cpu/mce/severity.c -+++ b/arch/x86/kernel/cpu/mce/severity.c -@@ -404,21 +404,13 @@ static const struct file_operations seve - - static int __init severities_debugfs_init(void) - { -- struct dentry *dmce, *fsev; -+ struct dentry *dmce; - - dmce = mce_get_debugfs_dir(); -- if (!dmce) -- goto err_out; -- -- fsev = debugfs_create_file("severities-coverage", 0444, dmce, NULL, -- &severities_coverage_fops); -- if (!fsev) -- goto err_out; - -+ debugfs_create_file("severities-coverage", 0444, dmce, NULL, -+ &severities_coverage_fops); - return 0; -- --err_out: -- return -ENOMEM; - } - late_initcall(severities_debugfs_init); - #endif /* CONFIG_DEBUG_FS */ diff --git a/p08 b/p08 deleted file mode 100644 index dd18811f283d0f..00000000000000 --- a/p08 +++ /dev/null @@ -1,140 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: kdebugfs: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: <x86@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kernel/kdebugfs.c | 60 ++++++++------------------------------------- - 1 file changed, 11 insertions(+), 49 deletions(-) - ---- a/arch/x86/kernel/kdebugfs.c -+++ b/arch/x86/kernel/kdebugfs.c -@@ -68,33 +68,18 @@ static const struct file_operations fops - .llseek = default_llseek, - }; - --static int __init -+static void __init - create_setup_data_node(struct dentry *parent, int no, - struct setup_data_node *node) - { -- struct dentry *d, *type, *data; -+ struct dentry *d; - char buf[16]; - - sprintf(buf, "%d", no); - d = debugfs_create_dir(buf, parent); -- if (!d) -- return -ENOMEM; -- -- type = debugfs_create_x32("type", S_IRUGO, d, &node->type); -- if (!type) -- goto err_dir; -- -- data = debugfs_create_file("data", S_IRUGO, d, node, &fops_setup_data); -- if (!data) -- goto err_type; - -- return 0; -- --err_type: -- debugfs_remove(type); --err_dir: -- debugfs_remove(d); -- return -ENOMEM; -+ debugfs_create_x32("type", S_IRUGO, d, &node->type); -+ debugfs_create_file("data", S_IRUGO, d, node, &fops_setup_data); - } - - static int __init create_setup_data_nodes(struct dentry *parent) -@@ -107,8 +92,6 @@ static int __init create_setup_data_node - int no = 0; - - d = debugfs_create_dir("setup_data", parent); -- if (!d) -- return -ENOMEM; - - pa_data = boot_params.hdr.setup_data; - -@@ -129,19 +112,17 @@ static int __init create_setup_data_node - node->paddr = pa_data; - node->type = data->type; - node->len = data->len; -- error = create_setup_data_node(d, no, node); -+ create_setup_data_node(d, no, node); - pa_data = data->next; - - memunmap(data); -- if (error) -- goto err_dir; - no++; - } - - return 0; - - err_dir: -- debugfs_remove(d); -+ debugfs_remove_recursive(d); - return error; - } - -@@ -152,35 +133,18 @@ static struct debugfs_blob_wrapper boot_ - - static int __init boot_params_kdebugfs_init(void) - { -- struct dentry *dbp, *version, *data; -- int error = -ENOMEM; -+ struct dentry *dbp; -+ int error; - - dbp = debugfs_create_dir("boot_params", arch_debugfs_dir); -- if (!dbp) -- return -ENOMEM; - -- version = debugfs_create_x16("version", S_IRUGO, dbp, -- &boot_params.hdr.version); -- if (!version) -- goto err_dir; -- -- data = debugfs_create_blob("data", S_IRUGO, dbp, -- &boot_params_blob); -- if (!data) -- goto err_version; -+ debugfs_create_x16("version", S_IRUGO, dbp, &boot_params.hdr.version); -+ debugfs_create_blob("data", S_IRUGO, dbp, &boot_params_blob); - - error = create_setup_data_nodes(dbp); - if (error) -- goto err_data; -+ debugfs_remove_recursive(dbp); - -- return 0; -- --err_data: -- debugfs_remove(data); --err_version: -- debugfs_remove(version); --err_dir: -- debugfs_remove(dbp); - return error; - } - #endif /* CONFIG_DEBUG_BOOT_PARAMS */ -@@ -190,8 +154,6 @@ static int __init arch_kdebugfs_init(voi - int error = 0; - - arch_debugfs_dir = debugfs_create_dir("x86", NULL); -- if (!arch_debugfs_dir) -- return -ENOMEM; - - #ifdef CONFIG_DEBUG_BOOT_PARAMS - error = boot_params_kdebugfs_init(); diff --git a/p09 b/p09 deleted file mode 100644 index 69ca9d73f7e270..00000000000000 --- a/p09 +++ /dev/null @@ -1,59 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: kvm: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Cc: Paolo Bonzini <pbonzini@redhat.com> -Cc: "Radim Krčmář" <rkrcmar@redhat.com> -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: <x86@kernel.org> -Cc: <kvm@vger.kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kvm/debugfs.c | 26 ++++++++------------------ - 1 file changed, 8 insertions(+), 18 deletions(-) - ---- a/arch/x86/kvm/debugfs.c -+++ b/arch/x86/kvm/debugfs.c -@@ -43,26 +43,16 @@ DEFINE_SIMPLE_ATTRIBUTE(vcpu_tsc_scaling - - int kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu) - { -- struct dentry *ret; -- -- ret = debugfs_create_file("tsc-offset", 0444, -- vcpu->debugfs_dentry, -- vcpu, &vcpu_tsc_offset_fops); -- if (!ret) -- return -ENOMEM; -+ debugfs_create_file("tsc-offset", 0444, vcpu->debugfs_dentry, vcpu, -+ &vcpu_tsc_offset_fops); - - if (kvm_has_tsc_control) { -- ret = debugfs_create_file("tsc-scaling-ratio", 0444, -- vcpu->debugfs_dentry, -- vcpu, &vcpu_tsc_scaling_fops); -- if (!ret) -- return -ENOMEM; -- ret = debugfs_create_file("tsc-scaling-ratio-frac-bits", 0444, -- vcpu->debugfs_dentry, -- vcpu, &vcpu_tsc_scaling_frac_fops); -- if (!ret) -- return -ENOMEM; -- -+ debugfs_create_file("tsc-scaling-ratio", 0444, -+ vcpu->debugfs_dentry, vcpu, -+ &vcpu_tsc_scaling_fops); -+ debugfs_create_file("tsc-scaling-ratio-frac-bits", 0444, -+ vcpu->debugfs_dentry, vcpu, -+ &vcpu_tsc_scaling_frac_fops); - } - - return 0; diff --git a/p10 b/p10 deleted file mode 100644 index f6ced8bc890755..00000000000000 --- a/p10 +++ /dev/null @@ -1,83 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: mm: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/mm/debug_pagetables.c | 35 +++++++---------------------------- - 1 file changed, 7 insertions(+), 28 deletions(-) - ---- a/arch/x86/mm/debug_pagetables.c -+++ b/arch/x86/mm/debug_pagetables.c -@@ -25,8 +25,6 @@ static int ptdump_curknl_show(struct seq - DEFINE_SHOW_ATTRIBUTE(ptdump_curknl); - - #ifdef CONFIG_PAGE_TABLE_ISOLATION --static struct dentry *pe_curusr; -- - static int ptdump_curusr_show(struct seq_file *m, void *v) - { - if (current->mm->pgd) { -@@ -41,8 +39,6 @@ DEFINE_SHOW_ATTRIBUTE(ptdump_curusr); - #endif - - #if defined(CONFIG_EFI) && defined(CONFIG_X86_64) --static struct dentry *pe_efi; -- - static int ptdump_efi_show(struct seq_file *m, void *v) - { - if (efi_mm.pgd) -@@ -53,41 +49,24 @@ static int ptdump_efi_show(struct seq_fi - DEFINE_SHOW_ATTRIBUTE(ptdump_efi); - #endif - --static struct dentry *dir, *pe_knl, *pe_curknl; -+static struct dentry *dir; - - static int __init pt_dump_debug_init(void) - { - dir = debugfs_create_dir("page_tables", NULL); -- if (!dir) -- return -ENOMEM; - -- pe_knl = debugfs_create_file("kernel", 0400, dir, NULL, -- &ptdump_fops); -- if (!pe_knl) -- goto err; -- -- pe_curknl = debugfs_create_file("current_kernel", 0400, -- dir, NULL, &ptdump_curknl_fops); -- if (!pe_curknl) -- goto err; -+ debugfs_create_file("kernel", 0400, dir, NULL, &ptdump_fops); -+ debugfs_create_file("current_kernel", 0400, dir, NULL, -+ &ptdump_curknl_fops); - - #ifdef CONFIG_PAGE_TABLE_ISOLATION -- pe_curusr = debugfs_create_file("current_user", 0400, -- dir, NULL, &ptdump_curusr_fops); -- if (!pe_curusr) -- goto err; -+ debugfs_create_file("current_user", 0400, dir, NULL, -+ &ptdump_curusr_fops); - #endif -- - #if defined(CONFIG_EFI) && defined(CONFIG_X86_64) -- pe_efi = debugfs_create_file("efi", 0400, dir, NULL, &ptdump_efi_fops); -- if (!pe_efi) -- goto err; -+ debugfs_create_file("efi", 0400, dir, NULL, &ptdump_efi_fops); - #endif -- - return 0; --err: -- debugfs_remove_recursive(dir); -- return -ENOMEM; - } - - static void __exit pt_dump_debug_exit(void) diff --git a/p11 b/p11 deleted file mode 100644 index 852bb9323a9164..00000000000000 --- a/p11 +++ /dev/null @@ -1,177 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: platform: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: <x86@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/platform/atom/punit_atom_debug.c | 22 ++++------------------ - arch/x86/platform/intel-quark/imr.c | 14 ++++---------- - arch/x86/platform/intel/iosf_mbi.c | 21 +++------------------ - arch/x86/platform/uv/tlb_uv.c | 15 ++------------- - 4 files changed, 13 insertions(+), 59 deletions(-) - ---- a/arch/x86/platform/atom/punit_atom_debug.c -+++ b/arch/x86/platform/atom/punit_atom_debug.c -@@ -113,24 +113,12 @@ DEFINE_SHOW_ATTRIBUTE(punit_dev_state); - - static struct dentry *punit_dbg_file; - --static int punit_dbgfs_register(struct punit_device *punit_device) -+static void punit_dbgfs_register(struct punit_device *punit_device) - { -- struct dentry *dev_state; -- - punit_dbg_file = debugfs_create_dir("punit_atom", NULL); -- if (!punit_dbg_file) -- return -ENXIO; -- -- dev_state = debugfs_create_file("dev_power_state", 0444, -- punit_dbg_file, punit_device, -- &punit_dev_state_fops); -- if (!dev_state) { -- pr_err("punit_dev_state register failed\n"); -- debugfs_remove(punit_dbg_file); -- return -ENXIO; -- } - -- return 0; -+ debugfs_create_file("dev_power_state", 0444, punit_dbg_file, -+ punit_device, &punit_dev_state_fops); - } - - static void punit_dbgfs_unregister(void) -@@ -160,9 +148,7 @@ static int __init punit_atom_debug_init( - if (!id) - return -ENODEV; - -- ret = punit_dbgfs_register((struct punit_device *)id->driver_data); -- if (ret < 0) -- return ret; -+ punit_dbgfs_register((struct punit_device *)id->driver_data); - - return 0; - } ---- a/arch/x86/platform/intel-quark/imr.c -+++ b/arch/x86/platform/intel-quark/imr.c -@@ -34,7 +34,6 @@ - #include <linux/types.h> - - struct imr_device { -- struct dentry *file; - bool init; - struct mutex lock; - int max_imr; -@@ -230,13 +229,11 @@ DEFINE_SHOW_ATTRIBUTE(imr_dbgfs_state); - * imr_debugfs_register - register debugfs hooks. - * - * @idev: pointer to imr_device structure. -- * @return: 0 on success - errno on failure. - */ --static int imr_debugfs_register(struct imr_device *idev) -+static void imr_debugfs_register(struct imr_device *idev) - { -- idev->file = debugfs_create_file("imr_state", 0444, NULL, idev, -- &imr_dbgfs_state_fops); -- return PTR_ERR_OR_ZERO(idev->file); -+ debugfs_create_file("imr_state", 0444, NULL, idev, -+ &imr_dbgfs_state_fops); - } - - /** -@@ -581,7 +578,6 @@ static const struct x86_cpu_id imr_ids[] - static int __init imr_init(void) - { - struct imr_device *idev = &imr_dev; -- int ret; - - if (!x86_match_cpu(imr_ids) || !iosf_mbi_available()) - return -ENODEV; -@@ -591,9 +587,7 @@ static int __init imr_init(void) - idev->init = true; - - mutex_init(&idev->lock); -- ret = imr_debugfs_register(idev); -- if (ret != 0) -- pr_warn("debugfs register failed!\n"); -+ imr_debugfs_register(idev); - imr_fixup_memmap(idev); - return 0; - } ---- a/arch/x86/platform/intel/iosf_mbi.c -+++ b/arch/x86/platform/intel/iosf_mbi.c -@@ -470,31 +470,16 @@ static struct dentry *iosf_dbg; - - static void iosf_sideband_debug_init(void) - { -- struct dentry *d; -- - iosf_dbg = debugfs_create_dir("iosf_sb", NULL); -- if (IS_ERR_OR_NULL(iosf_dbg)) -- return; - - /* mdr */ -- d = debugfs_create_x32("mdr", 0660, iosf_dbg, &dbg_mdr); -- if (!d) -- goto cleanup; -+ debugfs_create_x32("mdr", 0660, iosf_dbg, &dbg_mdr); - - /* mcrx */ -- d = debugfs_create_x32("mcrx", 0660, iosf_dbg, &dbg_mcrx); -- if (!d) -- goto cleanup; -+ debugfs_create_x32("mcrx", 0660, iosf_dbg, &dbg_mcrx); - - /* mcr - initiates mailbox tranaction */ -- d = debugfs_create_file("mcr", 0660, iosf_dbg, &dbg_mcr, &iosf_mcr_fops); -- if (!d) -- goto cleanup; -- -- return; -- --cleanup: -- debugfs_remove_recursive(d); -+ debugfs_create_file("mcr", 0660, iosf_dbg, &dbg_mcr, &iosf_mcr_fops); - } - - static void iosf_debugfs_init(void) ---- a/arch/x86/platform/uv/tlb_uv.c -+++ b/arch/x86/platform/uv/tlb_uv.c -@@ -68,7 +68,6 @@ static struct tunables tunables[] = { - }; - - static struct dentry *tunables_dir; --static struct dentry *tunables_file; - - /* these correspond to the statistics printed by ptc_seq_show() */ - static char *stat_description[] = { -@@ -1702,18 +1701,8 @@ static int __init uv_ptc_init(void) - } - - tunables_dir = debugfs_create_dir(UV_BAU_TUNABLES_DIR, NULL); -- if (!tunables_dir) { -- pr_err("unable to create debugfs directory %s\n", -- UV_BAU_TUNABLES_DIR); -- return -EINVAL; -- } -- tunables_file = debugfs_create_file(UV_BAU_TUNABLES_FILE, 0600, -- tunables_dir, NULL, &tunables_fops); -- if (!tunables_file) { -- pr_err("unable to create debugfs file %s\n", -- UV_BAU_TUNABLES_FILE); -- return -EINVAL; -- } -+ debugfs_create_file(UV_BAU_TUNABLES_FILE, 0600, tunables_dir, NULL, -+ &tunables_fops); - return 0; - } - diff --git a/p12 b/p12 deleted file mode 100644 index 257ccd569adbc6..00000000000000 --- a/p12 +++ /dev/null @@ -1,53 +0,0 @@ -From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 30 May 2018 16:15:35 +0200 -Subject: [PATCH] x86: xen: no need to check return value of debugfs_create functions - -When calling debugfs functions, there is no need to ever check the -return value. The function can work or not, but the code logic should -never do something different based on this. - -Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> -Cc: Juergen Gross <jgross@suse.com> -Cc: Stefano Stabellini <sstabellini@kernel.org> -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Borislav Petkov <bp@alien8.de> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: <x86@kernel.org> -Cc: <xen-devel@lists.xenproject.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/xen/debugfs.c | 7 +------ - arch/x86/xen/p2m.c | 3 --- - 2 files changed, 1 insertion(+), 9 deletions(-) - ---- a/arch/x86/xen/debugfs.c -+++ b/arch/x86/xen/debugfs.c -@@ -9,13 +9,8 @@ static struct dentry *d_xen_debug; - - struct dentry * __init xen_init_debugfs(void) - { -- if (!d_xen_debug) { -+ if (!d_xen_debug) - d_xen_debug = debugfs_create_dir("xen", NULL); -- -- if (!d_xen_debug) -- pr_warning("Could not create 'xen' debugfs directory\n"); -- } -- - return d_xen_debug; - } - ---- a/arch/x86/xen/p2m.c -+++ b/arch/x86/xen/p2m.c -@@ -817,9 +817,6 @@ static int __init xen_p2m_debugfs(void) - { - struct dentry *d_xen = xen_init_debugfs(); - -- if (d_xen == NULL) -- return -ENOMEM; -- - d_mmu_debug = debugfs_create_dir("mmu", d_xen); - - debugfs_create_file("p2m", 0600, d_mmu_debug, NULL, &p2m_dump_fops); @@ -1,4 +1,5 @@ # +spdxcheck-print-out-files-without-any-spdx-lines.patch 0001-tty-n_r3964-locking-fixups.patch 0002-tty-n_r3964-fix-poll-return-value.patch @@ -16,16 +17,7 @@ 0014-tty-n_r3964-properly-reference-count-pids.patch 0015-tty-n_r3964-add-reference-counting-to-the-client-str.patch l.patch -spdxcheck-print-out-files-without-any-spdx-lines.patch -p02 p04 -p06 -p07 -p08 -p09 -p10 -p11 -p12 usb_DEVICE_ATTR.patch diff --git a/spdxcheck-print-out-files-without-any-spdx-lines.patch b/spdxcheck-print-out-files-without-any-spdx-lines.patch index 1d1d23beae0aef..cc9b4a28b2fdbb 100644 --- a/spdxcheck-print-out-files-without-any-spdx-lines.patch +++ b/spdxcheck-print-out-files-without-any-spdx-lines.patch @@ -14,7 +14,7 @@ Just a hack to make it easy to see what still needs to be converted. --- a/scripts/spdxcheck.py +++ b/scripts/spdxcheck.py -@@ -210,7 +210,10 @@ def scan_git_tree(tree): +@@ -211,7 +211,10 @@ def scan_git_tree(tree): if not os.path.isfile(el.path): continue with open(el.path, 'rb') as fd: |