android_kernel_xiaomi_sm8350/arch/x86/kernel
Greg KH 213eca7f48 kobj: fix threshold_init_device/kobject_uevent_env oops
the logic in this function is just crazy.  It's recursive, but we
can circumvent the creation for the kobject and whole creation of the
threshold_block if some conditions are met.  That's why we see the
allocate_threshold_blocks so many times in the callstack, yet only a few
kobjects created.

Then we blow up in kobject_uevent_env() on the first debug printk.
Which means that we are just passing in garbage.

Man, this is one time that comments in code would have been very nice to
have, and why forward goto's into major code blocks are just evil...

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:29:58 +01:00
..
acpi ACPI: suspend: old debugging hacks sneaked back 2007-12-06 16:03:06 -05:00
cpu kobj: fix threshold_init_device/kobject_uevent_env oops 2008-01-30 13:29:58 +01:00
.gitignore .gitignore update for x86 arch 2007-10-17 21:19:04 +02:00
alternative.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
aperture_64.c x86 gart: rename symbols only used for the GART implementation 2007-10-30 00:22:22 +01:00
apic_32.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
apic_64.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
apm_32.c PM: ACPI and APM must not be enabled at the same time 2008-01-11 12:26:47 -05:00
asm-offsets_32.c Boot with virtual == physical to get closer to native Linux. 2007-10-23 15:49:54 +10:00
asm-offsets_64.c x86: Fix boot protocol KEEP_SEGMENTS check. 2007-10-27 20:57:43 +02:00
asm-offsets.c
audit_64.c
bootflag.c
bugs_64.c
cpuid.c PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
crash_dump_32.c kmap leak fix for x86_32 kdump 2007-10-19 11:53:33 -07:00
crash_dump_64.c
crash.c x86: disable hpet legacy replacement for kdump 2007-12-03 17:17:10 +01:00
doublefault_32.c
e820_32.c kexec: add BSS to resource tree 2007-10-22 08:13:19 -07:00
e820_64.c kexec: add BSS to resource tree 2007-10-22 08:13:19 -07:00
early_printk.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
early-quirks.c x86 gart: rename symbols only used for the GART implementation 2007-10-30 00:22:22 +01:00
efi_32.c kexec: add BSS to resource tree 2007-10-22 08:13:19 -07:00
efi_stub_32.S
entry_32.S Merge branch 'xen-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2007-10-17 11:10:11 -07:00
entry_64.S sched: high-res preemption tick 2008-01-25 21:08:29 +01:00
genapic_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
genapic_flat_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
geode_32.c
head64.c x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
head_32.S fix lguest rmmod "bad pgd" 2008-01-01 11:30:35 -08:00
head_64.S
hpet.c x86: fix RTC_AIE with CONFIG_HPET_EMULATE_RTC 2008-01-15 16:44:38 +01:00
i386_ksyms_32.c x86: export the symbol empty_zero_page on the 32-bit x86 architecture 2007-11-26 20:42:19 +01:00
i387_32.c
i387_64.c x86: fix taking DNA during 64bit sigreturn 2007-11-12 11:09:33 -08:00
i8237.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8253.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
i8259_32.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8259_64.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
init_task.c x86: merge init_task_32/64.c 2007-10-19 20:35:02 +02:00
io_apic_32.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
io_apic_64.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
ioport_32.c
ioport_64.c
irq_32.c x86: also show non-zero IRQ counts for vectors that currently don't have a handler 2007-10-17 20:16:54 +02:00
irq_64.c x86: also show non-zero IRQ counts for vectors that currently don't have a handler 2007-10-17 20:16:54 +02:00
k8.c
kprobes_32.c x86: jprobe bugfix 2007-12-18 18:05:58 +01:00
kprobes_64.c x86: kprobes bugfix 2007-12-18 18:05:58 +01:00
ldt_32.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:05 +02:00
ldt_64.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:00 +02:00
machine_kexec_32.c Use extended crashkernel command line on i386 2007-10-19 11:53:49 -07:00
machine_kexec_64.c x86: Dump filtering supports x86_64 sparsemem 2007-10-27 20:57:43 +02:00
Makefile x86: delete vsyscall files during make clean 2007-10-17 21:56:01 +02:00
Makefile_32 x86: do not use $(ARCH) when not needed 2007-11-12 21:02:20 +01:00
Makefile_64 x86: do not use $(ARCH) when not needed 2007-11-12 21:02:20 +01:00
mca_32.c
mfgpt_32.c x86: GEODE fix a race condition in the MFGPT timer tick 2008-01-22 23:30:16 +01:00
microcode.c cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() 2008-01-25 21:08:02 +01:00
module_32.c
module_64.c
mpparse_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mpparse_64.c x86: acpi use cpu_physical_id 2007-10-19 20:35:03 +02:00
msr.c PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
nmi_32.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
nmi_64.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
numaq_32.c
paravirt_32.c x86/paravirt: revert exports to restore old behaviour 2007-11-29 09:24:55 -08:00
pci-calgary_64.c x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
pci-dma_32.c i386: Clean up duplicate includes in arch/i386/kernel/ 2007-10-17 20:15:51 +02:00
pci-dma_64.c x86: turn off iommu merge by default 2007-11-26 20:42:19 +01:00
pci-gart_64.c x86 gart: rename symbols only used for the GART implementation 2007-10-30 00:22:22 +01:00
pci-nommu_64.c x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
pci-swiotlb_64.c x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
pcspeaker.c
pmtimer_64.c
process_32.c Kick CPUS that might be sleeping in cpus_idle_wait 2008-01-14 08:52:22 -08:00
process_64.c Kick CPUS that might be sleeping in cpus_idle_wait 2008-01-14 08:52:22 -08:00
ptrace_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
ptrace_64.c x86: convert mm_context_t semaphore to a mutex 2007-10-17 20:17:00 +02:00
quirks.c x86: Add HPET force support for MCP55 (nForce 5) chipsets 2007-10-23 22:37:25 +02:00
reboot_32.c x86: disable hpet on shutdown 2007-12-03 17:17:10 +01:00
reboot_64.c x86: disable hpet on shutdown 2007-12-03 17:17:10 +01:00
reboot_fixups_32.c x86: reboot fixup for wrap2c board 2007-11-17 16:27:02 +01:00
relocate_kernel_32.S
relocate_kernel_64.S
scx200_32.c
setup64.c x86: use descriptor's functions instead of inline assembly 2007-10-19 20:35:03 +02:00
setup_32.c x86_32: disable_pse must be __cpuinitdata 2007-12-19 23:20:19 +01:00
setup_64.c x86: fixup cpu_info array conversion 2007-11-17 16:27:01 +01:00
sigframe_32.h
signal_32.c sched: high-res preemption tick 2008-01-25 21:08:29 +01:00
signal_64.c sched: high-res preemption tick 2008-01-25 21:08:29 +01:00
smp_32.c x86: export smp_ops to allow modular build of KVM 2007-10-27 20:57:43 +02:00
smp_64.c x86: implement missing x86_64 function smp_call_function_mask() 2007-10-19 20:35:03 +02:00
smpboot_32.c x86 smpboot_32.c section fixes 2007-12-19 23:20:18 +01:00
smpboot_64.c x86: fix do_fork_idle section mismatch 2008-01-08 16:10:35 -08:00
smpcommon_32.c
srat_32.c
stacktrace.c sched: latencytop support 2008-01-25 21:08:34 +01:00
summit_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
suspend_64.c revert "Hibernation: Use temporary page tables for kernel text mapping on x86_64" 2007-12-17 19:28:15 -08:00
suspend_asm_64.S x86: Save registers in saved_context during suspend and hibernation 2007-10-23 22:37:24 +02:00
sys_i386_32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sys_x86_64.c
syscall_64.c
syscall_table_32.S
sysenter_32.c
tce_64.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
time_32.c
time_64.c x86: on x86_64, correct reading of PC RTC when update in progress in time_64.c 2007-11-17 16:27:01 +01:00
topology.c x86: arch_register_cpu() section fix 2007-12-04 17:19:07 +01:00
trampoline_32.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
trampoline_64.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
traps_32.c lockdep: more hardirq annotations for notify_die() 2008-01-16 09:51:59 +01:00
traps_64.c lockdep: more hardirq annotations for notify_die() 2008-01-16 09:51:59 +01:00
tsc_32.c x86: fix more TSC clock source calibration errors 2007-10-23 22:37:22 +02:00
tsc_64.c x86: convert cpuinfo_x86 array to a per_cpu array 2007-10-19 20:35:04 +02:00
tsc_sync.c
verify_cpu_64.S
vm86_32.c
vmi_32.c paravirt: clean up lazy mode handling 2007-10-16 11:51:29 -07:00
vmiclock_32.c
vmlinux_32.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
vmlinux_64.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
vmlinux.lds.S
vsmp_64.c
vsyscall_32.lds.S
vsyscall_32.S
vsyscall_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
vsyscall-int80_32.S
vsyscall-note_32.S
vsyscall-sigreturn_32.S
vsyscall-sysenter_32.S
x8664_ksyms_64.c