Commit 80955ae9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull driver core updates from Greg KH:
 "Here are the set of driver core and kernfs changes for 6.8-rc1.
  Nothing major in here this release cycle, just lots of small cleanups
  and some tweaks on kernfs that in the very end, got reverted and will
  come back in a safer way next release cycle.

  Included in here are:

   - more driver core 'const' cleanups and fixes

   - fw_devlink=rpm is now the default behavior

   - kernfs tiny changes to remove some string functions

   - cpu handling in the driver core is updated to work better on many
     systems that add topologies and cpus after booting

   - other minor changes and cleanups

  All of the cpu handling patches have been acked by the respective
  maintainers and are coming in here in one series. Everything has been
  in linux-next for a while with no reported issues"

* tag 'driver-core-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (51 commits)
  Revert "kernfs: convert kernfs_idr_lock to an irq safe raw spinlock"
  kernfs: convert kernfs_idr_lock to an irq safe raw spinlock
  class: fix use-after-free in class_register()
  PM: clk: make pm_clk_add_notifier() take a const pointer
  EDAC: constantify the struct bus_type usage
  kernfs: fix reference to renamed function
  driver core: device.h: fix Excess kernel-doc description warning
  driver core: class: fix Excess kernel-doc description warning
  driver core: mark remaining local bus_type variables as const
  driver core: container: make container_subsys const
  driver core: bus: constantify subsys_register() calls
  driver core: bus: make bus_sort_breadthfirst() take a const pointer
  kernfs: d_obtain_alias(NULL) will do the right thing...
  driver core: Better advertise dev_err_probe()
  kernfs: Convert kernfs_path_from_node_locked() from strlcpy() to strscpy()
  kernfs: Convert kernfs_name_locked() from strlcpy() to strscpy()
  kernfs: Convert kernfs_walk_ns() from strlcpy() to strscpy()
  initramfs: Expose retained initrd as sysfs file
  fs/kernfs/dir: obey S_ISGID
  kernel/cgroup: use kernfs_create_dir_ns()
  ...
parents 296455ad e3977e06
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
What:		/sys/firmware/initrd
Date:		December 2023
Contact:	Alexander Graf <graf@amazon.com>
Description:
		When the kernel was booted with an initrd and the
		"retain_initrd" option is set on the kernel command
		line, /sys/firmware/initrd contains the contents of the
		initrd that the kernel was booted with.
+3 −2
Original line number Diff line number Diff line
@@ -2449,7 +2449,7 @@
			between unregistering the boot console and initializing
			the real console.

	keepinitrd	[HW,ARM]
	keepinitrd	[HW,ARM] See retain_initrd.

	kernelcore=	[KNL,X86,IA-64,PPC]
			Format: nn[KMGTPE] | nn% | "mirror"
@@ -5604,7 +5604,8 @@
			Useful for devices that are detected asynchronously
			(e.g. USB and MMC devices).

	retain_initrd	[RAM] Keep initrd memory after extraction
	retain_initrd	[RAM] Keep initrd memory after extraction. After boot, it will
			be accessible via /sys/firmware/initrd.

	retbleed=	[X86] Control mitigation of RETBleed (Arbitrary
			Speculative Code Execution with Return Instructions)
+1 −0
Original line number Diff line number Diff line
@@ -133,6 +133,7 @@ config ARM64
	select GENERIC_ARCH_TOPOLOGY
	select GENERIC_CLOCKEVENTS_BROADCAST
	select GENERIC_CPU_AUTOPROBE
	select GENERIC_CPU_DEVICES
	select GENERIC_CPU_VULNERABILITIES
	select GENERIC_EARLY_IOREMAP
	select GENERIC_IDLE_POLL_SETUP
+0 −1
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ struct cpuinfo_32bit {
};

struct cpuinfo_arm64 {
	struct cpu	cpu;
	struct kobject	kobj;
	u64		reg_ctr;
	u64		reg_cntfrq;
+2 −11
Original line number Diff line number Diff line
@@ -402,19 +402,10 @@ static inline bool cpu_can_disable(unsigned int cpu)
	return false;
}

static int __init topology_init(void)
bool arch_cpu_is_hotpluggable(int num)
{
	int i;

	for_each_possible_cpu(i) {
		struct cpu *cpu = &per_cpu(cpu_data.cpu, i);
		cpu->hotpluggable = cpu_can_disable(i);
		register_cpu(cpu, i);
	}

	return 0;
	return cpu_can_disable(num);
}
subsys_initcall(topology_init);

static void dump_kernel_offset(void)
{
Loading