From 8721ff1fd2cc941a36a30014ad2f047ac41ff3db Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 16 Jun 2023 10:15:18 +0200 Subject: updates --- ...-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch | 257 --------------------- ...x-memory-leak-if-card-device-is-never-reg.patch | 54 ----- 0001-readfile-implement-readfile-syscall.patch | 2 +- 0001-vsmp-driver.patch | 2 +- ...-class-fix-block-class-problem-when-remov.patch | 39 ---- 0003-selftests-add-readfile-2-selftests.patch | 2 +- ...es.rst-clean-out-empty-and-unused-entries.patch | 44 ++++ qlcnic_sysfs.patch | 20 +- series | 4 +- usb.patch | 4 +- 10 files changed, 60 insertions(+), 368 deletions(-) delete mode 100644 0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch delete mode 100644 0001-memstick-fix-memory-leak-if-card-device-is-never-reg.patch delete mode 100644 0002-driver-core-class-fix-block-class-problem-when-remov.patch create mode 100644 documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch diff --git a/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch b/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch deleted file mode 100644 index ea262880241fe..0000000000000 --- a/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 763ee8434fbbea0ce5a614ae0c6bb74ec0ed078a Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Thu, 23 Feb 2023 08:33:26 +0100 -Subject: [PATCH 1/2] driver core: remove CONFIG_SYSFS_DEPRECATED and - CONFIG_SYSFS_DEPRECATED_V2 - -CONFIG_SYSFS_DEPRECATED was added in commit 88a22c985e35 -("CONFIG_SYSFS_DEPRECATED") in 2006 to allow systems with older versions -of some tools (i.e. Fedora 3's version of udev) to boot properly. Four -years later, in 2010, the option was attempted to be removed as most of -userspace should have been fixed up properly by then, but some kernel -developers clung to those old systems and refused to update, so we added -CONFIG_SYSFS_DEPRECATED_V2 in commit e52eec13cd6b ("SYSFS: Allow boot -time switching between deprecated and modern sysfs layout") to allow -them to continue to boot properly, and we allowed a boot time parameter -to be used to switch back to the old format if needed. - -Over time, the logic that was covered under these config options was -slowly removed from individual driver subsystems successfully, removed, -and the only thing that is now left in the kernel are some changes in -the block layer's representation in sysfs where real directories are -used instead of symlinks like normal. - -Because the original changes were done to userspace tools in 2006, and -all distros that use those tools are long end-of-life, and older -non-udev-based systems do not care about the block layer's sysfs -representation, it is time to finally remove this old logic and the -config entries from the kernel. - -Cc: Jonathan Corbet -Cc: "Rafael J. Wysocki" -Cc: linux-block@vger.kernel.org -Cc: linux-doc@vger.kernel.org -Acked-by: Jens Axboe -Link: https://lore.kernel.org/r/20230223073326.2073220-1-gregkh@linuxfoundation.org -Signed-off-by: Greg Kroah-Hartman ---- - Documentation/admin-guide/kernel-parameters.txt | 9 ----- - block/genhd.c | 19 ++++-------- - drivers/base/class.c | 2 - - drivers/base/core.c | 37 ----------------------- - include/linux/device.h | 6 --- - init/Kconfig | 38 ------------------------ - 6 files changed, 8 insertions(+), 103 deletions(-) - ---- a/Documentation/admin-guide/kernel-parameters.txt -+++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -6130,15 +6130,6 @@ - later by a loaded module cannot be set this way. - Example: sysctl.vm.swappiness=40 - -- sysfs.deprecated=0|1 [KNL] -- Enable/disable old style sysfs layout for old udev -- on older distributions. When this option is enabled -- very new udev will not work anymore. When this option -- is disabled (or CONFIG_SYSFS_DEPRECATED not compiled) -- in older udev will not work anymore. -- Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in -- the kernel configuration. -- - sysrq_always_enabled - [KNL] - Ignore sysrq setting - this boot parameter will ---- a/block/genhd.c -+++ b/block/genhd.c -@@ -466,12 +466,10 @@ int __must_check device_add_disk(struct - if (ret) - goto out_device_del; - -- if (!sysfs_deprecated) { -- ret = sysfs_create_link(block_depr, &ddev->kobj, -- kobject_name(&ddev->kobj)); -- if (ret) -- goto out_device_del; -- } -+ ret = sysfs_create_link(block_depr, &ddev->kobj, -+ kobject_name(&ddev->kobj)); -+ if (ret) -+ goto out_device_del; - - /* - * avoid probable deadlock caused by allocating memory with -@@ -554,8 +552,7 @@ out_put_holder_dir: - out_del_integrity: - blk_integrity_del(disk); - out_del_block_link: -- if (!sysfs_deprecated) -- sysfs_remove_link(block_depr, dev_name(ddev)); -+ sysfs_remove_link(block_depr, dev_name(ddev)); - out_device_del: - device_del(ddev); - out_free_ext_minor: -@@ -657,8 +654,7 @@ void del_gendisk(struct gendisk *disk) - - part_stat_set_all(disk->part0, 0); - disk->part0->bd_stamp = 0; -- if (!sysfs_deprecated) -- sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); -+ sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); - pm_runtime_set_memalloc_noio(disk_to_dev(disk), false); - device_del(disk_to_dev(disk)); - -@@ -912,8 +908,7 @@ static int __init genhd_device_init(void - register_blkdev(BLOCK_EXT_MAJOR, "blkext"); - - /* create top-level block dir */ -- if (!sysfs_deprecated) -- block_depr = kobject_create_and_add("block", NULL); -+ block_depr = kobject_create_and_add("block", NULL); - return 0; - } - ---- a/drivers/base/class.c -+++ b/drivers/base/class.c -@@ -180,7 +180,7 @@ int __class_register(struct class *cls, - - #if defined(CONFIG_BLOCK) - /* let the block class directory show up in the root of sysfs */ -- if (!sysfs_deprecated || cls != &block_class) -+ if (cls != &block_class) - cp->subsys.kobj.kset = class_kset; - #else - cp->subsys.kobj.kset = class_kset; ---- a/drivers/base/core.c -+++ b/drivers/base/core.c -@@ -36,19 +36,6 @@ - #include "physical_location.h" - #include "power/power.h" - --#ifdef CONFIG_SYSFS_DEPRECATED --#ifdef CONFIG_SYSFS_DEPRECATED_V2 --long sysfs_deprecated = 1; --#else --long sysfs_deprecated = 0; --#endif --static int __init sysfs_deprecated_setup(char *arg) --{ -- return kstrtol(arg, 10, &sysfs_deprecated); --} --early_param("sysfs.deprecated", sysfs_deprecated_setup); --#endif -- - /* Device links support. */ - static LIST_HEAD(deferred_sync); - static unsigned int defer_sync_state_count = 1; -@@ -3137,15 +3124,6 @@ static struct kobject *get_device_parent - struct kobject *parent_kobj; - struct kobject *k; - --#ifdef CONFIG_BLOCK -- /* block disks show up in /sys/block */ -- if (sysfs_deprecated && dev->class == &block_class) { -- if (parent && parent->class == &block_class) -- return &parent->kobj; -- return &block_class.p->subsys.kobj; -- } --#endif -- - /* - * If we have no parent, we live in "virtual". - * Class-devices with a non class-device as parent, live -@@ -3324,12 +3302,6 @@ static int device_add_class_symlinks(str - goto out_subsys; - } - --#ifdef CONFIG_BLOCK -- /* /sys/block has directories and does not need symlinks */ -- if (sysfs_deprecated && dev->class == &block_class) -- return 0; --#endif -- - /* link in the class directory pointing to the device */ - error = sysfs_create_link(&dev->class->p->subsys.kobj, - &dev->kobj, dev_name(dev)); -@@ -3359,10 +3331,6 @@ static void device_remove_class_symlinks - if (dev->parent && device_is_not_partition(dev)) - sysfs_remove_link(&dev->kobj, "device"); - sysfs_remove_link(&dev->kobj, "subsystem"); --#ifdef CONFIG_BLOCK -- if (sysfs_deprecated && dev->class == &block_class) -- return; --#endif - sysfs_delete_link(&dev->class->p->subsys.kobj, &dev->kobj, dev_name(dev)); - } - -@@ -4652,11 +4620,6 @@ int device_change_owner(struct device *d - if (error) - goto out; - --#ifdef CONFIG_BLOCK -- if (sysfs_deprecated && dev->class == &block_class) -- goto out; --#endif -- - /* - * Change the owner of the symlink located in the class directory of - * the device class associated with @dev which points to the actual ---- a/include/linux/device.h -+++ b/include/linux/device.h -@@ -1092,10 +1092,4 @@ int dev_err_probe(const struct device *d - #define MODULE_ALIAS_CHARDEV_MAJOR(major) \ - MODULE_ALIAS("char-major-" __stringify(major) "-*") - --#ifdef CONFIG_SYSFS_DEPRECATED --extern long sysfs_deprecated; --#else --#define sysfs_deprecated 0 --#endif -- - #endif /* _DEVICE_H_ */ ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -1297,44 +1297,6 @@ config SCHED_AUTOGROUP - desktop applications. Task group autogeneration is currently based - upon task session. - --config SYSFS_DEPRECATED -- bool "Enable deprecated sysfs features to support old userspace tools" -- depends on SYSFS -- default n -- help -- This option adds code that switches the layout of the "block" class -- devices, to not show up in /sys/class/block/, but only in -- /sys/block/. -- -- This switch is only active when the sysfs.deprecated=1 boot option is -- passed or the SYSFS_DEPRECATED_V2 option is set. -- -- This option allows new kernels to run on old distributions and tools, -- which might get confused by /sys/class/block/. Since 2007/2008 all -- major distributions and tools handle this just fine. -- -- Recent distributions and userspace tools after 2009/2010 depend on -- the existence of /sys/class/block/, and will not work with this -- option enabled. -- -- Only if you are using a new kernel on an old distribution, you might -- need to say Y here. -- --config SYSFS_DEPRECATED_V2 -- bool "Enable deprecated sysfs features by default" -- default n -- depends on SYSFS -- depends on SYSFS_DEPRECATED -- help -- Enable deprecated sysfs by default. -- -- See the CONFIG_SYSFS_DEPRECATED option for more details about this -- option. -- -- Only if you are using a new kernel on an old distribution, you might -- need to say Y here. Even then, odds are you would not need it -- enabled, you can always pass the boot option if absolutely necessary. -- - config RELAY - bool "Kernel->user space relay support (formerly relayfs)" - select IRQ_WORK diff --git a/0001-memstick-fix-memory-leak-if-card-device-is-never-reg.patch b/0001-memstick-fix-memory-leak-if-card-device-is-never-reg.patch deleted file mode 100644 index 276e5f9cd0812..0000000000000 --- a/0001-memstick-fix-memory-leak-if-card-device-is-never-reg.patch +++ /dev/null @@ -1,54 +0,0 @@ -From fb1f85bf132550be559fe712e845eee4475d193f Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Sat, 1 Apr 2023 19:12:32 +0200 -Subject: [PATCH 1/2] memstick: fix memory leak if card device is never - registered with the driver core - -When calling dev_set_name() memory is allocated for the name for the -struct device. Once that structure device is registered, or attempted -to be registerd, with the driver core, the driver core will handle -cleaning up that memory when the device is removed from the system. - -Unfortunatly for the memstick code, there is an error path that causes -the struct device to never be registered, and so the memory allocated in -dev_set_name will be leaked. Fix that leak by manually freeing it right -before the memory for the device is freed. - -Cc: Maxim Levitsky -Cc: Alex Dubov -Cc: Ulf Hansson -Cc: "Rafael J. Wysocki" -Cc: Hans de Goede -Cc: Kay Sievers -Cc: linux-mmc@vger.kernel.org -Fixes: 0252c3b4f018 ("memstick: struct device - replace bus_id with dev_name(), -Cc: stable -Co-developed-by: Greg Kroah-Hartman -Signed-off-by: Greg Kroah-Hartman -Co-developed-by: Mirsad Goran Todorovac ---- - drivers/memstick/core/memstick.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/memstick/core/memstick.c -+++ b/drivers/memstick/core/memstick.c -@@ -410,6 +410,7 @@ static struct memstick_dev *memstick_all - return card; - err_out: - host->card = old_card; -+ kfree_const(card->dev.kobj.name); - kfree(card); - return NULL; - } -@@ -468,8 +469,10 @@ static void memstick_check(struct work_s - put_device(&card->dev); - host->card = NULL; - } -- } else -+ } else { -+ kfree_const(card->dev.kobj.name); - kfree(card); -+ } - } - - out_power_off: diff --git a/0001-readfile-implement-readfile-syscall.patch b/0001-readfile-implement-readfile-syscall.patch index 061e2e1ead653..2a9ab13b86f32 100644 --- a/0001-readfile-implement-readfile-syscall.patch +++ b/0001-readfile-implement-readfile-syscall.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/fs/open.c +++ b/fs/open.c -@@ -1564,3 +1564,53 @@ int stream_open(struct inode *inode, str +@@ -1572,3 +1572,53 @@ int stream_open(struct inode *inode, str } EXPORT_SYMBOL(stream_open); diff --git a/0001-vsmp-driver.patch b/0001-vsmp-driver.patch index c3bff3b483633..d105defeea751 100644 --- a/0001-vsmp-driver.patch +++ b/0001-vsmp-driver.patch @@ -28,7 +28,7 @@ first cut to cleanup +Description: Shows the full version of the vSMP hypervisor --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -22419,6 +22419,12 @@ F: lib/test_printf.c +@@ -22629,6 +22629,12 @@ F: lib/test_printf.c F: lib/test_scanf.c F: lib/vsprintf.c diff --git a/0002-driver-core-class-fix-block-class-problem-when-remov.patch b/0002-driver-core-class-fix-block-class-problem-when-remov.patch deleted file mode 100644 index 521337e3e03bf..0000000000000 --- a/0002-driver-core-class-fix-block-class-problem-when-remov.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6ecddadae3f779408bfa6a1b0c81e7728a00395e Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Tue, 7 Mar 2023 08:43:59 +0100 -Subject: [PATCH 2/2] driver core: class: fix block class problem when removing - CONFIG_SYSFS_DEPRECATED* - -In removing the CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2 -config options, I messed up in the __class_register() function and got -the logic incorrect. Fix this all up by just removing the special case -of a block device class logic in this function, as that is what is -intended. - -In testing, this solves the boot problem on my systems, hopefully on -others as well. - -Cc: "Rafael J. Wysocki" -Reported-by: Stephen Rothwell -Fixes: 721da5cee9d4 ("driver core: remove CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2") -Signed-off-by: Greg Kroah-Hartman ---- - drivers/base/class.c | 6 ------ - 1 file changed, 6 deletions(-) - ---- a/drivers/base/class.c -+++ b/drivers/base/class.c -@@ -178,13 +178,7 @@ int __class_register(struct class *cls, - if (!cls->dev_kobj) - cls->dev_kobj = sysfs_dev_char_kobj; - --#if defined(CONFIG_BLOCK) -- /* let the block class directory show up in the root of sysfs */ -- if (cls != &block_class) -- cp->subsys.kobj.kset = class_kset; --#else - cp->subsys.kobj.kset = class_kset; --#endif - cp->subsys.kobj.ktype = &class_ktype; - cp->class = cls; - cls->p = cp; diff --git a/0003-selftests-add-readfile-2-selftests.patch b/0003-selftests-add-readfile-2-selftests.patch index 701dc8884fb76..68eecc16d4dff 100644 --- a/0003-selftests-add-readfile-2-selftests.patch +++ b/0003-selftests-add-readfile-2-selftests.patch @@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile -@@ -66,6 +66,7 @@ TARGETS += resctrl +@@ -68,6 +68,7 @@ TARGETS += riscv TARGETS += rlimits TARGETS += rseq TARGETS += rtc diff --git a/documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch b/documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch new file mode 100644 index 0000000000000..75851fe943d3c --- /dev/null +++ b/documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch @@ -0,0 +1,44 @@ +From foo@baz Fri Jun 16 10:09:56 AM CEST 2023 +Date: Fri, 16 Jun 2023 10:09:56 +0200 +To: Greg KH +From: Greg Kroah-Hartman +Subject: [PATCH] Documentation: embargoed-hardware-issues.rst: clean out empty and unused entries + +There are a few empty entries in the company/project list, which +confuses people as to why they are there, so remove them entirely, and +also remove an entry that doesn't wish to participate in this process. + +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/process/embargoed-hardware-issues.rst | 4 ---- + 1 file changed, 4 deletions(-) + +--- a/Documentation/process/embargoed-hardware-issues.rst ++++ b/Documentation/process/embargoed-hardware-issues.rst +@@ -244,7 +244,6 @@ disclosure of a particular issue, unless + an involved disclosed party. The current ambassadors list: + + ============= ======================================================== +- AMD Tom Lendacky + Ampere Darren Hart + ARM Catalin Marinas + IBM Power Anton Blanchard +@@ -254,7 +253,6 @@ an involved disclosed party. The current + Samsung Javier González + + Microsoft James Morris +- VMware + Xen Andrew Cooper + + Canonical John Johansen +@@ -263,10 +261,8 @@ an involved disclosed party. The current + Red Hat Josh Poimboeuf + SUSE Jiri Kosina + +- Amazon + Google Kees Cook + +- GCC + LLVM Nick Desaulniers + ============= ======================================================== + diff --git a/qlcnic_sysfs.patch b/qlcnic_sysfs.patch index a3c5a94e529c1..5eb02aeabc25e 100644 --- a/qlcnic_sysfs.patch +++ b/qlcnic_sysfs.patch @@ -4,7 +4,7 @@ --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c -@@ -32,9 +32,9 @@ int qlcnicvf_config_led(struct qlcnic_ad +@@ -31,9 +31,9 @@ int qlcnicvf_config_led(struct qlcnic_ad return -EOPNOTSUPP; } @@ -17,7 +17,7 @@ { struct qlcnic_adapter *adapter = dev_get_drvdata(dev); unsigned long new; -@@ -56,9 +56,8 @@ err_out: +@@ -55,9 +55,8 @@ err_out: return ret; } @@ -29,7 +29,7 @@ { struct qlcnic_adapter *adapter = dev_get_drvdata(dev); int bridged_mode = 0; -@@ -68,10 +67,11 @@ static ssize_t qlcnic_show_bridged_mode( +@@ -67,10 +66,11 @@ static ssize_t qlcnic_show_bridged_mode( return sprintf(buf, "%d\n", bridged_mode); } @@ -44,7 +44,7 @@ { struct qlcnic_adapter *adapter = dev_get_drvdata(dev); unsigned long new; -@@ -85,12 +85,13 @@ static ssize_t qlcnic_store_diag_mode(st +@@ -84,12 +84,13 @@ static ssize_t qlcnic_store_diag_mode(st return len; } @@ -60,7 +60,7 @@ static int qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon, u8 *state, u8 *rate) -@@ -211,9 +212,8 @@ out: +@@ -210,9 +211,8 @@ out: return err; } @@ -72,7 +72,7 @@ { struct qlcnic_adapter *adapter = dev_get_drvdata(dev); int err = 0; -@@ -234,8 +234,8 @@ static ssize_t qlcnic_store_beacon(struc +@@ -233,8 +233,8 @@ static ssize_t qlcnic_store_beacon(struc return err; } @@ -83,7 +83,7 @@ { struct qlcnic_adapter *adapter = dev_get_drvdata(dev); -@@ -263,6 +263,7 @@ static int qlcnic_sysfs_validate_crb(str +@@ -262,6 +262,7 @@ static int qlcnic_sysfs_validate_crb(str return 0; } @@ -91,7 +91,7 @@ static ssize_t qlcnic_sysfs_read_crb(struct file *filp, struct kobject *kobj, struct bin_attribute *attr, char *buf, -@@ -1175,24 +1176,6 @@ static ssize_t qlcnic_83xx_sysfs_flash_w +@@ -1174,24 +1175,6 @@ static ssize_t qlcnic_83xx_sysfs_flash_w return size; } @@ -116,7 +116,7 @@ static const struct bin_attribute bin_attr_crb = { .attr = { .name = "crb", .mode = 0644 }, .size = 0, -@@ -1318,6 +1301,24 @@ void qlcnic_unregister_hwmon_dev(struct +@@ -1317,6 +1300,24 @@ void qlcnic_unregister_hwmon_dev(struct } #endif @@ -141,7 +141,7 @@ void qlcnic_create_sysfs_entries(struct qlcnic_adapter *adapter) { struct device *dev = &adapter->pdev->dev; -@@ -1331,6 +1332,11 @@ void qlcnic_create_sysfs_entries(struct +@@ -1330,6 +1331,11 @@ void qlcnic_create_sysfs_entries(struct void qlcnic_remove_sysfs_entries(struct qlcnic_adapter *adapter) { struct device *dev = &adapter->pdev->dev; diff --git a/series b/series index 1c62875d6a49a..3ba830b63206a 100644 --- a/series +++ b/series @@ -1,7 +1,5 @@ # -0001-memstick-fix-memory-leak-if-card-device-is-never-reg.patch -0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch -0002-driver-core-class-fix-block-class-problem-when-remov.patch +documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch usb.patch 0001-vsmp-driver.patch 0001-driver-core-aux-test-code.patch diff --git a/usb.patch b/usb.patch index 68f471ef2e255..bfaed2e78bb9b 100644 --- a/usb.patch +++ b/usb.patch @@ -4,9 +4,9 @@ --- a/drivers/usb/storage/unusual_uas.h +++ b/drivers/usb/storage/unusual_uas.h -@@ -111,6 +111,17 @@ UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x99 +@@ -118,6 +118,17 @@ UNUSUAL_DEV(0x152d, 0x0583, 0x0000, 0x99 USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_BROKEN_FUA), + US_FL_NO_REPORT_OPCODES), +/* Reported-by: Greg Kroah-Hartman */ +UNUSUAL_DEV(0x152d, 0x0583, 0x0000, 0x9999, -- cgit 1.2.3-korg