aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-25 15:01:43 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-25 15:01:43 +0200
commitf5b3fcfe96d6328cbac586d25823527a257b5995 (patch)
tree03ce7d8f4a8868efbac7f3edab816915bfba87f6
parenteb49b51a091d445ec2f737712b88687ed54651b8 (diff)
downloadpatches-f5b3fcfe96d6328cbac586d25823527a257b5995.tar.gz
refresh for 5.3-rc1
-rw-r--r--0001-USB-move-usb-debugfs-directory-creation-to-the-usb-c.patch159
-rw-r--r--l.patch343
-rw-r--r--p02218
-rw-r--r--p0460
-rw-r--r--p06125
-rw-r--r--p07142
-rw-r--r--p08140
-rw-r--r--p0959
-rw-r--r--p1083
-rw-r--r--p11177
-rw-r--r--p1253
-rw-r--r--series10
-rw-r--r--spdxcheck-print-out-files-without-any-spdx-lines.patch2
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);
- }
diff --git a/p04 b/p04
index 3255210112b8a0..0f4810c6cdb3e8 100644
--- a/p04
+++ b/p04
@@ -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);
diff --git a/series b/series
index 54e94da2fb2c53..8e44a3fd7cea13 100644
--- a/series
+++ b/series
@@ -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: