2004-11-05 08:16:10

by Andrew Morton

[permalink] [raw]
Subject: 2.6.10-rc1-mm3


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/


- Added Andi's 4-level-pagetable patches. It's tested on x86, x86_64, ia64
and ppc64. These are fairly intrusive patches and I'll probably push them
upstream soon.

- UML updates, ppc64 updates.

- Should fix a few bugs which people reported in 2.6.10-rc1-mm2.



Changes since 2.6.10-rc1-mm2:


linus.patch
bk-acpi.patch
bk-agpgart.patch
bk-cifs.patch
bk-cpufreq.patch
bk-driver-core.patch
bk-drm.patch
bk-i2c.patch
bk-ia64.patch
bk-ide-dev.patch
bk-input.patch
bk-dtor-input.patch
bk-jfs.patch
bk-kbuild.patch
bk-kbuild-utsname-fix.patch
bk-netdev.patch
bk-ntfs.patch
bk-pci.patch
bk-scsi.patch
bk-watchdog.patch

External BK trees

-direct-io-write-memory-leak-fix.patch
-add-typechecking-to-suspend-types-and-powerdown-types.patch
-key_init-ordering-fix.patch
-acpi_processor_start-fix.patch
-acpi_processor_add-warning-fix.patch
-swapper_space-warning-suppression.patch
-use-mmiowb-in-tg3_poll.patch
-x25-stop-x25_destroy_socket-timer-looping.patch
-ethertap-debug-no-newline.patch
-x25-stop-proc-net-x25-route-infinitely.patch
-x25-dont-log-unknown-frame-type-when.patch
-avoid-warning-on-conntrack_stat_inc-in-destroy_conntrack.patch
-ppc32-fix-ppc4xx_progress-warnings.patch
-ppc32-fix-boot-on-powermac.patch
-ppc64-iseries-fix-for-generic-irq-changes.patch
-ppc64-setup-cpu_sibling_map-on-iseries.patch
-ppc64-enable-maple-ide-fixup.patch
-x86_64-fix-safe_smp_processor_id-after-genapic.patch
-x86_64-fix-warning-in-genapic.patch
-m32r-fix-a-typo-of-delayc.patch
-uml-fix-mainline-lazyness-about-tty-layer-patch.patch
-ext3_rsv_cleanup.patch
-ext3_rsv_base.patch
-ext3-reservation-default-on.patch
-ext3-lazy-discard-reservation-window-patch.patch
-ext3-reservations-spelling-fixes.patch
-ext3-reservations-renumber-the-ext3-reservations-ioctls.patch
-ext3-reservations-remove-unneeded-declaration.patch
-ext3-reservations-turn-ext3-per-sb-reservations-list-into-an-rbtree.patch
-ext3-reservations-split-the-reserve_window-struct-into-two.patch
-ext3-reservations-smp-protect-the-reservation-during-allocation.patch
-ext3-rsv-use-before-initialise-fix.patch
-ext3-reservations-window-allocation-fix.patch
-ext3-reservation-window-size-increase-incorrectly-fix.patch
-ext3_reservation_window_fix_fix.patch
-ext3-reservation-remove-stale-window-fix.patch
-ext3-reservation-allow-turn-off-for-specifed-file.patch
-ext3-reservation-skip-allocation-in-a-full-group.patch
-ext3-online-resize-patch.patch
-ext3_bread-cleanup.patch
-fbdev-convert-module_parm-to-module_param-in-i810fb.patch
-fbdev-remove-module-parameter-disabled-from-savagefb.patch
-fbdev-convert-module_parm-to-module_param-in-intelfb.patch
-fbdev-convert-module_parm-to-module_param-in-neofb.patch
-fbdev-fix-io-access-in-neofb.patch
-fbdev-add-__iomem-annotations-to-sstfb.patch
-fbdev-add-__iomem-annotations-to-tdfxfb.patch
-fbdev-do-not-memset-the-framebuffer-memory-in-asiliantfb.patch
-fbdev-add-__iomem-annotations-to-cyber2000fb.patch
-fbdev-add-__iomem-annotations-to-pm2fb.patch
-fbdev-add-__iomem-annotations-to-hgafb.patch
-fbdev-add-__iomem-annotations-to-cirrusfb.patch
-fbdev-add-__iomem-annotations-to-vfb.patch
-fbdev-check-if-cursor-image-has-changed-in-intelfb.patch
-fbdev-maintainership.patch
-use-mmiowb-in-tg3c.patch
-export-power_status-parameter-through-sysfs.patch
-unwind-information-fix-for-the-vsyscall-dso.patch
-make-dnotify-a-configure-time-option.patch
-make-dnotify-a-configure-time-option-embedded.patch
-convert-pipefs-to-fs_initcall.patch
-fix-deprecated-module_parm-for-capi-subsystem.patch
-documentation-cpqarraytxt-update.patch
-documentation-mkdevida-removal.patch

Merged

+fix-hpet-time_interpolator-registration.patch

HPET fix

+4level-architecture-changes-for-alpha.patch
+4level-architecture-changes-for-arm.patch
+4level-core-patch.patch
+4level-architecture-changes-for-cris.patch
+4level-convert-drm-to-4levels.patch
+4level-add-asm-generic-support-for-emulating.patch
+4level-ia64-support.patch
+4level-architecture-changes-for-i386.patch
+4level-architecture-changes-for-m32r.patch
+4level-architecture-changes-for-ppc.patch
+4level-architecture-changes-for-ppc64.patch
+4level-architecture-changes-for-s390.patch
+4level-architecture-changes-for-sh.patch
+4level-architecture-changes-for-sh64.patch
+4level-architecture-changes-for-sparc.patch
+4level-architecture-changes-for-sparc64.patch
+4level-architecture-changes-for-x86_64.patch

4-level pagetables

+compat-syscalls-naming-standardisation.patch
+compat-syscalls-naming-standardisation-fix.patch

compat syscall fixes for parisc

+icom-makefile-fix.patch

icom serial driver fix

+unexport-lock_page.patch

Unneeded export

+fix-duplicate-config-for-ia64_mca_recovery.patch

ia64 config fix

+mm-higher-order-watermarks-fix.patch

page reclaim fix

+prio_tree-fix-prio_tree_expand-corner-c.patch
+prio_tree-add-documentation-prio_treetxt.patch

priotree oops fixes

+fix-find_next_best_node.patch

numa fix

+more-hardirqh-consolidation.patch

irq cleanups

+arcnet-fixes-fix.patch

fix the arcnet fixes

+e1000-stop-working-after-resume.patch
+fix-for-8023ad-shutdown-issue.patch

net driver fixes

+ppc32-cpm2-bug.patch
+ppc32-add-support-for-sandpoint-x2.patch
+fix-pmac_zilog-as-console.patch

ppc32 things

+ppc64-iseries-iommu-cleanups.patch
+ppc64-vio-iommu-table-property-parsing-wrong.patch
+ppc64-add-option-for-oprofile-to-backtrace-through-spinlocks.patch
+ppc64-iommu-fixes-round-3.patch
+ppc64-iseries_pcic-use-for_each_pci_dev.patch
+ppc64-pmac_pcic-replace-pci_find_device-with-pci_get_device.patch
+ppc64-pseries_pcic-use-for_each_pci_dev.patch
+ppc64-pseries_iommuc-use-for_each_pci_dev.patch
+ppc64-u3_iommuc-use-for_each_pci_dev.patch

ppc64 things

-fix-iounmap-and-a-pageattr-memleak-x86-and-x86-64.patch

This is sick

+up-local-apic-bootstrap-cleanup.patch
+x86-x86_64-only-handle-system-nmis-on-the-bsp.patch
+ptrace-pokeusr-add-comment-about-the-dr7-check.patch

x86 fixes

+x86_64-add-p4-clockmod.patch

x86_64 Kconfig fix

+m32r-fix-arch-m32r-lib-memsets.patch
+m32r-fix-for-use-of-mappi-pcc.patch

m32r fixes

+uml-fix-ptrace-hang-on-269-host-due-to-host-changes.patch
+uml-some-comments-about-forcing-bin-bash.patch
+uml-add-startup-check-for-mmapprot_exec-from-tmp.patch
+uml-fix-syscall-auditing.patch
+uml-fix-symbol-conflict-in-linking.patch
+uml-cleanup-header-names.patch
+uml-remove-useless-inclusion.patch
+uml-no-duplicate-current_thread-definition.patch
+uml-mconsole_proc-simplify-and-partial-fix.patch
+uml-catch-eintr-in-generic_console_write.patch
+uml-remove-sigprof-from-change_signals.patch
+umluse-kallsyms-when-dumping-stack.patch
+uml-revert-compile-only-changes-for-other-ones.patch
+uml-fix-sysemu-test-at-startup.patch
+uml-more-careful-test-startup.patch
+uml-use-ptrace_sysemu-also-for-tt-mode.patch
+uml-lots-of-little-fixes-by-jeff-dike.patch
+uml-clear-errno-in-catch_eintr.patch
+uml-readd-linux-makefile-target-fixes-to-the-old-version.patch
+uml-add-missing-newline-in-help-string.patch
+uml-update-atomich-so-uml-builds-cleanly.patch
+uml-handle-signal-api.patch
+uml-sysenter-is-syscall.patch
+uml-generic-singlestep-syscall.patch
+uml-generic-singlestepping.patch
+uml-clear-singlestep.patch
+uml-dont-check-nr_syscalls.patch
+uml-set-dtrace-correctly.patch

UML updates

+pcmcia-module_refcount-oops-fix.patch

Fix the PCMCIA patches in -mm

+kgdb-x86_64-serial-fix.patch

Update kgdb stub for serial changes

+fix-cpm2-uart-driver-device-number-brain-damage.patch

serial driver fix

+sched-reset-cache_hot_time.patch

Unbreak the sched-domains tuning

-sched-mm-fix-scheduling-latencies-in-copy_page_range.patch
-fix-config_debug_highmem-assert-in-copy_page_range.patch

The 4level patches broke these

+v4l-mxb-driver-and-i2c-helper-cleanup.patch
+v4l-keep-tvaudio-driver-away-from-saa7146.patch
+meye-module-related-fixes.patch
+meye-replace-homebrew-queue-with-kfifo.patch
+meye-picture-depth-is-in-bits-not-in-bytes.patch
+meye-do-lock-properly-when-waiting-for-buffers.patch
+meye-implement-non-blocking-access-using-poll.patch
+meye-cleanup-init-exit-paths.patch
+meye-the-driver-is-no-longer-experimental-and-depends-on-pci.patch
+meye-module-parameters-documentation-fixes.patch
+meye-add-v4l2-support.patch
+meye-whitespace-and-coding-style-cleanups.patch
+meye-bump-up-the-version-number.patch
+meye-cache-the-camera-settings-in-the-driver.patch
+sonypi-documentation-fixes.patch
+pcmcia-network-drivers-cleanup.patch
+videodev2h-patchlet.patch

Various video driver updates

+kexec-kexecx86_64-4level-fix.patch

Fix kexec for the 4level patches

+kexec-loading-kernel-from-non-default-offset-fix.patch

kexec fix

+reiser4-rename-key_init.patch

reiser4 namespace clash fix

+mpsc-driver-patch.patch

Fix this serial driver

+make-acpi_bus_register_driver-consistent-with-pci_register_driver-again.patch
+make-acpi_bus_register_driver-consistent-with-pci_register_driver-again-warning-fix.patch

ACPI fixes

+make-cancel_rearming_delayed_workqueue-static.patch

namespace cleanup

+remove-journal-callback-code-from-jbd.patch

dead code

+no-buddy-bitmap-patch-revisit-for-mm-page_allocc-fix.patch

Fix the page allocator rework

+o_direct-fix-again.patch

Hopefully get the direct-io fix done right. Should fix the LVM setup
problems people have been reporting.

+fbcon-do-not-touch-hardware-if-vc_mode-=-kd_text.patch
+fbdev-fix-access-to-rom-in-aty128fb.patch
+fbdev-fix-io-access-in-rivafb.patch
+fbcon-add-box-drawing-glyphs-to-6x11-font.patch
+fbdev-fix-source-copy-bug-in-neofb.patch
+fbcon-fbdev-remove-fbcon-specific-fields-from-struct-fb_info.patch
+fbdev-atyfb_basec-requires-atyfb_cursor.patch
+fix-atyfb-cursor-problems.patch
+fbdev-set-correct-mclk-xclk-values-for-aty-in-ibook.patch
+fbdev-check-for-intialized-flag-before-registration-in-matroxfb.patch
+fbcon-do-not-touch-hardware-if-vc_mode-=-kd_text-fix.patch
+remove-two-leftover-asm-linux_logoh-files.patch
+fbdev-intelfb-code-cleanup.patch
+fbcon-another-fix-for-fbcon-generic-blanking-code.patch

fbdev/fbcon updates

+md-fix-problem-with-md-linear-for-devices-larger-than-2-terabytes.patch
+md-fix-raid6-problem.patch
+md-delete-unplug-timer-before-shutting-down-md-array.patch
+md-delete-unplug-timer-before-shutting-down-md-array-cleanup.patch
+md-faulty-personality.patch

MD update

+dont-ignore-try_stop_module-return.patch

module fix

+proc-kcore-enable-disable.patch

Add missing config for /proc/kcore

-invalidate_inode_pages-mmap-coherency-fix.patch

This is causing I/O errors when it shouldn't. Needs work.

+sysrq-n-changes-rt-tasks-to-normal.patch

Make alt-sysrq-n turn all rt-policy tasks into SCHED_OTHER. For when an
rt-policy process goes crazy and locks the machine up.

+cputime-fix-do_setitimer.patch

Fix the cputime patches. Should fix the "konqueror doesn't work" problem
which people noted.

+fix-bug-in-i2o_iop_systab_set-where-address-is-used-instead.patch

i2o driver fix

-lock-initializer-unifying-batch-2-usb.patch

Clashed with other things

+remove-duplicate-safe_for_readread_buffer-entry-in-scsi_ioctlc.patch
+remove-unused-lookup_mnt-export.patch

Code cleanups

+kprobes-minor-i386-changes-required-for-porting-kprobes-to-x86_64.patch
+kprobes-kprobes-ported-to-x86_64.patch
+kprobes-minor-changes-for-sparc64.patch

kprobes updates

+maintainer-vfs-email.patch

email address update

+fix-ext3_dx_readdir.patch

Fix htree's readdir function.

+remove-dead-kernel_map_pages-export.patch
+reove-dead-exports-from-randomc.patch
+unexport-do_settimeofday.patch

cleanups

+documentation-remove-drivers-char-readmecomputone.patch
+documentation-remove-drivers-char-readmecyclomy.patch
+documentation-remove-drivers-char-readmeecpa.patch
+documentation-remove-drivers-char-readmescc.patch
+tipar-documentation-tipartxt-cleanup.patch
+ramdisk-correction-to-documentation-kernel-parameterstxt.patch

Documentation fixes

+fix-building-of-samba-userland.patch
+add-__kernel__-to-linux-crc-ccitth.patch

namespace fixes

+use-add_hotplug_env_var-in-firmware-loader.patch

Code consolidation



number of patches in -mm: 465
number of changesets in external trees: 472
number of patches in -mm only: 446
total patches: 918




All 465 patches:



linus.patch

fix-hpet-time_interpolator-registration.patch
fix HPET time_interpolator registration

4level-architecture-changes-for-alpha.patch
4level: Architecture changes for alpha

4level-architecture-changes-for-arm.patch
4level: Architecture changes for arm

4level-core-patch.patch
4level core patch

4level-architecture-changes-for-cris.patch
4level: Architecture changes for cris

4level-convert-drm-to-4levels.patch
4level: convert DRM to 4levels.

4level-add-asm-generic-support-for-emulating.patch
4level: Add asm-generic support for emulating 2/3level tables.

4level-ia64-support.patch
4level: ia64 support

4level-architecture-changes-for-i386.patch
4level: Architecture changes for i386

4level-architecture-changes-for-m32r.patch
4level: Architecture changes for m32r

4level-architecture-changes-for-ppc.patch
4level: Architecture changes for ppc

4level-architecture-changes-for-ppc64.patch
4level: Architecture changes for ppc64

4level-architecture-changes-for-s390.patch
4level: Architecture changes for s390

4level-architecture-changes-for-sh.patch
4level: Architecture changes for sh

4level-architecture-changes-for-sh64.patch
4level: Architecture changes for sh64

4level-architecture-changes-for-sparc.patch
4level: Architecture changes for sparc

4level-architecture-changes-for-sparc64.patch
4level: Architecture changes for sparc64

4level-architecture-changes-for-x86_64.patch
4level: Architecture changes for x86_64

compat-syscalls-naming-standardisation.patch
compat syscalls naming standardisation

compat-syscalls-naming-standardisation-fix.patch
compat-syscalls-naming-standardisation-fix

make-sysrq-f-call-oom_kill.patch
make sysrq-F call oom_kill()

icom-makefile-fix.patch
icom makefile fix

unexport-lock_page.patch
unexport lock_page()

bk-acpi.patch

acpi-report-errors-in-fanc.patch
ACPI: report errors in fan.c

bk-agpgart.patch

bk-cifs.patch

bk-cpufreq.patch

bk-driver-core.patch

bk-drm.patch

bk-i2c.patch

bk-ia64.patch

fix-duplicate-config-for-ia64_mca_recovery.patch
Fix duplicate config for IA64_MCA_RECOVERY

bk-ide-dev.patch

bk-input.patch

bk-dtor-input.patch

bk-jfs.patch

bk-kbuild.patch

bk-kbuild-utsname-fix.patch
bk-kbuild utsname fix

bk-netdev.patch

bk-ntfs.patch

bk-pci.patch

bk-scsi.patch

bk-watchdog.patch

mm.patch
add -mmN to EXTRAVERSION

fix-smm-failures-on-e750x-systems.patch
fix SMM failures on E750x systems

mm-keep-count-of-free-areas.patch
mm: keep count of free areas

mm-higher-order-watermarks.patch
mm: higher order watermarks

mm-higher-order-watermarks-fix.patch
higher order watermarks fix

mm-teach-kswapd-about-higher-order-areas.patch
mm: teach kswapd about higher order areas

bootmem-use-node_data.patch
bootmem use NODE_DATA

prio_tree-fix-prio_tree_expand-corner-c.patch
prio_tree: fix prio_tree_expand corner c

prio_tree-add-documentation-prio_treetxt.patch
prio_tree: add Documentation/prio_tree.txt

fix-find_next_best_node.patch
fix find_next_best_node()

make-tree_lock-an-rwlock.patch
make mapping->tree_lock an rwlock

more-hardirqh-consolidation.patch
more hardirq.h consolidation

must-fix.patch
must fix lists update
must fix list update
mustfix update
must-fix update
mustfix lists

arcnet-fixes.patch
arcnet fixes

arcnet-fixes-fix.patch
arcnet fixes fix

netpoll-fix-null-ifa_list-pointer-dereference.patch
netpoll: fix null ifa_list pointer dereference

e1000-stop-working-after-resume.patch
E1000 stop working after resume

fix-for-8023ad-shutdown-issue.patch
Fix for 802.3ad shutdown issue

ppc32-cpm2-bug.patch
ppc32: CPM2 bug

ppc32-add-support-for-sandpoint-x2.patch
ppc32: Add support for Sandpoint X2

fix-pmac_zilog-as-console.patch
Fix pmac_zilog as console

ppc64-iseries-iommu-cleanups.patch
ppc64: iSeries iommu cleanups

ppc64-vio-iommu-table-property-parsing-wrong.patch
ppc64: VIO iommu table property parsing wrong

ppc64-add-option-for-oprofile-to-backtrace-through-spinlocks.patch
ppc64: Add option for oprofile to backtrace through spinlocks

ppc64-iommu-fixes-round-3.patch
ppc64: iommu fixes, round 3

ppc64-iseries_pcic-use-for_each_pci_dev.patch
ppc64: iSeries_pci.c use for_each_pci_dev()

ppc64-pmac_pcic-replace-pci_find_device-with-pci_get_device.patch
ppc64: pmac_pci.c replace pci_find_device with pci_get_device

ppc64-pseries_pcic-use-for_each_pci_dev.patch
ppc64: pSeries_pci.c use for_each_pci_dev()

ppc64-pseries_iommuc-use-for_each_pci_dev.patch
ppc64: pSeries_iommu.c use for_each_pci_dev

ppc64-u3_iommuc-use-for_each_pci_dev.patch
ppc64: u3_iommu.c use for_each_pci_dev()

ppc64-reloc_hide.patch

superhyway-bus-support.patch
SuperHyway bus support

optimize-stack-pointer-access-reduce-register-usage.patch
x86: optimize stack pointer access (reduce register usage)

up-local-apic-bootstrap-cleanup.patch
UP local APIC bootstrap cleanup

x86-x86_64-only-handle-system-nmis-on-the-bsp.patch
x86, x86_64: Only handle system NMIs on the BSP

ptrace-pokeusr-add-comment-about-the-dr7-check.patch
ptrace POKEUSR: add comment about the DR7 check.

x86_64-add-p4-clockmod.patch
x86_64: Add p4 clockmod

m32r-fix-arch-m32r-lib-memsets.patch
m32r: fix arch/m32r/lib/memset.S

m32r-fix-for-use-of-mappi-pcc.patch
m32r: fix for use of Mappi PCC

uml-fix-ptrace-hang-on-269-host-due-to-host-changes.patch
uml: fix ptrace() hang on 2.6.9 host due to host changes

uml-some-comments-about-forcing-bin-bash.patch
uml - some comments about forcing /bin/bash

uml-add-startup-check-for-mmapprot_exec-from-tmp.patch
uml: add startup check for mmap(...PROT_EXEC...) from /tmp.

uml-fix-syscall-auditing.patch
uml: fix syscall auditing

uml-fix-symbol-conflict-in-linking.patch
uml: fix symbol conflict in linking

uml-cleanup-header-names.patch
uml: cleanup header names

uml-remove-useless-inclusion.patch
uml: remove useless inclusion

uml-no-duplicate-current_thread-definition.patch
uml: no duplicate current_thread definition

uml-mconsole_proc-simplify-and-partial-fix.patch
uml: mconsole_proc simplify and partial fix

uml-catch-eintr-in-generic_console_write.patch
uml: catch EINTR in generic_console_write

uml-remove-sigprof-from-change_signals.patch
uml: remove SIGPROF from change_signals

umluse-kallsyms-when-dumping-stack.patch
Subject: [patch 12/20] uml:use kallsyms when dumping stack

uml-revert-compile-only-changes-for-other-ones.patch
Uml: revert compile-only changes for other ones

uml-fix-sysemu-test-at-startup.patch
uml: fix sysemu test at startup

uml-more-careful-test-startup.patch
uml-more-careful-test-startup

uml-use-ptrace_sysemu-also-for-tt-mode.patch
uml: use PTRACE_SYSEMU also for TT mode

uml-lots-of-little-fixes-by-jeff-dike.patch
uml: Lots of little fixes by Jeff Dike.

uml-clear-errno-in-catch_eintr.patch
uml: clear errno in CATCH_EINTR

uml-readd-linux-makefile-target-fixes-to-the-old-version.patch
uml: readd linux Makefile target - fixes to the old version.

uml-add-missing-newline-in-help-string.patch
uml: add missing newline in help string

uml-update-atomich-so-uml-builds-cleanly.patch
uml: update atomic.h so UML builds cleanly

uml-handle-signal-api.patch
uml: handle signal api

uml-sysenter-is-syscall.patch
uml: sysenter is syscall

uml-generic-singlestep-syscall.patch
uml: generic singlestep syscall

uml-generic-singlestepping.patch
uml: generic singlestepping

uml-clear-singlestep.patch
uml: clear singlestep

uml-dont-check-nr_syscalls.patch
uml: dont check NR_syscalls

uml-set-dtrace-correctly.patch
uml: set DTRACE correctly

pcmcia-17-device-model-integration.patch
pcmcia-17: device model integration

pcmcia-module_refcount-oops-fix.patch
pcmcia: module_refcount oops fix

pcmcia-18a-client_t-and-pcmcia_device-integration.patch
pcmcia-18a: client_t and pcmcia_device integration

pcmcia-18b-error-on-leftover-devices.patch
pcmcia-18b: error on leftover devices

pcmcia-19-netdevice-integration.patch
pcmcia-19: netdevice integration

kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix
kgdb buffer overflow fix
kgdbL warning fix
kgdb: CONFIG_DEBUG_INFO fix
x86_64 fixes
correct kgdb.txt Documentation link (against 2.6.1-rc1-mm2)
kgdb: fix for recent gcc
kgdb warning fixes
THREAD_SIZE fixes for kgdb
Fix stack overflow test for non-8k stacks
kgdb-ga.patch fix for i386 single-step into sysenter
fix TRAP_BAD_SYSCALL_EXITS on i386
add TRAP_BAD_SYSCALL_EXITS config for i386

kgdb-is-incompatible-with-kprobes.patch
kgdb-is-incompatible-with-kprobes

kgdboe-netpoll.patch
kgdb-over-ethernet via netpoll
kgdboe: fix configuration of MAC address

kgdb-x86_64-support.patch
kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
kgdb-x86_64-warning-fixes

kgdb-x86_64-fix.patch
kgdb-x86_64-fix

kgdb-x86_64-serial-fix.patch
kgdb-x86_64-serial-fix

kprobes-exception-notifier-fix-kgdb-x86_64.patch
kprobes exception notifier fix

kgdb-ia64-support.patch
IA64 kgdb support
ia64 kgdb repair and cleanup
ia64 kgdb fix

kgdb-ia64-fixes.patch
kgdb: ia64 fixes

fix-cpm2-uart-driver-device-number-brain-damage.patch
Fix CPM2 uart driver device number brain damage

invalidate_inodes-speedup.patch
invalidate_inodes speedup
more invalidate_inodes speedup fixes

dev-mem-restriction-patch.patch
/dev/mem restriction patch

dev-mem-restriction-patch-allow-reads.patch
dev-mem-restriction-patch: allow reads

jbd-remove-livelock-avoidance.patch
JBD: remove livelock avoidance code in journal_dirty_data()

journal_add_journal_head-debug.patch
journal_add_journal_head-debug

list_del-debug.patch
list_del debug check

unplug-can-sleep.patch
unplug functions can sleep

firestream-warnings.patch
firestream warnings

perfctr-core.patch
perfctr: core

perfctr-i386.patch
perfctr: i386

perfctr-prescott-fix.patch
Prescott fix for perfctr

perfctr-x86_64.patch
perfctr: x86_64

perfctr-ppc.patch
perfctr: PowerPC

perfctr-ppc32-mmcr0-handling-fixes.patch
perfctr ppc32 MMCR0 handling fixes

perfctr-virtualised-counters.patch
perfctr: virtualised counters

perfctr-remap_page_range-fix.patch

virtual-perfctr-illegal-sleep.patch
virtual perfctr illegal sleep

make-perfctr_virtual-default-in-kconfig-match-recommendation.patch
Make PERFCTR_VIRTUAL default in Kconfig match recommendation in help text

perfctr-ifdef-cleanup.patch
perfctr ifdef cleanup

perfctr-update-2-6-kconfig-related-updates.patch
perfctr: Kconfig-related updates

perfctr-ppc32-preliminary-interrupt-support.patch
perfctr ppc32 preliminary interrupt support

perfctr-update-5-6-reduce-stack-usage.patch
perfctr: reduce stack usage

perfctr-interrupt-support-kconfig-fix.patch
perfctr interrupt_support Kconfig fix

perfctr-low-level-documentation.patch
perfctr low-level documentation

perfctr-inheritance-1-3-driver-updates.patch
perfctr inheritance: driver updates

perfctr-inheritance-2-3-kernel-updates.patch
perfctr inheritance: kernel updates

perfctr-inheritance-3-3-documentation-updates.patch
perfctr inheritance: documentation updates

perfctr-inheritance-locking-fix.patch
perfctr inheritance locking fix

perfctr-api-changes-first-step.patch
perfctr API changes: first step

perfctr-x86-64-ia32-emulation-fix.patch
perfctr x86-64 ia32 emulation fix

perfctr-ppc32-update.patch
perfctr ppc32 update

sched-more-agressive-wake_idle.patch
sched: more agressive wake_idle()

sched-can_migrate-exception-for-idle-cpus.patch
sched: can_migrate exception for idle cpus

sched-newidle-fix.patch
sched: newidle fix

sched-active_load_balance-fixlet.patch
sched: active_load_balance() fixlet

sched-reset-cache_hot_time.patch
sched: reset cache_hot_time

add-do_proc_doulonglongvec_minmax-to-sysctl-functions.patch
Add do_proc_doulonglongvec_minmax to sysctl functions

add-do_proc_doulonglongvec_minmax-to-sysctl-functions-fix.patch
add-do_proc_doulonglongvec_minmax-to-sysctl-functions-fix

add-sysctl-interface-to-sched_domain-parameters.patch
Add sysctl interface to sched_domain parameters

preempt-smp.patch
improve preemption on SMP

preempt-smp-_raw_read_trylock-bias-fix.patch
preempt-smp _raw_read_trylock bias fix

preempt-cleanup.patch
preempt cleanup

preempt-cleanup-fix.patch
preempt-cleanup-fix

add-lock_need_resched.patch
add lock_need_resched()

sched-add-cond_resched_softirq.patch
sched: add cond_resched_softirq()

sched-ext3-fix-scheduling-latencies-in-ext3.patch
sched: ext3: fix scheduling latencies in ext3

break-latency-in-invalidate_list.patch
break latency in invalidate_list()

sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent.patch
sched: vfs: fix scheduling latencies in prune_dcache() and select_parent()

sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent-fix.patch
sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent fix

sched-net-fix-scheduling-latencies-in-netstat.patch
sched: net: fix scheduling latencies in netstat

sched-net-fix-scheduling-latencies-in-__release_sock.patch
sched: net: fix scheduling latencies in __release_sock

sched-mm-fix-scheduling-latencies-in-unmap_vmas.patch
sched: mm: fix scheduling latencies in unmap_vmas()

sched-mm-fix-scheduling-latencies-in-get_user_pages.patch
sched: mm: fix scheduling latencies in get_user_pages()

sched-mm-fix-scheduling-latencies-in-filemap_sync.patch
sched: mm: fix scheduling latencies in filemap_sync()

fix-keventd-execution-dependency.patch
fix keventd execution dependency

sched-fix-scheduling-latencies-in-mttrc.patch
sched: fix scheduling latencies in mttr.c

sched-fix-scheduling-latencies-in-vgaconc.patch
sched: fix scheduling latencies in vgacon.c

sched-fix-scheduling-latencies-for-preempt-kernels.patch
sched: fix scheduling latencies for !PREEMPT kernels

idle-thread-preemption-fix.patch
idle thread preemption fix

oprofile-smp_processor_id-fixes.patch
oprofile smp_processor_id() fixes

fix-smp_processor_id-warning-in-numa_node_id.patch
Fix smp_processor_id() warning in numa_node_id()

remove-the-bkl-by-turning-it-into-a-semaphore.patch
remove the BKL by turning it into a semaphore

cpu_down-warning-fix.patch
cpu_down() warning fix

vmtrunc-truncate_count-not-atomic.patch
vmtrunc: truncate_count not atomic

vmtrunc-restore-unmap_vmas-zap_bytes.patch
vmtrunc: restore unmap_vmas zap_bytes

vmtrunc-unmap_mapping_range_tree.patch
vmtrunc: unmap_mapping_range_tree

vmtrunc-unmap_mapping-dropping-i_mmap_lock.patch
vmtrunc: unmap_mapping dropping i_mmap_lock

vmtrunc-vm_truncate_count-race-caution.patch
vmtrunc: vm_truncate_count race caution

vmtrunc-bug-if-page_mapped.patch
vmtrunc: bug if page_mapped

vmtrunc-restart_addr-in-truncate_count.patch
vmtrunc: restart_addr in truncate_count

v4l-mxb-driver-and-i2c-helper-cleanup.patch
v4l: mxb driver and i2c helper cleanup

v4l-keep-tvaudio-driver-away-from-saa7146.patch
v4l: keep tvaudio driver away from saa7146

meye-module-related-fixes.patch
meye: module related fixes

meye-replace-homebrew-queue-with-kfifo.patch
meye: replace homebrew queue with kfifo

meye-picture-depth-is-in-bits-not-in-bytes.patch
meye: picture depth is in bits not in bytes

meye-do-lock-properly-when-waiting-for-buffers.patch
meye: do lock properly when waiting for buffers

meye-implement-non-blocking-access-using-poll.patch
meye: implement non blocking access using poll()

meye-cleanup-init-exit-paths.patch
meye: cleanup init/exit paths

meye-the-driver-is-no-longer-experimental-and-depends-on-pci.patch
meye: the driver is no longer experimental and depends on PCI

meye-module-parameters-documentation-fixes.patch
meye: module parameters documentation fixes

meye-add-v4l2-support.patch
meye: add v4l2 support

meye-whitespace-and-coding-style-cleanups.patch
meye: whitespace and coding style cleanups

meye-bump-up-the-version-number.patch
meye: bump up the version number

meye-cache-the-camera-settings-in-the-driver.patch
meye: cache the camera settings in the driver

sonypi-documentation-fixes.patch
From: Stelian Pop <[email protected]>
Subject: [PATCH] sonypi: documentation fixes

pcmcia-network-drivers-cleanup.patch
From: Stelian Pop <[email protected]>
Subject: [PATCH RESEND] pcmcia network drivers cleanup

videodev2h-patchlet.patch
From: Stelian Pop <[email protected]>
Subject: [PATCH RESEND] videodev2.h patchlet

linux-2.6.8.1-49-rpc_workqueue.patch
nfs: RPC: Convert rpciod into a work queue for greater flexibility

linux-2.6.8.1-50-rpc_queue_lock.patch
nfs: RPC: Remove the rpc_queue_lock global spinlock

allow-modular-ide-pnp.patch
allow modular ide-pnp

allow-x86_64-to-reenable-interrupts-on-contention.patch
Allow x86_64 to reenable interrupts on contention

i386-cpu-hotplug-updated-for-mm.patch
i386 CPU hotplug updated for -mm

serialize-access-to-ide-devices.patch
serialize access to ide devices

disable-atykb-warning.patch
disable atykb "too many keys pressed" warning

export-file_ra_state_init-again.patch
Export file_ra_state_init() again

cachefs-filesystem.patch
CacheFS filesystem

cachefs-release-search-records-lest-they-return-to-haunt-us.patch
CacheFS: release search records lest they return to haunt us

fix-64-bit-problems-in-cachefs.patch
Fix 64-bit problems in cachefs

cachefs-fixed-typos-that-cause-wrong-pointer-to-be-kunmapped.patch
cachefs: fixed typos that cause wrong pointer to be kunmapped

cachefs-return-the-right-error-upon-invalid-mount.patch
CacheFS: return the right error upon invalid mount

fix-cachefs-barrier-handling-and-other-kernel-discrepancies.patch
Fix CacheFS barrier handling and other kernel discrepancies

remove-error-from-linux-cachefsh.patch
Remove #error from linux/cachefs.h

cachefs-warning-fix-2.patch
cachefs warning fix 2

cachefs-linkage-fix-2.patch
cachefs linkage fix

cachefs-build-fix.patch
cachefs build fix

cachefs-documentation.patch
CacheFS documentation

add-page-becoming-writable-notification.patch
Add page becoming writable notification

provide-a-filesystem-specific-syncable-page-bit.patch
Provide a filesystem-specific sync'able page bit

provide-a-filesystem-specific-syncable-page-bit-fix.patch
provide-a-filesystem-specific-syncable-page-bit-fix

provide-a-filesystem-specific-syncable-page-bit-fix-2.patch
provide-a-filesystem-specific-syncable-page-bit-fix-2

make-afs-use-cachefs.patch
Make AFS use CacheFS

afs-cachefs-dependency-fix.patch
afs-cachefs-dependency-fix

split-general-cache-manager-from-cachefs.patch
Split general cache manager from CacheFS

turn-cachefs-into-a-cache-backend.patch
Turn CacheFS into a cache backend

rework-the-cachefs-documentation-to-reflect-fs-cache-split.patch
Rework the CacheFS documentation to reflect FS-Cache split

update-afs-client-to-reflect-cachefs-split.patch
Update AFS client to reflect CacheFS split

assign_irq_vector-section-fix.patch
assign_irq_vector __init section fix

kexec-i8259-shutdowni386.patch
kexec: i8259-shutdown.i386

kexec-i8259-shutdown-x86_64.patch
kexec: x86_64 i8259 shutdown

kexec-apic-virtwire-on-shutdowni386patch.patch
kexec: apic-virtwire-on-shutdown.i386.patch

kexec-apic-virtwire-on-shutdownx86_64.patch
kexec: apic-virtwire-on-shutdown.x86_64

kexec-ioapic-virtwire-on-shutdowni386.patch
kexec: ioapic-virtwire-on-shutdown.i386

kexec-ioapic-virtwire-on-shutdownx86_64.patch
kexec: ioapic-virtwire-on-shutdown.x86_64

kexec-e820-64bit.patch
kexec: e820-64bit

kexec-kexec-generic.patch
kexec: kexec-generic

kexec-ide-spindown-fix.patch
kexec-ide-spindown-fix

kexec-ifdef-cleanup.patch
kexec ifdef cleanup

kexec-machine_shutdownx86_64.patch
kexec: machine_shutdown.x86_64

kexec-kexecx86_64.patch
kexec: kexec.x86_64

kexec-kexecx86_64-4level-fix.patch
kexec-kexecx86_64-4level-fix

kexec-machine_shutdowni386.patch
kexec: machine_shutdown.i386

kexec-kexeci386.patch
kexec: kexec.i386

kexec-use_mm.patch
kexec: use_mm

kexec-loading-kernel-from-non-default-offset.patch
kexec: loading kernel from non-default offset

kexec-loading-kernel-from-non-default-offset-fix.patch
kdump: fix bss compile error

kexec-enabling-co-existence-of-normal-kexec-kernel-and-panic-kernel.patch
kexec: nabling co-existence of normal kexec kernel and panic kernel

crashdump-documentation.patch
crashdump: documentation

crashdump-memory-preserving-reboot-using-kexec.patch
crashdump: memory preserving reboot using kexec

crashdump-routines-for-copying-dump-pages.patch
crashdump: routines for copying dump pages

crashdump-kmap-build-fix.patch
crashdump kmap build fix

crashdump-register-snapshotting-before-kexec-boot.patch
crashdump: register snapshotting before kexec boot

crashdump-elf-format-dump-file-access.patch
crashdump: ELF format dump file access

crashdump-linear-raw-format-dump-file-access.patch
crashdump: linear/raw format dump file access

crashdump-minor-bug-fixes-to-kexec-crashdump-code.patch
crashdump: minor bug fixes to kexec crashdump code

crashdump-cleanups-to-the-kexec-based-crashdump-code.patch
crashdump: cleanups to the kexec based crashdump code

new-bitmap-list-format-for-cpusets.patch
new bitmap list format (for cpusets)

cpusets-big-numa-cpu-and-memory-placement.patch
cpusets - big numa cpu and memory placement

cpusets-fix-cpuset_get_dentry.patch
cpusets : fix cpuset_get_dentry()

cpusets-fix-race-in-cpuset_add_file.patch
cpusets: fix race in cpuset_add_file()

cpusets-remove-more-casts.patch
cpusets: remove more casts

cpusets-make-config_cpusets-the-default-in-sn2_defconfig.patch
cpusets: make CONFIG_CPUSETS the default in sn2_defconfig

cpusets-document-proc-status-allowed-fields.patch
cpusets: document proc status allowed fields

cpusets-dont-export-proc_cpuset_operations.patch
Cpusets - Dont export proc_cpuset_operations

cpusets-display-allowed-masks-in-proc-status.patch
cpusets: display allowed masks in proc status

cpusets-simplify-cpus_allowed-setting-in-attach.patch
cpusets: simplify cpus_allowed setting in attach

cpusets-remove-useless-validation-check.patch
cpusets: remove useless validation check

cpusets-config_cpusets-depends-on-smp.patch
Cpusets: CONFIG_CPUSETS depends on SMP

cpusets-tasks-file-simplify-format-fixes.patch
Cpusets tasks file: simplify format, fixes

cpusets-simplify-memory-generation.patch
Cpusets: simplify memory generation

cpusets-interoperate-with-hotplug-online-maps.patch
cpusets: interoperate with hotplug online maps

cpusets-alternative-fix-for-possible-race-in.patch
cpusets: alternative fix for possible race in cpuset_tasks_read()

cpusets-remove-casts.patch
cpusets: remove void* typecasts

reiser4-sb_sync_inodes.patch
reiser4: vfs: add super_operations.sync_inodes()

reiser4-sb_sync_inodes-cleanup.patch
reiser4-sb_sync_inodes-cleanup

reiser4-allow-drop_inode-implementation.patch
reiser4: export vfs inode.c symbols

reiser4-allow-drop_inode-implementation-cleanup.patch
reiser4-allow-drop_inode-implementation-cleanup

reiser4-truncate_inode_pages_range.patch
reiser4: vfs: add truncate_inode_pages_range()

reiser4-truncate_inode_pages_range-cleanup.patch
reiser4-truncate_inode_pages_range-cleanup

reiser4-export-remove_from_page_cache.patch
reiser4: export pagecache add/remove functions to modules

reiser4-export-page_cache_readahead.patch
reiser4: export page_cache_readahead to modules

reiser4-reget-page-mapping.patch
reiser4: vfs: re-check page->mapping after calling try_to_release_page()

reiser4-rcu-barrier.patch
reiser4: add rcu_barrier() synchronization point

reiser4-rcu-barrier-fix.patch
reiser4-rcu-barrier fix

reiser4-export-inode_lock.patch
reiser4: export inode_lock to modules

reiser4-export-inode_lock-cleanup.patch
reiser4-export-inode_lock-cleanup

reiser4-export-pagevec-funcs.patch
reiser4: export pagevec functions to modules

reiser4-export-pagevec-funcs-cleanup.patch
reiser4-export-pagevec-funcs-cleanup

reiser4-export-radix_tree_preload.patch
reiser4: export radix_tree_preload() to modules

reiser4-radix-tree-tag.patch
reiser4: add new radix tree tag

reiser4-radix_tree_lookup_slot.patch
reiser4: add radix_tree_lookup_slot()

reiser4-aliased-dir.patch
reiser4: vfs: handle aliased directories

reiser4-kobject-umount-race.patch
reiser4: introduce filesystem kobjects

reiser4-kobject-umount-race-cleanup.patch
reiser4-kobject-umount-race-cleanup

reiser4-perthread-pages.patch
reiser4: per-thread page pools

reiser4-unstatic-kswapd.patch
reiser4: make kswapd() unstatic for debug

reiser4-include-reiser4.patch
reiser4: add to build system

reiser4-4kstacks-fix.patch
resier4-4kstacks-fix

stop-reiser4-from-turning-itself-on-by-default.patch
Stop reiser4 from turning itself on by default

reiser4-doc.patch
reiser4: documentation

reiser4-doc-update.patch
Update Documentation/Changes for reiser4

reiser4-only.patch
reiser4: main fs

reiser4-rename-key_init.patch
reiser4: rename key_init

reiser4-cond_resched-build-fix.patch
reiser4: cond_resched() build fix

reiser4-debug-build-fix.patch
reiser4-debug-build-fix

reiser4-prefetch-warning-fix.patch
reiser4: prefetch warning fix

reiser4-mode-fix.patch
reiser4: mode type fix

reiser4-get_context_ok-warning-fixes.patch
reiser4: get_context_ok() warning fixes

reiser4-remove-debug.patch
resier4: remove debug stuff

reiser4-spinlock-debugging-build-fix-2.patch
reiser4-spinlock-debugging-build-fix-2

reiser4-sparc64-build-fix.patch
reiser4 sparc64 build fix

sys_reiser4-sparc64-build-fix.patch
sys_reiser4 sparc64 build fix

reiser4-printk-warning-fixes.patch
reiser4 printk warning fixes

reiser4-generic_acl-fix.patch
reiser4: generic_acl fix

reiser4-plugin_set_done-memleak-fix.patch
reiser4 plugin_set_done-memleak-fix.patch

reiser4-init-max_atom_flusers.patch
reiser4 init-max_atom_flusers.patch

reiser4-parse-options-reduce-stack-usage.patch
reiser4 parse-options-reduce-stack-usage.patch

reiser4-sparce64-warning-fix.patch
reiser4 sparc64-warning-fix.patch

reiser4-hardirq-build-fix.patch
resiser4: hardirq.h build fix

reiser4-x86_64-warning-fix.patch
reiser4 x86_64-warning-fix.patch

reiser4-fix-mount-option-parsing.patch
reiser4 fix-mount-option-parsing.patch

reiser4-parse-option-cleanup.patch
reiser4 parse-option-cleanup.patch

reiser4-comment-fix.patch
reiser4 comment-fix.patch

reiser4-fill_super-improve-warning.patch
reiser4 fill_super-improve-warning.patch

reiser4-disable-pseudo.patch
reiser4 disable-pseudo.patch

reiser4-disable-repacker.patch
reiser4 disable-repacker.patch

add-acpi-based-floppy-controller-enumeration.patch
Add ACPI-based floppy controller enumeration.

add-acpi-based-floppy-controller-enumeration-fix.patch
add-acpi-based-floppy-controller-enumeration fix

update-acpi-floppy-enumeration.patch
update ACPI floppy enumeration

floppy-acpi-enumeration-update.patch
floppy ACPI enumeration update

possible-dcache-bug-debugging-patch.patch
Possible dcache BUG: debugging patch

3c59x-pm-fix.patch
3c59x: enable power management unconditionally

3c59x-missing-pci_disable_device.patch
3c59x: missing pci_disable_device

3c59x-use-netdev_priv.patch
3c59x: use netdev_priv

3c59x-make-use-of-generic_mii_ioctl.patch
3c59x: Make use of generic_mii_ioctl

3c59x-vortex-select-mii.patch
3c59x: VORTEX select MII

3c59x-reload-eeprom-values-at-rmmod-for-needy-cards.patch
3c59x: reload EEPROM values at rmmod for needy cards

3c59x-remove-eeprom_reset-for-3c905b.patch
3c59x: remove EEPROM_RESET for 3c905B

3c59x-support-more-ethtool_ops.patch
3c59x: support more ethtool_ops

serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
serial: add support for non-standard XTALs to 16c950 driver

add-support-for-possio-gcc-aka-pcmcia-siemens-mc45.patch
Add support for Possio GCC AKA PCMCIA Siemens MC45

serial-8250-receive-lockup-fix.patch
serial: 8250 receive lockup fix

new-serial-flow-control.patch
new serial flow control

early-uart-console-support.patch
early uart console support

move-hcdp-pcdp-to-early-uart-console.patch
move HCDP/PCDP to early uart console

mpsc-driver-patch.patch
serial: MPSC driver

vm-pageout-throttling.patch
vm: pageout throttling

revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
revert "allow OEM written modules to make calls to ia64 OEM SAL functions"

md-add-interface-for-userspace-monitoring-of-events.patch
md: add interface for userspace monitoring of events.

fix-for-spurious-interrupts-on-e100-resume-2.patch
Fix for spurious interrupts on e100 resume 2

thinkpad-fnfx-key-driver.patch
thinkpad fn+fx key driver

make-acpi_bus_register_driver-consistent-with-pci_register_driver-again.patch
make acpi_bus_register_driver() consistent with pci_register_driver()

make-acpi_bus_register_driver-consistent-with-pci_register_driver-again-warning-fix.patch
make-acpi_bus_register_driver-consistent-with-pci_register_driver-again-warning-fix

enforce-a-gap-between-heap-and-stack.patch
Enforce a gap between heap and stack

remove-lock_section-from-x86_64-spin_lock-asm.patch
remove LOCK_SECTION from x86_64 spin_lock asm

kfree_skb-dump_stack.patch
kfree_skb-dump_stack

for-mm-only-remove-remap_page_range-completely.patch
vm: for -mm only: remove remap_page_range() completely

cancel_rearming_delayed_work.patch
cancel_rearming_delayed_work()

make-cancel_rearming_delayed_workqueue-static.patch
make cancel_rearming_delayed_workqueue static

ipvs-deadlock-fix.patch
ipvs deadlock fix

remove-journal-callback-code-from-jbd.patch
remove journal callback code from jbd

minimal-ide-disk-updates.patch
Minimal ide-disk updates

no-buddy-bitmap-patch-revist-intro-and-includes.patch
no buddy bitmap patch revist: intro and includes

no-buddy-bitmap-patch-revisit-for-mm-page_allocc.patch
no buddy bitmap patch revisit: for mm/page_alloc.c

no-buddy-bitmap-patch-revisit-for-mm-page_allocc-fix.patch
no-buddy-bitmap-patch-revisit-for-mm-page_allocc fix

no-buddy-bitmap-patch-revist-for-ia64.patch
no buddy bitmap patch revist: for ia64

no-buddy-bitmap-patch-revist-for-ia64-fix.patch
no-buddy-bitmap-patch-revist-for-ia64 fix

use-find_trylock_page-in-free_swap_and_cache-instead-of-hand-coding.patch
use find_trylock_page in free_swap_and_cache instead of hand coding

dio-handle-eof.patch
direct-IO: handle EOF
dio-handle-eof fix

o_direct-fix-again.patch
O_DIRECT fix again

fbcon-do-not-touch-hardware-if-vc_mode-=-kd_text.patch
fbcon: Do not touch hardware if vc_mode != KD_TEXT

fbdev-fix-access-to-rom-in-aty128fb.patch
fbdev: Fix access to ROM in aty128fb

fbdev-fix-io-access-in-rivafb.patch
fbdev: Fix IO access in rivafb

fbcon-add-box-drawing-glyphs-to-6x11-font.patch
fbcon: Add box drawing glyphs to 6x11 font

fbdev-fix-source-copy-bug-in-neofb.patch
fbdev: Fix source copy bug in neofb

fbcon-fbdev-remove-fbcon-specific-fields-from-struct-fb_info.patch
fbcon/fbdev: Remove fbcon-specific fields from struct fb_info

fbdev-atyfb_basec-requires-atyfb_cursor.patch
fbdev: atyfb_base.c requires atyfb_cursor()

fix-atyfb-cursor-problems.patch
fbdev: Fix atyfb cursor problems

fbdev-set-correct-mclk-xclk-values-for-aty-in-ibook.patch
fbdev: Set correct mclk/xclk values for aty in ibook

fbdev-check-for-intialized-flag-before-registration-in-matroxfb.patch
fbdev: Check for intialized flag before registration in matroxfb

fbcon-do-not-touch-hardware-if-vc_mode-=-kd_text-fix.patch
fbcon: "Do not touch hardware if vc_mode != KD_TEXT: fix

remove-two-leftover-asm-linux_logoh-files.patch
remove two leftover <asm/linux_logo.h> files

fbdev-intelfb-code-cleanup.patch
fbdev: intelfb code cleanup

fbcon-another-fix-for-fbcon-generic-blanking-code.patch
fbcon: Another fix for fbcon generic blanking code

md-fix-problem-with-md-linear-for-devices-larger-than-2-terabytes.patch
md: fix problem with md/linear for devices larger than 2 terabytes

md-fix-raid6-problem.patch
md: fix raid6 problem

md-delete-unplug-timer-before-shutting-down-md-array.patch
md: delete unplug timer before shutting down md array

md-delete-unplug-timer-before-shutting-down-md-array-cleanup.patch
md-delete-unplug-timer-before-shutting-down-md-array-cleanup

md-faulty-personality.patch
md: "Faulty" personality

dont-ignore-try_stop_module-return.patch
Don't ignore try_stop_module return

figure-out-who-is-inserting-bogus-modules.patch
Figure out who is inserting bogus modules

proc-kcore-enable-disable.patch
/proc/kcore - enable/disable.

use-mmiowb-in-qla1280c.patch
use mmiowb in qla1280.c

yenta_socketc-fix-missing-pci_disable_dev.patch
yenta_socket.c: Fix missing pci_disable_dev

yenta-dont-enable-read-prefetch-on-older-o2-bridges.patch
yenta: don't enable read prefetch on older o2 bridges.

via8231-support-for-parallel-port-driver.patch
VIA8231 support for parallel port driver

via8231-support-for-parallel-port-driver-warning-fix.patch
via8231-support-for-parallel-port-driver warning fix

fix-altsysrq-deadlock.patch
fix alt-sysrq deadlock

sysrq-n-changes-rt-tasks-to-normal.patch
SysRq-n changes RT tasks to normal

cputime-introduce-cputime.patch
cputime: introduce cputime

cputime-introduce-cputime-fix.patch
cputime-introduce-cputime fix

cputime-fix-do_setitimer.patch
cputime: fix do_setitimer.

cputime-missing-pieces.patch
cputime: missing pieces.

fix-bug-in-i2o_iop_systab_set-where-address-is-used-instead.patch
fix bug in i2o_iop_systab_set where address is used instead of length

detect-atomic-counter-underflows.patch
detect atomic counter underflows

lock-initializer-unifying-batch-2-alpha.patch
Lock initializer unifying: ALPHA

lock-initializer-unifying-batch-2-ia64.patch
Lock initializer unifying: IA64

lock-initializer-unifying-batch-2-m32r.patch
Lock initializer unifying: M32R

lock-initializer-unifying-batch-2-mips.patch
Lock initializer unifying: MIPS

lock-initializer-unifying-batch-2-misc-drivers.patch
Lock initializer unifying: Misc drivers

lock-initializer-unifying-batch-2-block-devices.patch
Lock initializer unifying: Block devices

lock-initializer-unifying-batch-2-bluetooth.patch
Lock initializer unifying: Bluetooth

lock-initializer-unifying-batch-2-drm.patch
Lock initializer unifying: DRM

lock-initializer-unifying-batch-2-character-devices.patch
Lock initializer unifying: character devices

lock-initializer-unifying-batch-2-rio.patch
Lock initializer unifying: RIO

lock-initializer-unifying-batch-2-firewire.patch
Lock initializer unifying: Firewire

lock-initializer-unifying-batch-2-isdn.patch
Lock initializer unifying: ISDN

lock-initializer-unifying-batch-2-raid.patch
Lock initializer unifying: Raid

lock-initializer-unifying-batch-2-media-drivers.patch
Lock initializer unifying: media drivers

lock-initializer-unifying-batch-2-pci.patch
Lock initializer unifying: PCI

lock-initializer-unifying-batch-2-scsi.patch
Lock initializer unifying: SCSI

lock-initializer-unifying-batch-2-drivers-serial.patch
Lock initializer unifying: drivers/serial

lock-initializer-unifying-batch-2-filesystems.patch
Lock initializer unifying: Filesystems

lock-initializer-unifying-batch-2-video.patch
Lock initializer unifying: Video

lock-initializer-unifying-batch-2-networking.patch
Lock initializer unifying: Networking

lock-initializer-unifying-batch-2-sound.patch
Lock initializer unifying: sound

remove-duplicate-safe_for_readread_buffer-entry-in-scsi_ioctlc.patch
Subject: [PATCH] Remove duplicate safe_for_read(READ_BUFFER) entry in scsi_ioctl.c

remove-unused-lookup_mnt-export.patch
remove unused lookup_mnt export

kprobes-minor-i386-changes-required-for-porting-kprobes-to-x86_64.patch
kprobes: Minor i386 changes required for porting kprobes to x86_64

kprobes-kprobes-ported-to-x86_64.patch
kprobes: kprobes ported to x86_64

kprobes-minor-changes-for-sparc64.patch
kprobes: Minor changes for sparc64

maintainer-vfs-email.patch
maintainer vfs email

fix-ext3_dx_readdir.patch
Fix ext3_dx_readdir

remove-dead-kernel_map_pages-export.patch
remove dead kernel_map_pages export

reove-dead-exports-from-randomc.patch
remove dead exports from random.c

unexport-do_settimeofday.patch
unexport do_settimeofday

minor-fix-of-rcu-documentation.patch
Minor fix of RCU documentation

documentation-remove-drivers-char-readmecomputone.patch
documentation: Remove drivers/char/README.computone

documentation-remove-drivers-char-readmecyclomy.patch
documentation: Remove drivers/char/README.cyclomY

documentation-remove-drivers-char-readmeecpa.patch
documentation: Remove drivers/char/README.ecpa

documentation-remove-drivers-char-readmescc.patch
documentation: Remove drivers/char/README.scc

tipar-documentation-tipartxt-cleanup.patch
tipar: Documentation/tipar.txt cleanup

ramdisk-correction-to-documentation-kernel-parameterstxt.patch
ramdisk: Correction to Documentation/kernel-parameters.txt

fix-building-of-samba-userland.patch
Fix building of samba userland

use-add_hotplug_env_var-in-firmware-loader.patch
Use add_hotplug_env_var() in firmware loader

add-__kernel__-to-linux-crc-ccitth.patch
Add __KERNEL__ to <linux/crc-ccitt.h>

remove-module_parm-from-allyesconfig-almost.patch
Remove MODULE_PARM from allyesconfig (almost)

convert-module_parm-to-module_param-family.patch
convert MODULE_PARM() to module_param() family

more-module_parm-conversions.patch
more MODULE_PARM conversions




2004-11-05 09:41:42

by Lorenzo Allegrucci

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Friday 05 November 2004 09:13, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/

------------[ cut here ]------------
kernel BUG at mm/memory.c:156!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: ipv6 tun dm_mod emu10k1 sound soundcore ac97_codec unix
CPU: 0
EIP: 0060:[clear_page_range+276/304] Not tainted VLI
EFLAGS: 00010206 (2.6.10-rc1-mm3)
EIP is at clear_page_range+0x114/0x130
eax: daffc000 ebx: 00483fff ecx: c03b7088 edx: daffc000
esi: 00000000 edi: 00080000 ebp: dca51ed0 esp: dca51ea8
ds: 007b es: 007b ss: 0068
Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
Stack: 00000000 00004000 dca51ef0 c0144fdb daffc000 daffc000 00000000 00483fff
00000000 00080000 dca51ef0 c0149131 c03b7088 00000000 00483fff c5eee8e0
00084000 00080000 dca51f28 c014928b c03b7088 00000000 00080000 00084000
Call Trace:
[show_stack+127/160] show_stack+0x7f/0xa0
[show_registers+346/448] show_registers+0x15a/0x1c0
[die+240/400] die+0xf0/0x190
[do_invalid_op+256/272] do_invalid_op+0x100/0x110
[error_code+43/48] error_code+0x2b/0x30
[free_pgtables+129/160] free_pgtables+0x81/0xa0
[unmap_region+155/224] unmap_region+0x9b/0xe0
[do_munmap+283/416] do_munmap+0x11b/0x1a0
[sys_shmdt+199/352] sys_shmdt+0xc7/0x160
[sys_ipc+521/576] sys_ipc+0x209/0x240
[syscall_call+7/11] syscall_call+0x7/0xb
Code: 00 eb db 89 54 24 0c c7 44 24 08 70 00 00 00 c7 44 24 04 fc 04 2e c0 c7 04 24 3e d1 2d c0 e8 84 45 fd ff c7 03 00 00 00 00 eb 81 <0f> 0b 9c 00 fc 04 2e c0 e9 22 ff ff ff eb 0d 90 90 90 90 90 90
<6>note: shmt04[4854] exited with preempt_count 1
scheduling while atomic: shmt04/0x00000001/4854
[dump_stack+30/32] dump_stack+0x1e/0x20
[schedule+1306/1312] schedule+0x51a/0x520
[rwsem_down_read_failed+146/464] rwsem_down_read_failed+0x92/0x1d0
[.text.lock.exit+107/231] .text.lock.exit+0x6b/0xe7
[die+391/400] die+0x187/0x190
[do_invalid_op+256/272] do_invalid_op+0x100/0x110
[error_code+43/48] error_code+0x2b/0x30
[free_pgtables+129/160] free_pgtables+0x81/0xa0
[unmap_region+155/224] unmap_region+0x9b/0xe0
[do_munmap+283/416] do_munmap+0x11b/0x1a0
[sys_shmdt+199/352] sys_shmdt+0xc7/0x160
[sys_ipc+521/576] sys_ipc+0x209/0x240
[syscall_call+7/11] syscall_call+0x7/0xb
------------[ cut here ]------------
kernel BUG at mm/memory.c:156!
invalid operand: 0000 [#2]
PREEMPT
Modules linked in: ipv6 tun dm_mod emu10k1 sound soundcore ac97_codec unix
CPU: 0
EIP: 0060:[clear_page_range+276/304] Not tainted VLI
EFLAGS: 00010206 (2.6.10-rc1-mm3)
EIP is at clear_page_range+0x114/0x130
eax: c1849000 ebx: 00483fff ecx: c03b7088 edx: c1849000
esi: 00000000 edi: 00080000 ebp: dd937ed0 esp: dd937ea8
ds: 007b es: 007b ss: 0068
Process shmt06 (pid: 4857, threadinfo=dd937000 task=dd0be0e0)
Stack: 00000000 00004000 dd937ef0 c0144fdb c1849000 c1849000 00000000 00483fff
00000000 00080000 dd937ef0 c0149131 c03b7088 00000000 00483fff c5eee4a0
00084000 00080000 dd937f28 c014928b c03b7088 00000000 00080000 00084000
Call Trace:
[show_stack+127/160] show_stack+0x7f/0xa0
[show_registers+346/448] show_registers+0x15a/0x1c0
[die+240/400] die+0xf0/0x190
[do_invalid_op+256/272] do_invalid_op+0x100/0x110
[error_code+43/48] error_code+0x2b/0x30
[free_pgtables+129/160] free_pgtables+0x81/0xa0
[unmap_region+155/224] unmap_region+0x9b/0xe0
[do_munmap+283/416] do_munmap+0x11b/0x1a0
[sys_shmdt+199/352] sys_shmdt+0xc7/0x160
[sys_ipc+521/576] sys_ipc+0x209/0x240
[syscall_call+7/11] syscall_call+0x7/0xb
Code: 00 eb db 89 54 24 0c c7 44 24 08 70 00 00 00 c7 44 24 04 fc 04 2e c0 c7 04 24 3e d1 2d c0 e8 84 45 fd ff c7 03 00 00 00 00 eb 81 <0f> 0b 9c 00 fc 04 2e c0 e9 22 ff ff ff eb 0d 90 90 90 90 90 90
<6>note: shmt06[4857] exited with preempt_count 1
scheduling while atomic: shmt06/0x00000001/4857
[dump_stack+30/32] dump_stack+0x1e/0x20
[schedule+1306/1312] schedule+0x51a/0x520
[rwsem_down_read_failed+146/464] rwsem_down_read_failed+0x92/0x1d0
[.text.lock.exit+107/231] .text.lock.exit+0x6b/0xe7
[die+391/400] die+0x187/0x190
[do_invalid_op+256/272] do_invalid_op+0x100/0x110
[error_code+43/48] error_code+0x2b/0x30
[free_pgtables+129/160] free_pgtables+0x81/0xa0
[unmap_region+155/224] unmap_region+0x9b/0xe0
[do_munmap+283/416] do_munmap+0x11b/0x1a0
[sys_shmdt+199/352] sys_shmdt+0xc7/0x160
[sys_ipc+521/576] sys_ipc+0x209/0x240
[syscall_call+7/11] syscall_call+0x7/0xb

--
I route therefore you are

2004-11-05 10:16:52

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Andrew Morton <[email protected]> wrote:

> - Added Andi's 4-level-pagetable patches. It's tested on x86, x86_64, ia64
> and ppc64. These are fairly intrusive patches and I'll probably push them
> upstream soon.

make it compile on x86 with !REGPARM (default):

Signed-off-by: Ingo Molnar <[email protected]>

--- linux/arch/i386/mm/pgtable.c.orig
+++ linux/arch/i386/mm/pgtable.c
@@ -221,7 +221,7 @@ void pgd_dtor(void *pgd, kmem_cache_t *c
spin_unlock_irqrestore(&pgd_lock, flags);
}

-pgd_t *__pgd_alloc(struct mm_struct *mm, pml4_t *pml4, unsigned long address)
+pgd_t fastcall *__pgd_alloc(struct mm_struct *mm, pml4_t *pml4, unsigned long address)
{
int i;
pgd_t *pgd = kmem_cache_alloc(pgd_cache, GFP_KERNEL);

2004-11-05 10:18:40

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Lorenzo Allegrucci <[email protected]> wrote:
>
> On Friday 05 November 2004 09:13, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
>
> ------------[ cut here ]------------
> kernel BUG at mm/memory.c:156!
> invalid operand: 0000 [#1]
> PREEMPT
> Modules linked in: ipv6 tun dm_mod emu10k1 sound soundcore ac97_codec unix
> CPU: 0
> EIP: 0060:[clear_page_range+276/304] Not tainted VLI
> EFLAGS: 00010206 (2.6.10-rc1-mm3)
> EIP is at clear_page_range+0x114/0x130
> eax: daffc000 ebx: 00483fff ecx: c03b7088 edx: daffc000
> esi: 00000000 edi: 00080000 ebp: dca51ed0 esp: dca51ea8
> ds: 007b es: 007b ss: 0068
> Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)

hm, I thought I ran ltp. Andi, this is due to the 4level patches. I can
reproduce it with non-PAE x86. But testing was interrupted by the apparent
suicide of an IDE disk :(

2004-11-05 10:21:10

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Lorenzo Allegrucci <[email protected]> wrote:

> On Friday 05 November 2004 09:13, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
>
> ------------[ cut here ]------------
> kernel BUG at mm/memory.c:156!

> Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)

reproducible here too, just running LTP's shmt04 directly triggers it
immediately. Looks like there's interaction of 4-level pagetables with
ipc/shm.c or mm/shmem.c.

Ingo

2004-11-05 10:45:51

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 11:22:04AM +0100, Ingo Molnar wrote:
>
> * Lorenzo Allegrucci <[email protected]> wrote:
>
> > On Friday 05 November 2004 09:13, Andrew Morton wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
> >
> > ------------[ cut here ]------------
> > kernel BUG at mm/memory.c:156!
>
> > Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
>
> reproducible here too, just running LTP's shmt04 directly triggers it
> immediately. Looks like there's interaction of 4-level pagetables with
> ipc/shm.c or mm/shmem.c.

I tested LTP at one point on i386/x86-64 and and it didn't oops for me.
Perhaps I messed up a later merge. Will investigate.

-Andi

2004-11-05 10:48:37

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 02:17:58AM -0800, Andrew Morton wrote:
> Lorenzo Allegrucci <[email protected]> wrote:
> >
> > On Friday 05 November 2004 09:13, Andrew Morton wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
> >
> > ------------[ cut here ]------------
> > kernel BUG at mm/memory.c:156!
> > invalid operand: 0000 [#1]
> > PREEMPT
> > Modules linked in: ipv6 tun dm_mod emu10k1 sound soundcore ac97_codec unix
> > CPU: 0
> > EIP: 0060:[clear_page_range+276/304] Not tainted VLI
> > EFLAGS: 00010206 (2.6.10-rc1-mm3)
> > EIP is at clear_page_range+0x114/0x130
> > eax: daffc000 ebx: 00483fff ecx: c03b7088 edx: daffc000
> > esi: 00000000 edi: 00080000 ebp: dca51ed0 esp: dca51ea8
> > ds: 007b es: 007b ss: 0068
> > Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
>
> hm, I thought I ran ltp. Andi, this is due to the 4level patches. I can
> reproduce it with non-PAE x86. But testing was interrupted by the apparent
> suicide of an IDE disk :(

Ok, I think that was a BUG_ON I added later to check for something.
I think problem is that last is off by one at this point. That is ok.
I think it's safe to just remove it.

I will do a non PAE i386 LTP run with this now. Lorenzo can you
check it solves the problem for you?

-Andi

Remove bogus BUG_ON.

Signed-off-by: Andi Kleen <[email protected]>


diff -u linux-2.6.10rc1-mm3/mm/memory.c-o linux-2.6.10rc1-mm3/mm/memory.c
--- linux-2.6.10rc1-mm3/mm/memory.c-o 2004-11-05 11:42:00.000000000 +0100
+++ linux-2.6.10rc1-mm3/mm/memory.c 2004-11-05 11:45:37.000000000 +0100
@@ -153,7 +153,6 @@
return;
}
BUG_ON(addr & ~PGDIR_MASK);
- BUG_ON(end & ~PGDIR_MASK);
pgd_start = pml4_pgd_offset(pml4, addr);
free = 0;
pgd = pgd_start;


2004-11-05 10:57:25

by Con Kolivas

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

It's life Jim but not as we know it...


This happened during modprobe of alsa modules. Keyboard still alive,
everything else dead; not even sysrq would do anything, netconsole had
no output, luckily this made it to syslog:

Nov 5 21:39:27 pc kernel: Unable to handle kernel paging request at
virtual address f8c00000
Nov 5 21:39:27 pc kernel: printing eip:
Nov 5 21:39:27 pc kernel: c02bddce
Nov 5 21:39:27 pc kernel: *pde = 00000000
Nov 5 21:39:27 pc kernel: Oops: 0002 [#1]
Nov 5 21:39:27 pc kernel: PREEMPT SMP
Nov 5 21:39:27 pc kernel: Modules linked in: soundcore intel_agp
agpgart bttv video_buf firmware_class i2c_algo_bit btcx_risc i2c_core us
blp ehci_hcd uhci_hcd
Nov 5 21:39:27 pc kernel: CPU: 0
Nov 5 21:39:27 pc kernel: EIP: 0060:[<c02bddce>] Not tainted VLI
Nov 5 21:39:27 pc kernel: EFLAGS: 00010246 (2.6.10-rc1-mm3)
Nov 5 21:39:27 pc kernel: EIP is at __lock_text_end+0xbe3/0x119a
Nov 5 21:39:27 pc kernel: eax: 00000000 ebx: 000a151a ecx: 0002851a
edx: b7c82008
Nov 5 21:39:27 pc kernel: esi: b7cfb008 edi: f8c00000 ebp: f6c1c000
esp: f6c1cf14
Nov 5 21:39:27 pc kernel: ds: 007b es: 007b ss: 0068
Nov 5 21:39:27 pc kernel: Process modprobe (pid: 955,
threadinfo=f6c1c000 task=f76ef530)
Nov 5 21:39:27 pc kernel: Stack: 00000002 0002851a f8b87000 b7c82008
c01d2a10 b7c82008 000a151a 08049410
Nov 5 21:39:27 pc kernel: c012f697 00000000 00000001 00008000
00000000 00000000 c1707400 f6a41580
Nov 5 21:39:27 pc kernel: f58c4ac4 f58c4ac4 00000046 00000000
f6a41580 00000246 00000246 00000000
Nov 5 21:39:27 pc kernel: Call Trace:
Nov 5 21:39:27 pc kernel: [<c01d2a10>] copy_from_user+0x29/0x4d
Nov 5 21:39:27 pc kernel: [<c012f697>] load_module+0x73/0x916
Nov 5 21:39:27 pc kernel: [<c0142007>] do_munmap+0x10e/0x11c
Nov 5 21:39:27 pc kernel: [<c012ff87>] sys_init_module+0x4d/0x207
Nov 5 21:39:27 pc kernel: [<c0104b31>] sysenter_past_esp+0x52/0x71
Nov 5 21:39:27 pc kernel: Code: 88 00 51 50 31 c0 f3 aa 58 59 e9 75 4b
f1 ff 01 c1 e9 a9 4b f1 ff 8d 4c 88 00 e9 a0 4b f1 ff 01 c1 eb 04
8d 4c 88 00 51 50 31 c0 <f3> aa 58 59 e9 d1 4b f1 ff ba f2 ff ff ff e9
60 96 f1 ff b9 f2

*__lock_text_end+0xbe3: hidden in inlined functions

*copy_from_user+0x29: hidden in inlined functions

*load_module+0x73:
0xc012f697 is in load_module (kernel/module.c:1457).
1452 /* Suck in entire file: we'll want most of it. */
1453 /* vmalloc barfs on "unusual" numbers. Check here */
1454 if (len > 64 * 1024 * 1024 || (hdr = vmalloc(len)) == NULL)
1455 return ERR_PTR(-ENOMEM);
1456 if (copy_from_user(hdr, umod, len) != 0) {
1457 err = -EFAULT;

*do_munmap+0x10e:
0xc0142007 is in do_munmap (mm/mmap.c:1753).
1748 spin_unlock(&mm->page_table_lock);
1749
1750 /* Fix up all other VM information */
1751 unmap_vma_list(mm, mpnt);
1752
1753 return 0;

*sys_init_module+0x4d: inlined

*sysenter_past_esp+0x52:
0xc0104b31 is at arch/i386/kernel/entry.S:243.
238 testb
$(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),TI_flags(%ebp)
239 jnz syscall_trace_entry
240 cmpl $(nr_syscalls), %eax
241 jae syscall_badsys
242 call *sys_call_table(,%eax,4)
243 movl %eax,EAX(%esp)


Con


Attachments:
signature.asc (256.00 B)
OpenPGP digital signature

2004-11-05 11:11:53

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Ingo Molnar <[email protected]> wrote:

> > ------------[ cut here ]------------
> > kernel BUG at mm/memory.c:156!
>
> > Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
>
> reproducible here too, just running LTP's shmt04 directly triggers it
> immediately. Looks like there's interaction of 4-level pagetables with
> ipc/shm.c or mm/shmem.c.

due to the PML4 feature, the clear_page_tables() function changed to
clear_page_range(), changing its (first,size) argument to (first,last).
Normally it's called with (0,TASK_SIZE) which normally is PML4-aligned,
but in the (relatively rare) do_munmap() use this is not the case. We
correctly calculate the range that could be cleared, but it's not
PML4_SIZE aligned.

The solution is to clip both 'first' and 'last' to PML4_SIZE boundary.
Since when we calculate 'first' we add at least +PML4_SIZE to the value,
it is safe to clip 'first'. It is obviously safe to clip 'last'.

The patch below implements this fix - it boots & works fine and shmt04
doesnt crash anymore. Andi, do you agree with this fix?

Ingo

Signed-off-by: Ingo Molnar <[email protected]>

--- linux/mm/mmap.c.orig
+++ linux/mm/mmap.c
@@ -1545,7 +1545,7 @@ no_mmaps:
}
if (pml4_index(last) > start_pml4_index ||
pgd_index(last) > start_pgd_index) {
- clear_page_range(tlb, first, last);
+ clear_page_range(tlb, first & PML4_MASK, last & PML4_MASK);
flush_tlb_pgtables(mm, first & PML4_MASK, last & PML4_MASK);
}
}

2004-11-05 11:12:38

by Michael Baehr

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On 2004-11-05 04:17:23 -0600 Ingo Molnar <[email protected]> wrote:

>
> * Andrew Morton <[email protected]> wrote:
>
>> - Added Andi's 4-level-pagetable patches. It's tested on x86,
>> x86_64, ia64
>> and ppc64. These are fairly intrusive patches and I'll probably
>> push them
>> upstream soon.
>
> make it compile on x86 with !REGPARM (default):
>
> Signed-off-by: Ingo Molnar <[email protected]>
>
> --- linux/arch/i386/mm/pgtable.c.orig
> +++ linux/arch/i386/mm/pgtable.c
> @@ -221,7 +221,7 @@ void pgd_dtor(void *pgd, kmem_cache_t *c
> spin_unlock_irqrestore(&pgd_lock, flags);
> }
>
> -pgd_t *__pgd_alloc(struct mm_struct *mm, pml4_t *pml4, unsigned long
> address)
> +pgd_t fastcall *__pgd_alloc(struct mm_struct *mm, pml4_t *pml4,
> unsigned
> long address)
> {
> int i;
> pgd_t *pgd = kmem_cache_alloc(pgd_cache, GFP_KERNEL);
> -

I was about to whine to LKML about how I couldn't build rc1-mm3 until
I saw your patch. This fixes it. Thank you :)

Cheers,

- Mike

2004-11-05 11:17:54

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 12:09:51PM +0100, Ingo Molnar wrote:
>
> * Ingo Molnar <[email protected]> wrote:
>
> > > ------------[ cut here ]------------
> > > kernel BUG at mm/memory.c:156!
> >
> > > Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
> >
> > reproducible here too, just running LTP's shmt04 directly triggers it
> > immediately. Looks like there's interaction of 4-level pagetables with
> > ipc/shm.c or mm/shmem.c.
>
> due to the PML4 feature, the clear_page_tables() function changed to
> clear_page_range(), changing its (first,size) argument to (first,last).
> Normally it's called with (0,TASK_SIZE) which normally is PML4-aligned,
> but in the (relatively rare) do_munmap() use this is not the case. We
> correctly calculate the range that could be cleared, but it's not
> PML4_SIZE aligned.

I think just removing the BUG_ON is easier. I sent a patch for that
to Andrew.

> The solution is to clip both 'first' and 'last' to PML4_SIZE boundary.
> Since when we calculate 'first' we add at least +PML4_SIZE to the value,
> it is safe to clip 'first'. It is obviously safe to clip 'last'.

It's a bit tricky because on 3level architectures it clips on
PGDs, not PML4s, otherwise it would never free any pagetables.
But the if()s check that correctly.

-Andi

2004-11-05 11:21:15

by Russell King

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 12:09:51PM +0100, Ingo Molnar wrote:
> due to the PML4 feature, the clear_page_tables() function changed to
> clear_page_range(), changing its (first,size) argument to (first,last).
> Normally it's called with (0,TASK_SIZE) which normally is PML4-aligned,
> but in the (relatively rare) do_munmap() use this is not the case. We
> correctly calculate the range that could be cleared, but it's not
> PML4_SIZE aligned.

If PML4 is the outer page table (god I hate that confusing name) then
this is going to break ARM.

"first" needs to be able to handle being set to virtual address 0x8000
since, for some CPUs, it is absolutely vital that we keep the first
_page_ of memory mapped, but user executables are loaded at 0x8000.

Note that the PGD increment is 2MB on ARM.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core

2004-11-05 11:24:52

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Andi Kleen <[email protected]> wrote:

> > The solution is to clip both 'first' and 'last' to PML4_SIZE boundary.
> > Since when we calculate 'first' we add at least +PML4_SIZE to the value,
> > it is safe to clip 'first'. It is obviously safe to clip 'last'.
>
> It's a bit tricky because on 3level architectures it clips on PGDs,
> not PML4s, otherwise it would never free any pagetables. But the
> if()s check that correctly.

indeed ... But in the do_munmap() case we dont even clip to PGD
boundary. So shouldnt we at least do the patch below?

Ingo

--- linux/mm/mmap.c.orig
+++ linux/mm/mmap.c
@@ -1545,7 +1545,7 @@ no_mmaps:
}
if (pml4_index(last) > start_pml4_index ||
pgd_index(last) > start_pgd_index) {
- clear_page_range(tlb, first & PML4_MASK, last & PML4_MASK);
+ clear_page_range(tlb, first & PGDIR_MASK, last & PGDIR_MASK);
flush_tlb_pgtables(mm, first & PML4_MASK, last & PML4_MASK);
}
}

2004-11-05 11:36:51

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

> "first" needs to be able to handle being set to virtual address 0x8000
> since, for some CPUs, it is absolutely vital that we keep the first
> _page_ of memory mapped, but user executables are loaded at 0x8000.
>
> Note that the PGD increment is 2MB on ARM.

I think I handled the ARM hac^wcase correctly, but I wasn't able to test it
(hint hint). Even with Ingo's changes it would still work because
of the guarding ifs.

-Andi

2004-11-05 11:52:21

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

> indeed ... But in the do_munmap() case we dont even clip to PGD
> boundary. So shouldnt we at least do the patch below?

It shouldn't be needed. The functions below the pgd level ignore
the additional bits because they always free whole levels.

-Andi

2004-11-05 11:54:47

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Con Kolivas <[email protected]> writes:

> It's life Jim but not as we know it...
>
>
> This happened during modprobe of alsa modules. Keyboard still alive,
> everything else dead; not even sysrq would do anything, netconsole had
> no output, luckily this made it to syslog:

I just tested modprobing of alsa (snd_intel8x0) and it works for me.
Also vmalloc must work at least to some point.

Can you confirm it's really caused by 4level by reverting all the
4level-* patches from broken out?

-Andi

2004-11-05 12:17:07

by Con Kolivas

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Andi Kleen wrote:
> Con Kolivas <[email protected]> writes:
>
>
>>It's life Jim but not as we know it...
>>
>>
>>This happened during modprobe of alsa modules. Keyboard still alive,
>>everything else dead; not even sysrq would do anything, netconsole had
>>no output, luckily this made it to syslog:
>
>
> I just tested modprobing of alsa (snd_intel8x0) and it works for me.
> Also vmalloc must work at least to some point.
>
> Can you confirm it's really caused by 4level by reverting all the
> 4level-* patches from broken out?

I dont recall blaming 4level. When I get a chance I'll try.

Cheers,
Con


Attachments:
signature.asc (256.00 B)
OpenPGP digital signature

2004-11-05 12:16:59

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


next problem: the x64 kernel doesnt boot 32-bit userspace anymore. I'm
getting an endless stream of segfaults:

Freeing unused kernel memory: 148k freed
kjournald starting. Commit interval 5 seconds
hotplug[890]: segfault at 00000000fffe6000 rip 000000004217aab1 rsp 00000000ffffd434 error 4
hotplug[891]: segfault at 00000000fffe6000 rip 000000004217aab1 rsp 00000000ffffd434 error 4
init[1]: segfault at 00000000fffe6000 rip 000000004217aab1 rsp 00000000ffffd484 error 4
init[1]: segfault at 00000000fffe6000 rip 000000004217aab1 rsp 00000000ffffd484 error 4
init[1]: segfault at 00000000fffe6000 rip 000000004217aab1 rsp 00000000ffffd484 error 4

full bootlog and .config attached. Same .config produced a working
64-bit kernel on 2.6.10-rc1-mm2.

Ingo


Attachments:
(No filename) (760.00 B)
bootlog (15.85 kB)
config (20.13 kB)
Download all attachments

2004-11-05 12:23:25

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 11:16:24PM +1100, Con Kolivas wrote:
> Andi Kleen wrote:
> >Con Kolivas <[email protected]> writes:
> >
> >
> >>It's life Jim but not as we know it...
> >>
> >>
> >>This happened during modprobe of alsa modules. Keyboard still alive,
> >>everything else dead; not even sysrq would do anything, netconsole had
> >>no output, luckily this made it to syslog:
> >
> >
> >I just tested modprobing of alsa (snd_intel8x0) and it works for me.
> >Also vmalloc must work at least to some point.
> >
> >Can you confirm it's really caused by 4level by reverting all the
> >4level-* patches from broken out?
>
> I dont recall blaming 4level. When I get a chance I'll try.

I can reproduce it now using a forced big vmalloc. It's probably
4level. Debugging...

-Andi

2004-11-05 12:22:34

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 01:15:28PM +0100, Ingo Molnar wrote:
>
> next problem: the x64 kernel doesnt boot 32-bit userspace anymore. I'm
> getting an endless stream of segfaults:

I bet that is caused by the flexmmap TASK_SIZE changes. Can you revert
the 64bit flexmmap patch and see if that helps?

I tested it before flexmmap and it worked for me.

-Andi

2004-11-05 12:37:10

by Lorenzo Allegrucci

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Friday 05 November 2004 11:48, Andi Kleen wrote:
> On Fri, Nov 05, 2004 at 02:17:58AM -0800, Andrew Morton wrote:
> > Lorenzo Allegrucci <[email protected]> wrote:
> > >
> > > On Friday 05 November 2004 09:13, Andrew Morton wrote:
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
> > >
> > > ------------[ cut here ]------------
> > > kernel BUG at mm/memory.c:156!
> > > invalid operand: 0000 [#1]
> > > PREEMPT
> > > Modules linked in: ipv6 tun dm_mod emu10k1 sound soundcore ac97_codec unix
> > > CPU: 0
> > > EIP: 0060:[clear_page_range+276/304] Not tainted VLI
> > > EFLAGS: 00010206 (2.6.10-rc1-mm3)
> > > EIP is at clear_page_range+0x114/0x130
> > > eax: daffc000 ebx: 00483fff ecx: c03b7088 edx: daffc000
> > > esi: 00000000 edi: 00080000 ebp: dca51ed0 esp: dca51ea8
> > > ds: 007b es: 007b ss: 0068
> > > Process shmt04 (pid: 4854, threadinfo=dca51000 task=de374510)
> >
> > hm, I thought I ran ltp. Andi, this is due to the 4level patches. I can
> > reproduce it with non-PAE x86. But testing was interrupted by the apparent
> > suicide of an IDE disk :(
>
> Ok, I think that was a BUG_ON I added later to check for something.
> I think problem is that last is off by one at this point. That is ok.
> I think it's safe to just remove it.
>
> I will do a non PAE i386 LTP run with this now. Lorenzo can you
> check it solves the problem for you?
>
> -Andi
>
> Remove bogus BUG_ON.
>
> Signed-off-by: Andi Kleen <[email protected]>
>
>
> diff -u linux-2.6.10rc1-mm3/mm/memory.c-o linux-2.6.10rc1-mm3/mm/memory.c
> --- linux-2.6.10rc1-mm3/mm/memory.c-o 2004-11-05 11:42:00.000000000 +0100
> +++ linux-2.6.10rc1-mm3/mm/memory.c 2004-11-05 11:45:37.000000000 +0100
> @@ -153,7 +153,6 @@
> return;
> }
> BUG_ON(addr & ~PGDIR_MASK);
> - BUG_ON(end & ~PGDIR_MASK);
> pgd_start = pml4_pgd_offset(pml4, addr);
> free = 0;
> pgd = pgd_start;
>
>

The above patch solves the problem for me.

--
I route therefore you are

2004-11-05 12:57:48

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Friday 05 of November 2004 13:22, Andi Kleen wrote:
> On Fri, Nov 05, 2004 at 01:15:28PM +0100, Ingo Molnar wrote:
> >
> > next problem: the x64 kernel doesnt boot 32-bit userspace anymore. I'm
> > getting an endless stream of segfaults:
>
> I bet that is caused by the flexmmap TASK_SIZE changes. Can you revert
> the 64bit flexmmap patch and see if that helps?
>
> I tested it before flexmmap and it worked for me.

If it's not changed from the version that went to [email protected], flexmmap
breaks 32-bit user land on x86-64. I've already reported it.

Greets,
RJW

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2004-11-05 13:08:20

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 01:57:12PM +0100, Rafael J. Wysocki wrote:
> On Friday 05 of November 2004 13:22, Andi Kleen wrote:
> > On Fri, Nov 05, 2004 at 01:15:28PM +0100, Ingo Molnar wrote:
> > >
> > > next problem: the x64 kernel doesnt boot 32-bit userspace anymore. I'm
> > > getting an endless stream of segfaults:
> >
> > I bet that is caused by the flexmmap TASK_SIZE changes. Can you revert
> > the 64bit flexmmap patch and see if that helps?
> >
> > I tested it before flexmmap and it worked for me.
>
> If it's not changed from the version that went to [email protected], flexmmap
> breaks 32-bit user land on x86-64. I've already reported it.

It didn't for me when I tested it without 4levels.

-Andi

2004-11-05 13:22:39

by Andi Kleen

[permalink] [raw]
Subject: [PATCH] Fix for vmalloc problem was Re: 2.6.10-rc1-mm3

On Fri, Nov 05, 2004 at 11:16:24PM +1100, Con Kolivas wrote:
> Andi Kleen wrote:
> >Con Kolivas <[email protected]> writes:
> >
> >
> >>It's life Jim but not as we know it...
> >>
> >>
> >>This happened during modprobe of alsa modules. Keyboard still alive,
> >>everything else dead; not even sysrq would do anything, netconsole had
> >>no output, luckily this made it to syslog:
> >
> >
> >I just tested modprobing of alsa (snd_intel8x0) and it works for me.
> >Also vmalloc must work at least to some point.
> >
> >Can you confirm it's really caused by 4level by reverting all the
> >4level-* patches from broken out?
>
> I dont recall blaming 4level. When I get a chance I'll try.

This patch should fix it. Can you please test? Thanks.

-Andi

Fix silly typo in mm/vmalloc.c and some minor cleanups.

Signed-off-by: Andi Kleen <[email protected]>


diff -up linux-2.6.10rc1-mm3/mm/vmalloc.c-o linux-2.6.10rc1-mm3/mm/vmalloc.c
--- linux-2.6.10rc1-mm3/mm/vmalloc.c-o 2004-11-05 11:42:00.000000000 +0100
+++ linux-2.6.10rc1-mm3/mm/vmalloc.c 2004-11-05 14:10:04.000000000 +0100
@@ -98,7 +98,6 @@ static void unmap_area_pgd(pml4_t *pml4,
}

pgd = pml4_pgd_offset_k(pml4, address);
- address &= ~PML4_MASK;
end = address + size;

do {
@@ -114,8 +113,8 @@ static int map_area_pte(pte_t *pte, unsi
{
unsigned long end;

- address &= ~PMD_MASK;
end = address + size;
+ address &= ~PMD_MASK;
if (end > PMD_SIZE)
end = PMD_SIZE;

@@ -187,7 +186,7 @@ void unmap_vm_area(struct vm_struct *are
flush_cache_vunmap(address, end);
for (i = pml4_index(address); i <= pml4_index(end-1); i++) {
next = (address + PML4_SIZE) & PML4_MASK;
- if (next <= address || next > end)
+ if (next < address || next > end)
next = end;
unmap_area_pgd(pml4, address, next - address);
address = next;
@@ -213,7 +212,7 @@ int map_vm_area(struct vm_struct *area,
err = -ENOMEM;
break;
}
- next = (address + PGDIR_SIZE) & PGDIR_MASK;
+ next = (address + PML4_SIZE) & PML4_MASK;
if (next < address || next > end)
next = end;
if (map_area_pgd(pgd, address, next, prot, pages)) {

2004-11-05 13:30:15

by Con Kolivas

[permalink] [raw]
Subject: Re: [PATCH] Fix for vmalloc problem was Re: 2.6.10-rc1-mm3

Andi Kleen wrote:
> On Fri, Nov 05, 2004 at 11:16:24PM +1100, Con Kolivas wrote:
>
>>Andi Kleen wrote:
>>
>>>Con Kolivas <[email protected]> writes:
>>>
>>>
>>>
>>>>It's life Jim but not as we know it...
>>>>
>>>>
>>>>This happened during modprobe of alsa modules. Keyboard still alive,
>>>>everything else dead; not even sysrq would do anything, netconsole had
>>>>no output, luckily this made it to syslog:
>>>
>>>
>>>I just tested modprobing of alsa (snd_intel8x0) and it works for me.
>>>Also vmalloc must work at least to some point.
>>>
>>>Can you confirm it's really caused by 4level by reverting all the
>>>4level-* patches from broken out?
>>
>>I dont recall blaming 4level. When I get a chance I'll try.
>
>
> This patch should fix it. Can you please test? Thanks.
>
> -Andi
>
> Fix silly typo in mm/vmalloc.c and some minor cleanups.

Boots fine now thanks.

Con


Attachments:
signature.asc (256.00 B)
OpenPGP digital signature

2004-11-05 13:58:31

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] Fix for vmalloc problem was Re: 2.6.10-rc1-mm3

On Sat, Nov 06, 2004 at 12:29:43AM +1100, Con Kolivas wrote:
> Andi Kleen wrote:
> >On Fri, Nov 05, 2004 at 11:16:24PM +1100, Con Kolivas wrote:
> >
> >>Andi Kleen wrote:
> >>
> >>>Con Kolivas <[email protected]> writes:
> >>>
> >>>
> >>>
> >>>>It's life Jim but not as we know it...
> >>>>
> >>>>
> >>>>This happened during modprobe of alsa modules. Keyboard still alive,
> >>>>everything else dead; not even sysrq would do anything, netconsole had
> >>>>no output, luckily this made it to syslog:
> >>>
> >>>
> >>>I just tested modprobing of alsa (snd_intel8x0) and it works for me.
> >>>Also vmalloc must work at least to some point.
> >>>
> >>>Can you confirm it's really caused by 4level by reverting all the
> >>>4level-* patches from broken out?
> >>
> >>I dont recall blaming 4level. When I get a chance I'll try.
> >
> >
> >This patch should fix it. Can you please test? Thanks.
> >
> >-Andi
> >
> >Fix silly typo in mm/vmalloc.c and some minor cleanups.
>
> Boots fine now thanks.

It broke x86-64 unfortunately. This version should be better and is
simpler. Andrew, if you applied the previous version please replace
with this one.

-Andi

Fix vmalloc overflow with 4levels.

Signed-off-by: Andi Kleen <[email protected]>


diff -up linux-2.6.10rc1-mm3/mm/vmalloc.c-o linux-2.6.10rc1-mm3/mm/vmalloc.c
--- linux-2.6.10rc1-mm3/mm/vmalloc.c-o 2004-11-05 11:42:00.000000000 +0100
+++ linux-2.6.10rc1-mm3/mm/vmalloc.c 2004-11-05 14:49:25.000000000 +0100
@@ -213,7 +213,7 @@ int map_vm_area(struct vm_struct *area,
err = -ENOMEM;
break;
}
- next = (address + PGDIR_SIZE) & PGDIR_MASK;
+ next = (address + PML4_SIZE) & PML4_MASK;
if (next < address || next > end)
next = end;
if (map_area_pgd(pgd, address, next, prot, pages)) {


2004-11-05 16:46:09

by Adrian Bunk

[permalink] [raw]
Subject: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

The following error (compin from Linus' tree) is caused by the fact that
hotplug_path is no longer EXPORT_SYMBOL'ed:


<-- snip -->

if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path

<-- snip -->





2004-11-05 16:53:02

by Adrian Bunk

[permalink] [raw]
Subject: 2.6.10-rc1-mm3: drm_ati_pcigart_{init,cleanup} multiple definition

On Fri, Nov 05, 2004 at 12:13:28AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.10-rc1-mm2:
>...
> bk-drm.patch
>...

This causes the following compile error:

<-- snip -->

...
LD drivers/char/drm/built-in.o
drivers/char/drm/radeon.o(.text+0x120): In function `drm_ati_pcigart_init':
: multiple definition of `drm_ati_pcigart_init'
drivers/char/drm/r128.o(.text+0x120): first defined here
drivers/char/drm/radeon.o(.text+0x350): In function `drm_ati_pcigart_cleanup':
: multiple definition of `drm_ati_pcigart_cleanup'
drivers/char/drm/r128.o(.text+0x350): first defined here
make[3]: *** [drivers/char/drm/built-in.o] Error 1

<-- snip -->


The definition of non-inline functions in drivers/char/drm/ati_pcigart.h
is not a good idea.


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2004-11-05 17:19:33

by Dave Airlie

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: drm_ati_pcigart_{init,cleanup} multiple definition


> ...
> LD drivers/char/drm/built-in.o
> drivers/char/drm/radeon.o(.text+0x120): In function `drm_ati_pcigart_init':
> : multiple definition of `drm_ati_pcigart_init'
> drivers/char/drm/r128.o(.text+0x120): first defined here
> drivers/char/drm/radeon.o(.text+0x350): In function `drm_ati_pcigart_cleanup':
> : multiple definition of `drm_ati_pcigart_cleanup'
> drivers/char/drm/r128.o(.text+0x350): first defined here
> make[3]: *** [drivers/char/drm/built-in.o] Error 1


The latest drm-2.6 tree avoids this I'm working with Jon to see if this
solution is suitable..

It is a leftover from the templated tree, building into the kernel wasn't
noticed until my merge....

Dave.

--
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person

2004-11-05 17:33:48

by [email protected]

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: drm_ati_pcigart_{init,cleanup} multiple definition

On Fri, 5 Nov 2004 17:19:11 +0000 (GMT), Dave Airlie <[email protected]> wrote:
> > LD drivers/char/drm/built-in.o
> > drivers/char/drm/radeon.o(.text+0x120): In function `drm_ati_pcigart_init':
> > : multiple definition of `drm_ati_pcigart_init'

I put a quick fix for this into DRM CVS that moves the two functions
into the drm-core module. Let me know if you want to do anything more
complicated.

--
Jon Smirl
[email protected]

2004-11-05 17:48:11

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Friday 05 of November 2004 14:02, Andi Kleen wrote:
> On Fri, Nov 05, 2004 at 01:57:12PM +0100, Rafael J. Wysocki wrote:
> > On Friday 05 of November 2004 13:22, Andi Kleen wrote:
> > > On Fri, Nov 05, 2004 at 01:15:28PM +0100, Ingo Molnar wrote:
> > > >
> > > > next problem: the x64 kernel doesnt boot 32-bit userspace anymore. I'm
> > > > getting an endless stream of segfaults:
> > >
> > > I bet that is caused by the flexmmap TASK_SIZE changes. Can you revert
> > > the 64bit flexmmap patch and see if that helps?
> > >
> > > I tested it before flexmmap and it worked for me.
> >
> > If it's not changed from the version that went to [email protected],
flexmmap
> > breaks 32-bit user land on x86-64. I've already reported it.
>
> It didn't for me when I tested it without 4levels.

Well, for me it did, on two different boxes, with defconfig, so I think
there's at least something wrong with it.

Greets,
RJW

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2004-11-05 18:07:28

by Adam Heath

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Fri, 5 Nov 2004, Andrew Morton wrote:

>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
>
> +o_direct-fix-again.patch
>
> Hopefully get the direct-io fix done right. Should fix the LVM setup
> problems people have been reporting.

It does for me. First mm kernel that has worked for me since 2.6.9 came out.

Now I can run the RT kernels again.

2004-11-05 18:06:47

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 05:45:23PM +0100, Adrian Bunk wrote:
> The following error (compin from Linus' tree) is caused by the fact that
> hotplug_path is no longer EXPORT_SYMBOL'ed:
>
>
> <-- snip -->
>
> if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
> WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path
>
> <-- snip -->

Hm, must be an -mm specific change that is causing this. I don't see
this in the current tree.

Len, why would any ACPI code be wanting to get access to hotplug_path
directly?

thanks,

greg k-h

2004-11-05 18:10:01

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Friday 05 of November 2004 09:13, Andrew Morton wrote:
>
>
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
>
>
> - Added Andi's 4-level-pagetable patches. It's tested on x86, x86_64, ia64
> and ppc64. These are fairly intrusive patches and I'll probably push them
> upstream soon.
>
> - UML updates, ppc64 updates.
>
> - Should fix a few bugs which people reported in 2.6.10-rc1-mm2.

I get this from "make xconfig" on x86-64 ("make menuconfig" apparently works):

rafael@albercik:/local/src/mm/linux-2.6.10-rc1-mm3> make xconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kconfig_load.o
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTCXX scripts/kconfig/qconf.o
HOSTLD scripts/kconfig/qconf
scripts/kconfig/qconf arch/x86_64/Kconfig
./scripts/kconfig/libkconfig.so: cannot open shared object file: No such file
or directory
make[1]: *** [xconfig] Error 1
make: *** [xconfig] Error 2

Greets,
RJW

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2004-11-05 18:49:20

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: (fix for make xconfig)

On Friday 05 of November 2004 19:07, Rafael J. Wysocki wrote:
> On Friday 05 of November 2004 09:13, Andrew Morton wrote:
> >
> >
>
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/
> >
> >
> > - Added Andi's 4-level-pagetable patches. It's tested on x86, x86_64,
ia64
> > and ppc64. These are fairly intrusive patches and I'll probably push
them
> > upstream soon.
> >
> > - UML updates, ppc64 updates.
> >
> > - Should fix a few bugs which people reported in 2.6.10-rc1-mm2.
>
> I get this from "make xconfig" on x86-64 ("make menuconfig" apparently
works):
>
> rafael@albercik:/local/src/mm/linux-2.6.10-rc1-mm3> make xconfig
> HOSTCC scripts/basic/fixdep
> HOSTCC scripts/basic/split-include
> HOSTCC scripts/basic/docproc
> HOSTCC scripts/kconfig/conf.o
> HOSTCC scripts/kconfig/kconfig_load.o
> HOSTCC scripts/kconfig/mconf.o
> HOSTCC scripts/kconfig/zconf.tab.o
> HOSTCXX scripts/kconfig/qconf.o
> HOSTLD scripts/kconfig/qconf
> scripts/kconfig/qconf arch/x86_64/Kconfig
> ./scripts/kconfig/libkconfig.so: cannot open shared object file: No such
file
> or directory
> make[1]: *** [xconfig] Error 1
> make: *** [xconfig] Error 2

I did this to fix it:

--- scripts/kconfig/Makefile.orig 2004-11-05 19:16:23.000000000 +0100
+++ scripts/kconfig/Makefile 2004-11-05 19:18:08.000000000 +0100
@@ -70,9 +70,11 @@
# Based on GTK which needs to be installed to compile it
# object files used by all kconfig flavours

+libkconfig-objs := zconf.tab.o
+
hostprogs-y := conf mconf qconf gconf
-conf-objs := conf.o zconf.tab.o
-mconf-objs := mconf.o zconf.tab.o
+conf-objs := conf.o libkconfig.so
+mconf-objs := mconf.o libkconfig.so

ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1

Greets,
RJW

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2004-11-05 19:24:47

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: (fix for make xconfig)

On Fri, Nov 05, 2004 at 07:48:32PM +0100, Rafael J. Wysocki wrote:
> > HOSTCXX scripts/kconfig/qconf.o
> > HOSTLD scripts/kconfig/qconf
> > scripts/kconfig/qconf arch/x86_64/Kconfig
> > ./scripts/kconfig/libkconfig.so: cannot open shared object file: No such
> file
> > or directory
> > make[1]: *** [xconfig] Error 1
> > make: *** [xconfig] Error 2
>
> I did this to fix it:
>
> --- scripts/kconfig/Makefile.orig 2004-11-05 19:16:23.000000000 +0100
> +++ scripts/kconfig/Makefile 2004-11-05 19:18:08.000000000 +0100
> @@ -70,9 +70,11 @@
> # Based on GTK which needs to be installed to compile it
> # object files used by all kconfig flavours
>
> +libkconfig-objs := zconf.tab.o
> +
> hostprogs-y := conf mconf qconf gconf
> -conf-objs := conf.o zconf.tab.o
> -mconf-objs := mconf.o zconf.tab.o
> +conf-objs := conf.o libkconfig.so
> +mconf-objs := mconf.o libkconfig.so
>
> ifeq ($(MAKECMDGOALS),xconfig)
> qconf-target := 1

Wrong fix.
I will look into it later tonight.

Sam

2004-11-05 20:10:49

by Kay Sievers

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> On Fri, Nov 05, 2004 at 05:45:23PM +0100, Adrian Bunk wrote:
> > The following error (compin from Linus' tree) is caused by the fact that
> > hotplug_path is no longer EXPORT_SYMBOL'ed:
> >
> >
> > <-- snip -->
> >
> > if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
> > WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path
> >
> > <-- snip -->
>
> Hm, must be an -mm specific change that is causing this. I don't see
> this in the current tree.
>
> Len, why would any ACPI code be wanting to get access to hotplug_path
> directly?


I've found it. This wants to introduce a new direct /sbin/hotplug call,
with "add" and "remove" events, without sysfs support.

It should use class support or kobject_hotplug() instead. Nobody should
fake hotplug events anymore, cause every other notification transport
will not get called (currently uevent over netlink).
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/broken-out/bk-acpi.patch

+static int
+container_run_sbin_hotplug(struct acpi_device *device, char *action)
+{
...
+ argv[i++] = hotplug_path;
+ argv[i++] = "container";
+ argv[i] = NULL;
...
+ i = 0;
+ envp[i++] = "HOME=/";
+ envp[i++] = "PATH=/sbin;/bin;/usr/sbin;/usr/bin";
+ envp[i++] = action_str;
+ envp[i++] = container_str;
+ envp[i++] = "PLATFORM=ACPI";
+ envp[i] = NULL;
...


Thanks,
Kay

2004-11-05 20:38:43

by Ashok Raj

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 12:10:12PM -0800, Kay Sievers wrote:
>
> On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> > > The following error (compin from Linus' tree) is caused by the
> fact that
> > > hotplug_path is no longer EXPORT_SYMBOL'ed:
> > >
> > >
> > > <-- snip -->
> > >
> > > if [ -r System.map ]; then /sbin/depmod -ae -F System.map
> 2.6.10-rc1-mm3; fi
>
> I've found it. This wants to introduce a new direct /sbin/hotplug
> call,
> with "add" and "remove" events, without sysfs support.
>
> It should use class support or kobject_hotplug() instead. Nobody
> should
> fake hotplug events anymore, cause every other notification transport
> will not get called (currently uevent over netlink).
>

we were discussing this exact thing recently.. we maybe able to clean this up.. here is why
we are doing this manual thingy...

When we support physical component hotplug, we want to create the sysfs entries, but that doesnt
mean the component (i.e CPU or memory) is hotplugged. The reason is for node level hotplug
there are sequencing requirements, memory needs to be brought up first before cpu, and also
the error handling/policy requirments which we want the user space to handle it and not from
kernel side.


the sequence is when physical arrival of cpu is seen, we will just create a sysfs entry
which will also send an add event (which really is just cpu arrival, and sysfs created).

In our model the event is just consumed by the script cpu.agent, which would in turn decide and
bring the cpu up by

#echo 1> /sys/devices/system/cpu/cpu#/online

what apps really would care about is the ONLINE (which doesnt exist) event itself, and the
OFFLINE. The ADD/REMOVE only indicate sysfs entries appear and disappear.

I dont know if adding ONLINE/OFFLINE is the right thing, or use the CHANGE notification
to inform.

This is an area that needs more though which is slightly different from how other devices are being handled.

Greg-kh/Rusty .. any suggestions


Cheers,
Ashok Raj
- Linux OS & Technology Team

2004-11-05 20:43:50

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 09:10:12PM +0100, Kay Sievers wrote:
> On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> > On Fri, Nov 05, 2004 at 05:45:23PM +0100, Adrian Bunk wrote:
> > > The following error (compin from Linus' tree) is caused by the fact that
> > > hotplug_path is no longer EXPORT_SYMBOL'ed:
> > >
> > >
> > > <-- snip -->
> > >
> > > if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
> > > WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path
> > >
> > > <-- snip -->
> >
> > Hm, must be an -mm specific change that is causing this. I don't see
> > this in the current tree.
> >
> > Len, why would any ACPI code be wanting to get access to hotplug_path
> > directly?
>
>
> I've found it. This wants to introduce a new direct /sbin/hotplug call,
> with "add" and "remove" events, without sysfs support.
>
> It should use class support or kobject_hotplug() instead. Nobody should
> fake hotplug events anymore, cause every other notification transport
> will not get called (currently uevent over netlink).
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/broken-out/bk-acpi.patch
>
> +static int
> +container_run_sbin_hotplug(struct acpi_device *device, char *action)
> +{
> ...
> + argv[i++] = hotplug_path;
> + argv[i++] = "container";
> + argv[i] = NULL;
> ...
> + i = 0;
> + envp[i++] = "HOME=/";
> + envp[i++] = "PATH=/sbin;/bin;/usr/sbin;/usr/bin";
> + envp[i++] = action_str;
> + envp[i++] = container_str;
> + envp[i++] = "PLATFORM=ACPI";
> + envp[i] = NULL;
> ...

Good catch. Yeah, that code is just wrong.

Anil, your name is on this file. Care to fix it up to use the proper
driver core hotplug functionality instead of rolling your own?

Or is there some reason you are wanting to do this kind of notification
that the driver core is not providing for you?

thanks,

greg k-h

2004-11-05 20:45:30

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 12:32:56PM -0800, Ashok Raj wrote:
> On Fri, Nov 05, 2004 at 12:10:12PM -0800, Kay Sievers wrote:
> >
> > On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> > > > The following error (compin from Linus' tree) is caused by the
> > fact that
> > > > hotplug_path is no longer EXPORT_SYMBOL'ed:
> > > >
> > > >
> > > > <-- snip -->
> > > >
> > > > if [ -r System.map ]; then /sbin/depmod -ae -F System.map
> > 2.6.10-rc1-mm3; fi
> >
> > I've found it. This wants to introduce a new direct /sbin/hotplug
> > call,
> > with "add" and "remove" events, without sysfs support.
> >
> > It should use class support or kobject_hotplug() instead. Nobody
> > should
> > fake hotplug events anymore, cause every other notification transport
> > will not get called (currently uevent over netlink).
> >
>
> we were discussing this exact thing recently.. we maybe able to clean this up.. here is why
> we are doing this manual thingy...
>
> When we support physical component hotplug, we want to create the sysfs entries, but that doesnt
> mean the component (i.e CPU or memory) is hotplugged. The reason is for node level hotplug
> there are sequencing requirements, memory needs to be brought up first before cpu, and also
> the error handling/policy requirments which we want the user space to handle it and not from
> kernel side.
>
>
> the sequence is when physical arrival of cpu is seen, we will just create a sysfs entry
> which will also send an add event (which really is just cpu arrival, and sysfs created).
>
> In our model the event is just consumed by the script cpu.agent, which would in turn decide and
> bring the cpu up by
>
> #echo 1> /sys/devices/system/cpu/cpu#/online
>
> what apps really would care about is the ONLINE (which doesnt exist) event itself, and the
> OFFLINE. The ADD/REMOVE only indicate sysfs entries appear and disappear.
>
> I dont know if adding ONLINE/OFFLINE is the right thing, or use the CHANGE notification
> to inform.

That's fine. But call kobject_hotplug() if you want to do that. Don't
rewrite your own function, or you will loose out on a lot of the hotplug
functionality (sequence numbers, kevent notifications, etc.)

thanks,

greg k-h

2004-11-05 20:47:21

by Kay Sievers

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 12:32:56PM -0800, Ashok Raj wrote:
> On Fri, Nov 05, 2004 at 12:10:12PM -0800, Kay Sievers wrote:
> >
> > On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> > > > The following error (compin from Linus' tree) is caused by the
> > fact that
> > > > hotplug_path is no longer EXPORT_SYMBOL'ed:
> > > >
> > > >
> > > > <-- snip -->
> > > >
> > > > if [ -r System.map ]; then /sbin/depmod -ae -F System.map
> > 2.6.10-rc1-mm3; fi
> >
> > I've found it. This wants to introduce a new direct /sbin/hotplug
> > call,
> > with "add" and "remove" events, without sysfs support.
> >
> > It should use class support or kobject_hotplug() instead. Nobody
> > should
> > fake hotplug events anymore, cause every other notification transport
> > will not get called (currently uevent over netlink).
> >
>
> we were discussing this exact thing recently.. we maybe able to clean this up.. here is why
> we are doing this manual thingy...
>
> When we support physical component hotplug, we want to create the sysfs entries, but that doesnt
> mean the component (i.e CPU or memory) is hotplugged. The reason is for node level hotplug
> there are sequencing requirements, memory needs to be brought up first before cpu, and also
> the error handling/policy requirments which we want the user space to handle it and not from
> kernel side.
>
>
> the sequence is when physical arrival of cpu is seen, we will just create a sysfs entry
> which will also send an add event (which really is just cpu arrival, and sysfs created).
>
> In our model the event is just consumed by the script cpu.agent, which would in turn decide and
> bring the cpu up by
>
> #echo 1> /sys/devices/system/cpu/cpu#/online
>
> what apps really would care about is the ONLINE (which doesnt exist) event itself, and the
> OFFLINE. The ADD/REMOVE only indicate sysfs entries appear and disappear.
>
> I dont know if adding ONLINE/OFFLINE is the right thing, or use the CHANGE notification
> to inform.
>
> This is an area that needs more though which is slightly different from how other devices are being handled.

There is already an "offline" event used for cpu's in drivers/base/cpu.c.
It was recently converted from calling /sbin/hotplug directly :)

ChangeSet: 1.2021
http://linus.bkbits.net:8080/linux-2.5/[email protected]?nav=index.html|src/|src/kernel|related/kernel/cpu.c|[email protected]

Kay

2004-11-06 05:24:31

by Keshavamurthy, Anil S

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 12:42:09PM -0800, Greg KH wrote:
> On Fri, Nov 05, 2004 at 09:10:12PM +0100, Kay Sievers wrote:
> > On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> > > On Fri, Nov 05, 2004 at 05:45:23PM +0100, Adrian Bunk wrote:
> > > > The following error (compin from Linus' tree) is caused by the fact that
> > > > hotplug_path is no longer EXPORT_SYMBOL'ed:
> > > >
> > > >
> > > > <-- snip -->
> > > >
> > > > if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
> > > > WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path
> > > >
> > > > <-- snip -->
> > >
> > > Hm, must be an -mm specific change that is causing this. I don't see
> > > this in the current tree.
> > >
> > > Len, why would any ACPI code be wanting to get access to hotplug_path
> > > directly?
> >
> >
> > I've found it. This wants to introduce a new direct /sbin/hotplug call,
> > with "add" and "remove" events, without sysfs support.
> >
> > It should use class support or kobject_hotplug() instead. Nobody should
> > fake hotplug events anymore, cause every other notification transport
> > will not get called (currently uevent over netlink).
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/broken-out/bk-acpi.patch
> >
> > +static int
> > +container_run_sbin_hotplug(struct acpi_device *device, char *action)
> > +{
> > ...
> > + argv[i++] = hotplug_path;
> > + argv[i++] = "container";
> > + argv[i] = NULL;
> > ...
> > + i = 0;
> > + envp[i++] = "HOME=/";
> > + envp[i++] = "PATH=/sbin;/bin;/usr/sbin;/usr/bin";
> > + envp[i++] = action_str;
> > + envp[i++] = container_str;
> > + envp[i++] = "PLATFORM=ACPI";
> > + envp[i] = NULL;
> > ...
>
> Good catch. Yeah, that code is just wrong.
>
> Anil, your name is on this file. Care to fix it up to use the proper
> driver core hotplug functionality instead of rolling your own?
>
> Or is there some reason you are wanting to do this kind of notification
> that the driver core is not providing for you?
Greg,
Yes, I agree what you say, we need to use class support or kobject_hotplug().
But in this case "a container object" gets added and this container object has
no direct representation in sysfs. So in this case can you please tell me
what is the best thing to notify user.agent. Sorry I had looked some really old examples when I
wrote this driver.

Also, since you have brought this, I have one another question to you.
Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
an "ADD" notification is sent. why is this? I would like to call
kobject_hotplug(kobj, ADD) later.

thanks,
Anil
>
> thanks,
>
> greg k-h

2004-11-06 05:50:38

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Saturday 06 November 2004 12:18 am, Keshavamurthy Anil S wrote:
> Also, since you have brought this, I have one another question to you.
> Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> an "ADD" notification is sent. why is this? I would like to call
> kobject_hotplug(kobj, ADD) later.
>

Hi Anil,

Please take a look at drivers/base/firmware_class.c to see how one can
suppress initial hotplug notification and call hotplug when object is
finally ready. Hopefully you can use similar solution.

--
Dmitry

2004-11-06 07:16:22

by Pasi Savolainen

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

* Andrew Morton <[email protected]>:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/

On 2xSMP

Ran tvtime, exited it (seemingly) OK, but shell didn't return. No
reaction to ^C, however ^Z brought shell back. Killed tvtime and bash
reported that it was terminated. Load went to 1. Did a 'ps aux', which
'hanged' after displaying most of process list. So I straced another
one, which hanged at read() of /proc/<pid>/cmdline (<pid> was of
supposedly dead tvtime). Also, these didn't react to ^C nor ^Z.
kill -9 -1 <pidofdeadtvtime> hanged machine solid.

Found that dump in log later. I know it's not Oops, what is it?

This could be an older issue, I had a 2.6.9-mm1 which suddenly put
load to 1 and never went down from that (it did reboot cleanly into
2.6.10-rc1-mm3).

- -
Nov 6 00:49:27 tienel kernel: c010a4a9
Nov 6 00:49:27 tienel kernel: PREEMPT SMP
Nov 6 00:49:27 tienel kernel: Modules linked in: mga sd_mod sg sr_mod ide_cd cdrom binfmt_misc ipv6 snd_bt87x tuner tvaudio bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc videodev ub e100 ohci_hcd evdev nls_iso8859_1 nls_cp437 vfat fat joydev usbhid usb_storage usbcore scsi_mod amd_k7_agp agpgart snd_ens1371 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc gameport w83781d i2c_sensor i2c_amd756 i2c_core eepro100 mii
Nov 6 00:49:27 tienel kernel: CPU: 0
Nov 6 00:49:27 tienel kernel: EIP: 0060:[dma_free_coherent+41/96] Tainted: P VLI
Nov 6 00:49:27 tienel kernel: EFLAGS: 00210202 (2.6.10-rc1-mm3)
Nov 6 00:49:27 tienel kernel: EIP is at dma_free_coherent+0x29/0x60
Nov 6 00:49:27 tienel kernel: eax: 00000000 ebx: e3bb8000 ecx: e3bb8000 edx: 00000000
Nov 6 00:49:27 tienel kernel: esi: 00000001 edi: e28e911c ebp: f38974c0 esp: cf43ff14
Nov 6 00:49:27 tienel kernel: ds: 007b es: 007b ss: 0068
Nov 6 00:49:27 tienel kernel: Process tvtime (pid: 13513, threadinfo=cf43e000 task=cf736a60)
Nov 6 00:49:27 tienel kernel: Stack: 00000000 e3bb8000 f89c5037 23bb8000 f89fa61e e28e9084 e28e9060 f3897100
Nov 6 00:49:27 tienel kernel: c4fdc17c f8a2fe45 00000000 f77ce8a0 c4fdc17c f89fbb8b c18073c0 ecbf1820
Nov 6 00:49:27 tienel kernel: c4fdc17c c72b8d04 c72b8ce8 c72b8ce8 c72b8d14 f7870880 c014d88f 00000000
Nov 6 00:49:27 tienel kernel: Call Trace:
Nov 6 00:49:27 tienel kernel: [pg0+945811511/1069777920] btcx_riscmem_free+0x37/0x80 [btcx_risc]
Nov 6 00:49:27 tienel kernel: [pg0+946030110/1069777920] videobuf_dma_pci_unmap+0x2e/0x80 [video_buf]
Nov 6 00:49:27 tienel kernel: [pg0+946249285/1069777920] bttv_dma_free+0x55/0x80 [bttv]
Nov 6 00:49:27 tienel kernel: [pg0+946035595/1069777920] videobuf_vm_close+0x8b/0xc0 [video_buf]
Nov 6 00:49:27 tienel kernel: [remove_vm_struct+127/144] remove_vm_struct+0x7f/0x90
Nov 6 00:49:27 tienel kernel: [unmap_vma_list+14/32] unmap_vma_list+0xe/0x20
Nov 6 00:49:27 tienel kernel: [do_munmap+269/320] do_munmap+0x10d/0x140
Nov 6 00:49:27 tienel kernel: [sys_munmap+65/112] sys_munmap+0x41/0x70
Nov 6 00:49:27 tienel kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71
Nov 6 00:49:27 tienel kernel: Code: 00 00 56 31 f6 85 c0 53 89 cb 74 06 8b b0 b8 00 00 00 8d 42 ff ba ff ff ff ff c1 e8 0b 90 8d 74 26 00 4 2 d1 e8 75 fb 85 f6 74 13 <8b> 0e 39 cb 72 0d 8b 46 08 c1 e0 0c 8d 04 08 39 c3 72 09 89 d8
- -


--
Psi -- <http://www.iki.fi/pasi.savolainen>
Vivake -- Virtuaalinen valokuvauskerho <http://members.lycos.co.uk/vivake/>

2004-11-06 09:40:23

by Con Kolivas

[permalink] [raw]

2004-11-06 19:04:22

by Paul Blazejowski

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Andrew,

mm3 oopses right at the startup, below is the captured output from
serial console.

vga=normal
Loading Slackware................................
BIOS data check successful
Linux version 2.6.10-rc1-mm3 (root@blaze) (gcc version 3.3.4) #2 Sat
Nov 6 13:18
:16 EST 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
127MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f5240
DMI 2.3 present.
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 6:10 APIC version 16
ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Enabling APIC mode: Flat. Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Built 1 zonelists
Initializing CPU#0
Kernel command line: BOOT_IMAGE=Slackware ro root=801 video=ve
am:128 console=ttyS0,57600n8 console=tty0 rootflags=quota
CPU 0 irqstacks, hard=c043f000 soft=c043e000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 2204.992 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1035224k/1048512k available (2295k kernel code, 12668k
reserved, 813k da
ta, 184k init, 131008k highmem)
Checking if this processor honours the WP bit even in supervisor
mode... Ok.
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: AMD Athlon(tm) XP 3200+ stepping 00
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
ENABLING IO-AP
..TIMER: vector=0x31 pin1=2 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ... failed.
...trying to set up timer as Virtual Wire IRQ... failed.
...trying to set up timer as ExtINT IRQ... works.
checking if image is initramfs...it isn't (bad gzip magic numbers);
looks like a
n initrd
Freeing initrd memory: 56k freed
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfabc0, last bus=3
PCI: Using configuration type 1
mtrr: v2.0 (2
ACPI: Subsystem revision 20041015
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: nForce2 C1 Halt Disconnect fixup
ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNK4] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 6
ACPI: PCI Interrupt Link [LUBA] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LUBB] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LMAC] (IRQs 3 4 5 6 7 10 11 12 14 15) *9
ACPI: PCI Interrupt Link [LAPU] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LACI] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [LSMB] (IRQs 3 4 5 6 7 10 11 12 14 15) *9
ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 5
ACPI: PCI Interrupt Link [LFIR] (IRQs 3 4 5 6 7 10 11 12 14 15) *9
ACPI: PCI Interrupt Link [L3CM] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [APC1] (IRQs *16), disabled.
ACPI: PCI Interrupt Link [APC2] (IRQs *17), disabled.
ACPI: PCI Interrupt Link [APC3] (IRQs *18), disabled.
ACPI: PCI Interrupt Link [APC4] (IRQs *19), disabled.
ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled.
ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCI] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCS] (IRQs *23), disabled.
ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCM] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [AP3C] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22) *0, disabled.
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
** PCI interrupts are no longer routed automatically. If this
** causes a device to stop working, it is probably because the
** driver failed to call pci_enable_device(). As a temporary
** workaround, the "pci=routeirq" argument restores the old
** behavior. If this argument makes the device work again,
** please email the output of "lspci" to [email protected]
** so I can fix the driver.
Machine check exception polling timer started.
highmem bounce pool size: 64 pages
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SGI XFS with ACLs, realtime, large block numbers, no debug enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
vesafb: probe of vesafb0 failed
ACPI: Power Button (FF) [PWRF]
Unable to handle kernel NULL pointer dereference at virtual address
00000000
printing eip:
c027ff3a
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in:
CPU: 0
EIP: 0060:[<c027ff3a>] Not tainted VLI
EFLAGS: 00010296 (2.6.10-rc1-mm3)
EIP is at class_hotplug_name+0xa/0x10
eax: 00000000 ebx: c03cf640 ecx: c18df660 edx: c027ff30
esi: c03cf628 edi: c1be91e0 ebp: c1be9160 esp: c18fee74
ds: 007b es: 007b ss: 0068
Process swapper (pid: 1, threadinfo=c18fe000
Stack: c0224190 c03cf640 c1be9174 c1be9174 000041ed 00000002 c1be9174
c1b46400
c0352c88 c0195f2b 00000000 c1919cac c1be9178 00000000 c1be9174 c03cf640
c1be9174 c191aba8 00000000 c191ab94 c0223890 c1be9174 00000001 c1be9174
Call Trace:
[<c0224190>] kobject_hotplug+0x290/0x2c0
[<c0195f2b>] sysfs_create_dir+0x3b/0x80
[<c0223890>] kobject_add+0xd0/0xf0
[<c028022b>] class_device_add+0x7b/0x140
[<c028019d>] class_device_initialize+0x1d/0x30
[<c028088f>] class_simple_device_add+0x9f/0x110
[<c0263792>] tty_register_device+0x72/0xe0
[<c028108f>] kobj_map+0x4f/0x150
[<c0164636>] cdev_add+0x46/0x50
[<c0263a9f>] tty_register_driver+0x13f/0x230
[<c0421b53>] legacy_pty_init+0x293/0x2d0
[<c0421e55>] pty_init+0x5/0x10
[<c040b87c>] do_initcalls+0x2c/0xc0
[<c042707d>] sock_init+0x3d/0x80
[<c0100450>] init+0x0/0x110
[<c010047f>] init+0x2f/0x110
[<c01042
Code: c0 75 03 8b 42 2c 3d 1c f6 3c c0 74 03 31 c0 c3 8b 42 34 85 c0 74 f6 b8 01
00 00 00 c3 8d 74 26 00 8b 44 24 08 83 e8 08 8b 40 3c <8b> 00 c3 8d 76 00 83 ec
3c 89 7c 24 34 89 6c 24 38 89 5c 24 2c
<0>Kernel panic - not syncing: Attempted to kill init!

Thanks,

Paul B.
--
FreeBSD the Power to Serve!

2004-11-07 01:33:07

by Adrian Bunk

[permalink] [raw]
Subject: 2.6.10-rc1-mm3: "bttv card=" breakage

On Fri, Nov 05, 2004 at 12:13:28AM -0800, Andrew Morton wrote:
>...
> All 465 patches:
>...
> remove-module_parm-from-allyesconfig-almost.patch
> Remove MODULE_PARM from allyesconfig (almost)
>...

Does this patch cause the breakage described in Bugzilla #3707?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2004-11-07 02:15:46

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: "bttv card=" breakage

Adrian Bunk <[email protected]> wrote:
>
> On Fri, Nov 05, 2004 at 12:13:28AM -0800, Andrew Morton wrote:
> >...
> > All 465 patches:
> >...
> > remove-module_parm-from-allyesconfig-almost.patch
> > Remove MODULE_PARM from allyesconfig (almost)
> >...
>
> Does this patch cause the breakage described in Bugzilla #3707?
>

Think so. I've subsequently gone thorugh that patch and removed mention of
those files which still have instances of MODULE_PARM in them. There's a
lot of stuff changing under its feet and I don't want this patch to break
everyone else's work when it goes in.

2004-11-07 10:48:53

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Paul Blazejowski <[email protected]> wrote:
>
> Andrew,
>
> mm3 oopses right at the startup, below is the captured output from
> serial console.

Weird. Can you send me the .config?

2004-11-07 17:26:49

by Paul Blazejowski

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Sun, 7 Nov 2004 02:48:41 -0800, Andrew Morton <[email protected]> wrote:

> Paul Blazejowski <[email protected]> wrote:
> >
> > Andrew,
> >
> > mm3 oopses right at the startup, below is the captured output from
> > serial console.
>
> Weird. Can you send me the .config?
>
>

Ah, sorry for not attaching it in previous email.

Thank you,

Paul

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc1-mm3
# Sat Nov 6 01:16:47 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=16
CONFIG_HOTPLUG=y
# CONFIG_KOBJECT_UEVENT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_HPET_TIMER=y
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_EDD_SKIP_MBR is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set
CONFIG_KERN_PHYS_OFFSET=1
# CONFIG_KEXEC is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/sda7"

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_VIDEO is not set
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_THINKPAD is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
# CONFIG_ACPI_CONTAINER is not set

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PC-card bridges
#

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_CML1=m
# CONFIG_PARPORT_SERIAL is not set
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
# CONFIG_PARPORT_OTHER is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_LBD=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDEFLOPPY=m
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
CONFIG_SCSI_ITERAID=y
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not set
# CONFIG_SCSI_SATA_SVW is not set
# CONFIG_SCSI_ATA_PIIX is not set
# CONFIG_SCSI_SATA_NV is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
CONFIG_SCSI_SATA_SIL=m
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGIC_1280_1040 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_IEEE1394_OUI_DB is not set
CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
CONFIG_IEEE1394_CONFIG_ROM_IP1394=y

#
# Device Drivers
#
# CONFIG_IEEE1394_PCILYNX is not set
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_CMP=m
CONFIG_IEEE1394_AMDTP=m

#
# I2O device support
#
CONFIG_I2O=m
# CONFIG_I2O_CONFIG is not set
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_NETFILTER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
CONFIG_FORCEDETH=m
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=m
CONFIG_E1000_NAPI=y
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=m

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
# CONFIG_GAMEPORT_L4 is not set
CONFIG_GAMEPORT_EMU10K1=m
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
CONFIG_JOYSTICK_SIDEWINDER=m
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDDLER is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=512
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
# CONFIG_TIPAR is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=m
CONFIG_RTC=m
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
CONFIG_AGP_NVIDIA=m
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_ISA is not set
CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

#
# Logo configuration
#
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# Open Sound System
#
CONFIG_SOUND_PRIME=m
# CONFIG_SOUND_BT878 is not set
# CONFIG_SOUND_CMPCI is not set
# CONFIG_SOUND_EMU10K1 is not set
# CONFIG_SOUND_FUSION is not set
# CONFIG_SOUND_CS4281 is not set
# CONFIG_SOUND_ES1370 is not set
# CONFIG_SOUND_ES1371 is not set
# CONFIG_SOUND_ESSSOLO1 is not set
# CONFIG_SOUND_MAESTRO is not set
# CONFIG_SOUND_MAESTRO3 is not set
# CONFIG_SOUND_ICH is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_TRIDENT is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_VIA82CXXX is not set
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
# CONFIG_SOUND_DMAP is not set
# CONFIG_SOUND_AD1816 is not set
# CONFIG_SOUND_AD1889 is not set
# CONFIG_SOUND_SGALAXY is not set
# CONFIG_SOUND_ADLIB is not set
# CONFIG_SOUND_ACI_MIXER is not set
# CONFIG_SOUND_CS4232 is not set
# CONFIG_SOUND_SSCAPE is not set
# CONFIG_SOUND_GUS is not set
# CONFIG_SOUND_VMIDI is not set
# CONFIG_SOUND_TRIX is not set
# CONFIG_SOUND_MSS is not set
# CONFIG_SOUND_MPU401 is not set
# CONFIG_SOUND_NM256 is not set
# CONFIG_SOUND_MAD16 is not set
# CONFIG_SOUND_PAS is not set
# CONFIG_SOUND_PSS is not set
# CONFIG_SOUND_SB is not set
# CONFIG_SOUND_AWE32_SYNTH is not set
# CONFIG_SOUND_WAVEFRONT is not set
# CONFIG_SOUND_MAUI is not set
# CONFIG_SOUND_YM3812 is not set
# CONFIG_SOUND_OPL3SA1 is not set
# CONFIG_SOUND_OPL3SA2 is not set
# CONFIG_SOUND_YMFPCI is not set
# CONFIG_SOUND_UART6850 is not set
# CONFIG_SOUND_AEDSP16 is not set
# CONFIG_SOUND_TVMIXER is not set
# CONFIG_SOUND_ALI5455 is not set
# CONFIG_SOUND_FORTE is not set
# CONFIG_SOUND_RME96XX is not set
# CONFIG_SOUND_AD1980 is not set

#
# USB support
#
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m

#
# USB Device Class drivers
#
CONFIG_USB_AUDIO=m
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_RW_DETECT=y
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set

#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set

#
# Video4Linux support is needed for USB Multimedia device support
#

#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set

#
# USB ATM/DSL drivers
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
CONFIG_XFS_RT=y
CONFIG_XFS_QUOTA=y
# CONFIG_XFS_SECURITY is not set
CONFIG_XFS_POSIX_ACL=y
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_QUOTA=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_CACHEFS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=m
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_XATTR=y
# CONFIG_CIFS_POSIX is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=m
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_FRAME_POINTER is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
# CONFIG_KGDB is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=m
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC32 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y

--
FreeBSD the Power to Serve!

2004-11-08 06:58:15

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Andrew Morton <[email protected]> wrote:

> Paul Blazejowski <[email protected]> wrote:
> >
> > Andrew,
> >
> > mm3 oopses right at the startup, below is the captured output from
> > serial console.
>
> Weird. Can you send me the .config?

reproducible here too with Paul's .config.

Ingo

Linux version 2.6.10-rc1-mm3-RT-V0.7.18 (mingo@jupiter) (gcc version 3.4.1 20040831 (Red Hat 3.4.1-10)) #21 Mon Nov 8 08:49:12 CET 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
127MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000ff780
On node 0 totalpages: 261936
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 225280 pages, LIFO batch:16
HighMem zone: 32560 pages, LIFO batch:7
early console enabled
DMI 2.3 present.
ACPI: RSDP (v002 ACPIAM ) @ 0x000fa8b0
ACPI: XSDT (v001 A M I OEMXSDT 0x01000415 MSFT 0x00000097) @ 0x3ff30100
ACPI: FADT (v003 A M I OEMFACP 0x01000415 MSFT 0x00000097) @ 0x3ff30290
ACPI: MADT (v001 A M I OEMAPIC 0x01000415 MSFT 0x00000097) @ 0x3ff30390
ACPI: OEMB (v001 A M I OEMBIOS 0x01000415 MSFT 0x00000097) @ 0x3ff40040
ACPI: DSDT (v001 K8V__ K8V__086 0x00000086 MSFT 0x0100000d) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 16
ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 1, version 3, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode: Flat. Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Real-Time Preemption Support (c) Ingo Molnar
Built 1 zonelists
Initializing CPU#0
Kernel command line: root=/dev/hdb1 3 earlyprintk=serial,ttyS0,38400 console=ttyS0,38400 console=tty0 nmi_watchdog=2 profile=0 debug
kernel profiling enabled (shift: 0)
CPU 0 irqstacks, hard=c0460000 soft=c045f000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 2040.350 MHz processor.
Using tsc for high-res timesource
disabling early console
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024808k/1047744k available (2426k kernel code, 22548k reserved, 816k data, 184k init, 130240k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 4022.27 BogoMIPS (lpj=2011136)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: 078bfbff e1d3fbff 00000000 00000000
CPU: After vendor identify, caps: 078bfbff e1d3fbff 00000000 00000000
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU: After all inits, caps: 078bfbff e1d3fbff 00000000 00000010
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: AMD Athlon(tm) 64 Processor 3200+ stepping 08
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
spawn_desched_task(00000000)
desched cpu_callback 3/00000000
ksoftirqd started up.
softirq RT prio: 24.
desched cpu_callback 2/00000000
testing NMI watchdog ... OK.
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=-1
desched thread 0 started up.
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20041015
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
** PCI interrupts are no longer routed automatically. If this
** causes a device to stop working, it is probably because the
** driver failed to call pci_enable_device(). As a temporary
** workaround, the "pci=routeirq" argument restores the old
** behavior. If this argument makes the device work again,
** please email the output of "lspci" to [email protected]
** so I can fix the driver.
Machine check exception polling timer started.
highmem bounce pool size: 64 pages
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SGI XFS with ACLs, realtime, large block numbers, no debug enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
vesafb: probe of vesafb0 failed with error -6
ACPI: Power Button (FF) [PWRF]
ACPI: Sleep Button (CM) [SLPB]
BUG: Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
c0298e0a
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in:
CPU: 0
EIP: 0060:[<c0298e0a>] Not tainted VLI
EFLAGS: 00010296 (2.6.10-rc1-mm3-RT-V0.7.18)
EIP is at class_hotplug_name+0xa/0x10
eax: 00000000 ebx: c03ebc20 ecx: 0000007d edx: c0298e00
esi: c03ebc10 edi: f7d93180 ebp: f7d93100 esp: c2281e74
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process swapper (pid: 1, threadinfo=c2281000 task=c2283770)
Stack: c023a258 c03ebc20 f7d93114 000041ed 00000002 f7d93114 f7d93114 f7d32800
c0371e1f c01a4fd8 00000000 c22a1858 f7d93118 00000000 f7d93114 f7d9315a
f7d93114 c22ae4e8 00000000 c22ae4d4 c02399c3 f7d93114 00000001 f7d93114
Call Trace:
[<c023a258>] kobject_hotplug+0x2b8/0x2d0 (4)
[<c01a4fd8>] sysfs_create_dir+0x38/0xa0 (36)
[<c02399c3>] kobject_add+0xf3/0x110 (44)
[<c0299167>] class_device_add+0x87/0x150 (24)
[<c02990ca>] class_device_initialize+0x1a/0x30 (16)
[<c0299757>] class_simple_device_add+0xa7/0x130 (24)
[<c027b558>] tty_register_device+0x68/0xd0 (40)
[<c029a115>] kobj_map+0x125/0x130 (32)
[<c01702e6>] cdev_add+0x46/0x50 (32)
[<c0170270>] exact_match+0x0/0x10 (20)
[<c027b885>] tty_register_driver+0x165/0x250 (12)
[<c0443b13>] legacy_pty_init+0x293/0x2d0 (40)
[<c0443e25>] pty_init+0x5/0x10 (12)
[<c042c924>] do_initcalls+0x54/0xd0 (4)
[<c0100430>] init+0x0/0x130 (16)
[<c0100465>] init+0x35/0x130 (12)
[<c01042f0>] kernel_thread_helper+0x0/0x10 (12)
[<c01042f5>] kernel_thread_helper+0x5/0x10 (4)
Code: c0 75 03 8b 42 2c 3d 04 bc 3e c0 74 04 31 c0 f3 c3 8b 52 34 b8 01 00 00 00 85 d2 75 f2 31 c0 eb ee 8b 44 24 08 83 e8 08 8b 40 3c <8b> 00 c3 8d 76 00 83 ec 3c 89 7c 24 34 8b 7c 24 44 89 6c 24 38
<0>Kernel panic - not syncing: Attempted to kill init!

2004-11-08 07:42:36

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Ingo Molnar <[email protected]> wrote:
>
> > Weird. Can you send me the .config?
>
> reproducible here too with Paul's .config.

Me too. The problem starts out at tty_register_driver():

if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) {
for(i = 0; i < driver->num; i++)
tty_register_device(driver, i, NULL);

That NULL for the struct device* propagates all the way down to
class_hotplug_name() and bang. This bug is present in Linus's tree.


0xc026d8ce in class_hotplug_name (kset=0xc03ccf80, kobj=0xc17b3614) at drivers/base/class.c:278
278 return class_dev->class->name;
(gdb) bt
#0 0xc026d8ce in class_hotplug_name (kset=0xc03ccf80, kobj=0xc17b3614) at drivers/base/class.c:278
#1 0xc02164eb in kobject_hotplug (kobj=0xc17b3614, action=0) at lib/kobject_uevent.c:243
#2 0xc0215f3a in kobject_add (kobj=0xc17b3614) at lib/kobject.c:188
#3 0xc026db46 in class_device_add (class_dev=0xc17b360c) at drivers/base/class.c:401
#4 0xc026dc0d in class_device_register (class_dev=0xc17b360c) at drivers/base/class.c:427
#5 0xc026e09f in class_simple_device_add (cs=0xcffa3d80, dev=0, device=0x0, fmt=0x0)
at drivers/base/class_simple.c:153
#6 0xc0254b8d in tty_register_device (driver=0xc1781c00, index=0, device=0x0) at drivers/char/tty_io.c:2708
#7 0xc0254ed0 in tty_register_driver (driver=0xc1781c00) at drivers/char/tty_io.c:2845
#8 0xc0577a1b in legacy_pty_init () at drivers/char/pty.c:299
#9 0xc0577be9 in pty_init () at drivers/char/pty.c:406
#10 0xc05647da in do_initcalls () at init/main.c:625
#11 0xc056484e in do_basic_setup () at init/main.c:668
#12 0xc0100410 in init (unused=0x80) at init/main.c:736
#13 0xc0104255 in kernel_thread_helper () at arch/i386/kernel/process.c:293

I assume that tty_register_driver is at fault, but will call in Greg for
adjudication.

2004-11-08 12:33:29

by Karsten Wiese

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Hi

This bug is triggered by logging on to bash (runlevel 3),
typing "cat /proc/acpi", then <TAB> gives the correct "/" to complete,
the 2nd <TAB> has no visual effect, the 3rd <TAB> generates this oops:

Unable to handle kernel paging request at virtual address f89e7b00
printing eip:
c0187452
*pde = 37ff1067
*pte = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in: binfmt_misc video ohci1394 ieee1394 uhci_hcd intel_agp agpgart i2c_i801 i2c_core snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore ext3 jbd ata_piix libata sd_mod scsi_mod
CPU: 0
EIP: 0060:[<c0187452>] Not tainted VLI
EFLAGS: 00010286 (2.6.10-rc1-mm3)
EIP is at proc_get_inode+0xa0/0x184
eax: 00000000 ebx: f89e7b00 ecx: 00000001 edx: f7ee7000
esi: f62964bc edi: f66d6380 ebp: f7ee7de8 esp: f7ee7dc8
ds: 007b es: 007b ss: 0068
Process bash (pid: 5322, threadinfo=f7ee7000 task=f5d8c550)
Stack: f62964bc f0000337 f7ee7de4 c02f3259 00000001 f66d6380 f4db2313 f66d63cf
f7ee7e1c c018a0e6 f7f75200 f0000337 f66d6380 00000003 00000001 dead4ead
ffffffea 00000000 fffffff4 f4db22a0 f5ea34bc f7ee7e3c c0169637 f5ea34bc
Call Trace:
[<c0106e74>] show_stack+0x80/0x96
[<c010700b>] show_registers+0x161/0x1da
[<c0107221>] die+0x107/0x190
[<c01198b9>] do_page_fault+0x495/0x6cb
[<c0106b03>] error_code+0x2b/0x30
[<c018a0e6>] proc_lookup+0x7c/0xc4
[<c0169637>] real_lookup+0xab/0xc9
[<c01698df>] do_lookup+0x7d/0x88
[<c016a028>] link_path_walk+0x73e/0xef1
[<c016aab9>] path_lookup+0x9a/0x163
[<c016ad10>] __user_walk+0x2b/0x48
[<c01657c8>] vfs_stat+0x1a/0x55
[<c0165e20>] sys_stat64+0x19/0x38
[<c0106031>] sysenter_past_esp+0x52/0x71
Code: b7 47 0e 66 85 c0 74 06 0f b7 c0 89 46 2c 8b 5f 28 c7 45 f0 01 00 00 00 85 db 74 46 b8 01 00 00 00 e8 6a 54 f9 ff e8 9e 06 04 00 <83> 3b 02 0f 84 cf 00 00 00 c1 e0 07 01 d8 ff 80 00 01 00 00 b8
<6>note: bash[5322] exited with preempt_count 1


"cat /proc" and then <TAB> works, so it is something about acpi?
attached the complete dmesg output for reference.

thanks,
Karsten


Attachments:
(No filename) (2.06 kB)
2.6.10-rc1-mm3_cat_proc_acpi_TAB (14.70 kB)
Download all attachments

2004-11-08 21:38:49

by Karsten Wiese

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Am Montag 08 November 2004 13:34 schrieb Karsten Wiese:
> Hi
>
> This bug is triggered by logging on to bash (runlevel 3),
> typing "cat /proc/acpi", then <TAB> gives the correct "/" to complete,
> the 2nd <TAB> has no visual effect, the 3rd <TAB> generates this oops:
>
> Unable to handle kernel paging request at virtual address f89e7b00
> printing eip:
> c0187452
> *pde = 37ff1067
> *pte = 00000000
> Oops: 0000 [#1]
> PREEMPT SMP
> Modules linked in: binfmt_misc video ohci1394 ieee1394 uhci_hcd intel_agp agpgart i2c_i801 i2c_core snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore ext3 jbd ata_piix libata sd_mod scsi_mod
> CPU: 0
> EIP: 0060:[<c0187452>] Not tainted VLI
> EFLAGS: 00010286 (2.6.10-rc1-mm3)
> EIP is at proc_get_inode+0xa0/0x184

Found out, what happened:
By accident I had ibm_acpi.ko built. Its name "ibm" was still present under "/proc/acpi".
This is not an ibm(-laptop)-machine, so ibm_acpi.ko is useless here.
"Unable to handle kernel paging request at virtual address f89e7b00":
this address corresponds to the "struct module *" of ibm_acpi.ko, which was not loaded anymore.
So the real bug here is that there is a non NULL "struct module *", where the corresponding module is unloaded.
Or so I guess.....

Best regards,
Karsten

2004-11-08 22:27:58

by linux-os

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Mon, 8 Nov 2004, Karsten Wiese wrote:

> Am Montag 08 November 2004 13:34 schrieb Karsten Wiese:
>> Hi
>>
>> This bug is triggered by logging on to bash (runlevel 3),
>> typing "cat /proc/acpi", then <TAB> gives the correct "/" to complete,
>> the 2nd <TAB> has no visual effect, the 3rd <TAB> generates this oops:
>>
>> Unable to handle kernel paging request at virtual address f89e7b00
>> printing eip:
>> c0187452
>> *pde = 37ff1067
>> *pte = 00000000
>> Oops: 0000 [#1]
>> PREEMPT SMP
>> Modules linked in: binfmt_misc video ohci1394 ieee1394 uhci_hcd intel_agp agpgart i2c_i801 i2c_core snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore ext3 jbd ata_piix libata sd_mod scsi_mod
>> CPU: 0
>> EIP: 0060:[<c0187452>] Not tainted VLI
>> EFLAGS: 00010286 (2.6.10-rc1-mm3)
>> EIP is at proc_get_inode+0xa0/0x184
>
> Found out, what happened:
> By accident I had ibm_acpi.ko built. Its name "ibm" was still present under "/proc/acpi".
> This is not an ibm(-laptop)-machine, so ibm_acpi.ko is useless here.
> "Unable to handle kernel paging request at virtual address f89e7b00":
> this address corresponds to the "struct module *" of ibm_acpi.ko, which was not loaded anymore.
> So the real bug here is that there is a non NULL "struct module *", where the corresponding module is unloaded.
> Or so I guess.....
>
> Best regards,
> Karsten

Yes, there is a patch floating around. The problem is
that the module name can be too long and it overwrites
kernel structures so that when the module is unloaded, part
of the structure remains corrupt so the kernel calls it
on the next open().


Cheers,
Dick Johnson
Penguin : Linux version 2.6.9 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by John Ashcroft.
98.36% of all statistics are fiction.

2004-11-08 22:34:43

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: (fix for make xconfig)

On Fri, Nov 05, 2004 at 09:26:01PM +0100, Sam Ravnborg wrote:

> Wrong fix.
> I will look into it later tonight.

Here is the fix. Tested with both xconfg and gconfig.

Sam

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/11/06 21:18:02+01:00 [email protected]
# kconfig: fix xconfig and gconfig
#
# Patch that disabled use of loadable modules broke qconf and gconf.
# Fixed by disabling this also for these targets.
#
# Signed-off-by: Sam Ravnborg <[email protected]>
#
# scripts/kconfig/Makefile
# 2004/11/06 21:17:26+01:00 [email protected] +5 -4
# Enable build of qconf anf gconf without loadable module support
#
diff -Nru a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
--- a/scripts/kconfig/Makefile 2004-11-08 23:33:26 +01:00
+++ b/scripts/kconfig/Makefile 2004-11-08 23:33:26 +01:00
@@ -84,11 +84,11 @@

ifeq ($(qconf-target),1)
qconf-cxxobjs := qconf.o
-qconf-objs := kconfig_load.o
+qconf-objs := kconfig_load.o zconf.tab.o
endif

ifeq ($(gconf-target),1)
-gconf-objs := gconf.o kconfig_load.o
+gconf-objs := gconf.o kconfig_load.o zconf.tab.o
endif

clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
@@ -99,10 +99,11 @@
HOSTCFLAGS_zconf.tab.o := -I$(src)

HOSTLOADLIBES_qconf = -L$(QTLIBPATH) -Wl,-rpath,$(QTLIBPATH) -l$(QTLIB) -ldl
-HOSTCXXFLAGS_qconf.o = -I$(QTDIR)/include
+HOSTCXXFLAGS_qconf.o = -I$(QTDIR)/include -D LKC_DIRECT_LINK

HOSTLOADLIBES_gconf = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --libs`
-HOSTCFLAGS_gconf.o = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --cflags`
+HOSTCFLAGS_gconf.o = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --cflags` \
+ -D LKC_DIRECT_LINK

$(obj)/conf.o $(obj)/mconf.o $(obj)/qconf.o $(obj)/gconf.o: $(obj)/zconf.tab.h

2004-11-08 22:44:18

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Sun, Nov 07, 2004 at 11:42:25PM -0800, Andrew Morton wrote:
> Ingo Molnar <[email protected]> wrote:
> >
> > > Weird. Can you send me the .config?
> >
> > reproducible here too with Paul's .config.
>
> Me too. The problem starts out at tty_register_driver():
>
> if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) {
> for(i = 0; i < driver->num; i++)
> tty_register_device(driver, i, NULL);
>
> That NULL for the struct device* propagates all the way down to
> class_hotplug_name() and bang. This bug is present in Linus's tree.
>
>
> 0xc026d8ce in class_hotplug_name (kset=0xc03ccf80, kobj=0xc17b3614) at drivers/base/class.c:278
> 278 return class_dev->class->name;
> (gdb) bt
> #0 0xc026d8ce in class_hotplug_name (kset=0xc03ccf80, kobj=0xc17b3614) at drivers/base/class.c:278
> #1 0xc02164eb in kobject_hotplug (kobj=0xc17b3614, action=0) at lib/kobject_uevent.c:243
> #2 0xc0215f3a in kobject_add (kobj=0xc17b3614) at lib/kobject.c:188
> #3 0xc026db46 in class_device_add (class_dev=0xc17b360c) at drivers/base/class.c:401
> #4 0xc026dc0d in class_device_register (class_dev=0xc17b360c) at drivers/base/class.c:427
> #5 0xc026e09f in class_simple_device_add (cs=0xcffa3d80, dev=0, device=0x0, fmt=0x0)
> at drivers/base/class_simple.c:153
> #6 0xc0254b8d in tty_register_device (driver=0xc1781c00, index=0, device=0x0) at drivers/char/tty_io.c:2708
> #7 0xc0254ed0 in tty_register_driver (driver=0xc1781c00) at drivers/char/tty_io.c:2845
> #8 0xc0577a1b in legacy_pty_init () at drivers/char/pty.c:299
> #9 0xc0577be9 in pty_init () at drivers/char/pty.c:406
> #10 0xc05647da in do_initcalls () at init/main.c:625
> #11 0xc056484e in do_basic_setup () at init/main.c:668
> #12 0xc0100410 in init (unused=0x80) at init/main.c:736
> #13 0xc0104255 in kernel_thread_helper () at arch/i386/kernel/process.c:293
>
> I assume that tty_register_driver is at fault, but will call in Greg for
> adjudication.

No, tty_register_driver() can give NULL as a device associated with the
tty device, that's legal.

And calling class_simple_device_add() with NULL as a device is legal.

And setting the class_dev.dev to NULL in class_simple_device_add() is
legal.

And the associated with a struct device has nothing to do with the
class_dev->class->name field.

None of this code has changed recently.

So I don't see how that could be failing here. And why I don't see this
on my boxes...

thanks,

greg k-h

2004-11-08 23:31:08

by Chris Wright

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

* Karsten Wiese ([email protected]) wrote:
> Found out, what happened:
> By accident I had ibm_acpi.ko built. Its name "ibm" was still present under "/proc/acpi".
> This is not an ibm(-laptop)-machine, so ibm_acpi.ko is useless here.
> "Unable to handle kernel paging request at virtual address f89e7b00":
> this address corresponds to the "struct module *" of ibm_acpi.ko, which was not loaded anymore.
> So the real bug here is that there is a non NULL "struct module *", where the corresponding module is unloaded.
> Or so I guess.....

The init error cleanup paths are broken in that driver. It creates the
/proc/acpi/ibm dir and forgets to clean it up. Partially that's due to
returning directly from the macro IBM_HANDLE_INIT_REQ. This should help.

Signed-off-by: Chris Wright <[email protected]>

--- linux-2.6.10-rc1-mm3/drivers/acpi/ibm_acpi.c~orig 2004-11-05 15:18:51.000000000 -0800
+++ linux-2.6.10-rc1-mm3/drivers/acpi/ibm_acpi.c 2004-11-08 15:14:20.000000000 -0800
@@ -1129,22 +1129,18 @@
if (ACPI_SUCCESS(status))
return 0;
}
-
- if (required) {
- printk(IBM_ERR "%s object not found\n", name);
- return -1;
- }

*handle = NULL;

+ if (required)
+ printk(IBM_ERR "%s object not found\n", name);
+
return 0;
}

-#define IBM_HANDLE_INIT_REQ(object) do { \
- if (ibm_handle_init(#object, &object##_handle, *object##_parent, \
- object##_paths, sizeof(object##_paths)/sizeof(char *), 1) < 0)\
- return -ENODEV; \
-} while (0)
+#define IBM_HANDLE_INIT_REQ(object) \
+ ibm_handle_init(#object, &object##_handle, *object##_parent, \
+ object##_paths, sizeof(object##_paths)/sizeof(char *), 1)

#define IBM_HANDLE_INIT(object) \
ibm_handle_init(#object, &object##_handle, *object##_parent, \
@@ -1179,46 +1175,56 @@

static int __init acpi_ibm_init(void)
{
- int ret, i;
+ int i, ret = -ENODEV;

if (acpi_disabled)
- return -ENODEV;
+ return ret;

proc_dir = proc_mkdir(IBM_DIR, acpi_root_dir);
if (!proc_dir) {
printk(IBM_ERR "unable to create proc dir %s", IBM_DIR);
- return -ENODEV;
+ return ret;
}
proc_dir->owner = THIS_MODULE;

- IBM_HANDLE_INIT_REQ(ec);
- IBM_HANDLE_INIT_REQ(hkey);
- IBM_HANDLE_INIT_REQ(vid);
+ IBM_HANDLE_INIT(ec);
+ if (!ec_handle)
+ goto cleanup;
+
+ IBM_HANDLE_INIT(hkey);
+ if (!hkey_handle)
+ goto cleanup;
+
+ IBM_HANDLE_INIT(vid);
+ if (!vid_handle)
+ goto cleanup;
+
IBM_HANDLE_INIT(cmos);
IBM_HANDLE_INIT(lght);
+ if (!cmos_handle && !lght_handle) {
+ printk(IBM_ERR "neither cmos nor lght object found\n");
+ goto cleanup;
+ }
+
IBM_HANDLE_INIT(dock);
IBM_HANDLE_INIT(bay);
IBM_HANDLE_INIT(bayej);
IBM_HANDLE_INIT(led);
+
IBM_HANDLE_INIT(sysl);
IBM_HANDLE_INIT(bled);
- IBM_HANDLE_INIT_REQ(beep);
-
- if (!cmos_handle && !lght_handle) {
- printk(IBM_ERR "neither cmos nor lght object found\n");
- return -ENODEV;
- }
-
if (!led_handle && !sysl_handle) {
printk(IBM_ERR "neither led nor sysl object found\n");
- return -ENODEV;
+ goto cleanup;
}
+ IBM_HANDLE_INIT_REQ(beep);
+ if (!beep_handle)
+ goto cleanup;

for (i=0; i<NUM_IBMS; i++) {
ret = ibm_init(&ibms[i]);
if (ret < 0) {
- acpi_ibm_exit();
- return ret;
+ goto cleanup;
}
}

@@ -1233,6 +1239,9 @@
IBM_PARAM(beep);

return 0;
+cleanup:
+ acpi_ibm_exit();
+ return ret;
}

module_init(acpi_ibm_init);

2004-11-09 01:32:09

by Borislav Deianov

[permalink] [raw]
Subject: [PATCH] ibm-acpi-0.8 (was Re: 2.6.10-rc1-mm3)

On Mon, Nov 08, 2004 at 03:30:22PM -0800, Chris Wright wrote:
>
> The init error cleanup paths are broken in that driver. It creates the
> /proc/acpi/ibm dir and forgets to clean it up. Partially that's due to
> returning directly from the macro IBM_HANDLE_INIT_REQ. This should help.

Yikes. Guilty as charged.

I reworked Chris's patch a bit and tried both the error and non-error
case here. Len, if it looks good, please apply.

Thanks,
Boris

diff -Nur linux-2.6.10-rc1-ibm-acpi.orig/Documentation/ibm-acpi.txt linux-2.6.10-rc1-ibm-acpi/Documentation/ibm-acpi.txt
--- linux-2.6.10-rc1-ibm-acpi.orig/Documentation/ibm-acpi.txt 2004-10-23 00:43:47.000000000 -0700
+++ linux-2.6.10-rc1-ibm-acpi/Documentation/ibm-acpi.txt 2004-11-08 17:11:49.894712632 -0800
@@ -1,7 +1,7 @@
IBM ThinkPad ACPI Extras Driver

- Version 0.7
- 23 October 2004
+ Version 0.8
+ 8 November 2004

Borislav Deianov <[email protected]>
http://ibm-acpi.sf.net/
diff -Nur linux-2.6.10-rc1-ibm-acpi.orig/drivers/acpi/ibm_acpi.c linux-2.6.10-rc1-ibm-acpi/drivers/acpi/ibm_acpi.c
--- linux-2.6.10-rc1-ibm-acpi.orig/drivers/acpi/ibm_acpi.c 2004-10-23 00:43:33.000000000 -0700
+++ linux-2.6.10-rc1-ibm-acpi/drivers/acpi/ibm_acpi.c 2004-11-08 17:11:26.715236448 -0800
@@ -43,9 +43,11 @@
* 2004-10-19 0.6 use acpi_bus_register_driver() to claim HKEY device
* 2004-10-23 0.7 fix module loading on A21e, A22p, T20, T21, X20
* fix LED control on A21e
+ * 2004-11-08 0.8 fix init error case, don't return from a macro
+ * thanks to Chris Wright <[email protected]>
*/

-#define IBM_VERSION "0.7"
+#define IBM_VERSION "0.8"

#include <linux/kernel.h>
#include <linux/module.h>
@@ -1130,25 +1132,19 @@
return 0;
}

+ *handle = NULL;
+
if (required) {
printk(IBM_ERR "%s object not found\n", name);
return -1;
}

- *handle = NULL;
-
return 0;
}

-#define IBM_HANDLE_INIT_REQ(object) do { \
- if (ibm_handle_init(#object, &object##_handle, *object##_parent, \
- object##_paths, sizeof(object##_paths)/sizeof(char *), 1) < 0)\
- return -ENODEV; \
-} while (0)
-
-#define IBM_HANDLE_INIT(object) \
- ibm_handle_init(#object, &object##_handle, *object##_parent, \
- object##_paths, sizeof(object##_paths)/sizeof(char *), 0)
+#define IBM_HANDLE_INIT(object, required) \
+ ibm_handle_init(#object, &object##_handle, *object##_parent, \
+ object##_paths, sizeof(object##_paths)/sizeof(char*), required)


static void ibm_param(char *feature, char *cmd)
@@ -1184,6 +1180,27 @@
if (acpi_disabled)
return -ENODEV;

+ /* these handles are required */
+ if (IBM_HANDLE_INIT(ec, 1) < 0 ||
+ IBM_HANDLE_INIT(hkey, 1) < 0 ||
+ IBM_HANDLE_INIT(vid, 1) < 0 ||
+ IBM_HANDLE_INIT(beep, 1) < 0)
+ return -ENODEV;
+
+ /* these handles have alternatives */
+ IBM_HANDLE_INIT(lght, 0);
+ if (IBM_HANDLE_INIT(cmos, !lght_handle) < 0)
+ return -ENODEV;
+ IBM_HANDLE_INIT(sysl, 0);
+ if (IBM_HANDLE_INIT(led, !sysl_handle) < 0)
+ return -ENODEV;
+
+ /* these handles are not required */
+ IBM_HANDLE_INIT(dock, 0);
+ IBM_HANDLE_INIT(bay, 0);
+ IBM_HANDLE_INIT(bayej, 0);
+ IBM_HANDLE_INIT(bled, 0);
+
proc_dir = proc_mkdir(IBM_DIR, acpi_root_dir);
if (!proc_dir) {
printk(IBM_ERR "unable to create proc dir %s", IBM_DIR);
@@ -1191,29 +1208,6 @@
}
proc_dir->owner = THIS_MODULE;

- IBM_HANDLE_INIT_REQ(ec);
- IBM_HANDLE_INIT_REQ(hkey);
- IBM_HANDLE_INIT_REQ(vid);
- IBM_HANDLE_INIT(cmos);
- IBM_HANDLE_INIT(lght);
- IBM_HANDLE_INIT(dock);
- IBM_HANDLE_INIT(bay);
- IBM_HANDLE_INIT(bayej);
- IBM_HANDLE_INIT(led);
- IBM_HANDLE_INIT(sysl);
- IBM_HANDLE_INIT(bled);
- IBM_HANDLE_INIT_REQ(beep);
-
- if (!cmos_handle && !lght_handle) {
- printk(IBM_ERR "neither cmos nor lght object found\n");
- return -ENODEV;
- }
-
- if (!led_handle && !sysl_handle) {
- printk(IBM_ERR "neither led nor sysl object found\n");
- return -ENODEV;
- }
-
for (i=0; i<NUM_IBMS; i++) {
ret = ibm_init(&ibms[i]);
if (ret < 0) {


Attachments:
(No filename) (4.13 kB)
ibm-acpi-0.8.patch (3.69 kB)
Download all attachments

2004-11-09 02:12:33

by Chris Wright

[permalink] [raw]
Subject: Re: [PATCH] ibm-acpi-0.8 (was Re: 2.6.10-rc1-mm3)

* Borislav Deianov ([email protected]) wrote:
> On Mon, Nov 08, 2004 at 03:30:22PM -0800, Chris Wright wrote:
> >
> > The init error cleanup paths are broken in that driver. It creates the
> > /proc/acpi/ibm dir and forgets to clean it up. Partially that's due to
> > returning directly from the macro IBM_HANDLE_INIT_REQ. This should help.
>
> Yikes. Guilty as charged.
>
> I reworked Chris's patch a bit and tried both the error and non-error
> case here. Len, if it looks good, please apply.

Ah, even better. Thanks Boris. BTW, you could probably mark ibm_init()
and ibm_handle_init() as __init.

-chris
--
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net

2004-11-09 02:31:27

by Borislav Deianov

[permalink] [raw]
Subject: Re: [PATCH] ibm-acpi-0.8 (was Re: 2.6.10-rc1-mm3)

On Mon, Nov 08, 2004 at 06:12:24PM -0800, Chris Wright wrote:
>
> Ah, even better. Thanks Boris. BTW, you could probably mark ibm_init()
> and ibm_handle_init() as __init.

Good point, I'll do it in the next version.

Thanks,
Boris

2004-11-09 06:41:56

by Brown, Len

[permalink] [raw]
Subject: Re: [PATCH] ibm-acpi-0.8 (was Re: 2.6.10-rc1-mm3)

On Mon, 2004-11-08 at 20:30, Borislav Deianov wrote:
> On Mon, Nov 08, 2004 at 03:30:22PM -0800, Chris Wright wrote:

> I reworked Chris's patch a bit and tried both the error and non-error
> case here. Len, if it looks good, please apply.

Applied.

thanks,
-Len

2004-11-09 05:54:55

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Greg KH <[email protected]> wrote:
>
> So I don't see how that could be failing here. And why I don't see this
> on my boxes...

OK, progress. The oops is due to CONFIG_LEGACY_PTY_COUNT=512. I assume
anything greater than 256 will trigger it.

- tty_register_driver() calls tty_register_device() for 512 devices.

- tty_register_device() calls pty_line_name() for the 512 devices, but
pty_line_name() only understands 256 devices. After that, it starts
returning duplicated names.

- class_simple_device_add() gets an -EEXIST return from
class_device_register() and then tries to kfree local variable s_dev, but
it's already free. Presumably all that icky refcounting under
class_device_register() did this for us already. Can you fix this one
Greg? Just enable slab debugging, set CONFIG_LEGACY_PTY_COUNT=512 and
watch the fun.

As for the limitation of 256 legacy ptys: we should either raise it by
cooking up new device names or limit it to 256 in config. The latter, I
guess. Is there a requirement to support more than 256 legacy ptys?





Limit the number of legacy ptys to 256. pty_line_name() isn't capable of
generating more than 256 unique names.

Signed-off-by: Andrew Morton <[email protected]>
---

25-akpm/drivers/char/Kconfig | 1 +
1 files changed, 1 insertion(+)

diff -puN drivers/char/Kconfig~limit-CONFIG_LEGACY_PTY_COUNT drivers/char/Kconfig
--- 25/drivers/char/Kconfig~limit-CONFIG_LEGACY_PTY_COUNT 2004-11-08 21:22:46.843719848 -0800
+++ 25-akpm/drivers/char/Kconfig 2004-11-08 21:23:23.496147832 -0800
@@ -478,6 +478,7 @@ config LEGACY_PTYS
config LEGACY_PTY_COUNT
int "Maximum number of legacy PTY in use"
depends on LEGACY_PTYS
+ range 1 256
default "256"
---help---
The maximum number of legacy PTYs that can be used at any one time.
_

2004-11-09 07:15:24

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Mon, Nov 08, 2004 at 09:27:47PM -0800, Andrew Morton wrote:
> Greg KH <[email protected]> wrote:
> >
> > So I don't see how that could be failing here. And why I don't see this
> > on my boxes...
>
> OK, progress. The oops is due to CONFIG_LEGACY_PTY_COUNT=512. I assume
> anything greater than 256 will trigger it.
>
> - tty_register_driver() calls tty_register_device() for 512 devices.
>
> - tty_register_device() calls pty_line_name() for the 512 devices, but
> pty_line_name() only understands 256 devices. After that, it starts
> returning duplicated names.
>
> - class_simple_device_add() gets an -EEXIST return from
> class_device_register() and then tries to kfree local variable s_dev, but
> it's already free. Presumably all that icky refcounting under
> class_device_register() did this for us already. Can you fix this one
> Greg? Just enable slab debugging, set CONFIG_LEGACY_PTY_COUNT=512 and
> watch the fun.

Ick, yeah, I just tested that. I don't know why that's happening, I'll
go fix it up now.

thanks,

greg k-h

2004-11-09 07:54:30

by Olivier Poitrey

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On 9 nov. 04, at 06:27, Andrew Morton wrote:

> [...] Is there a requirement to support more than 256 legacy ptys?

Yes it is. For big vserver hosting systems for instance, running like
100 vservers per node you can easily hit this limit.

--
Olivier Poitrey

2004-11-09 08:08:53

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Mon, Nov 08, 2004 at 11:14:55PM -0800, Greg KH wrote:
> On Mon, Nov 08, 2004 at 09:27:47PM -0800, Andrew Morton wrote:
> > Greg KH <[email protected]> wrote:
> > >
> > > So I don't see how that could be failing here. And why I don't see this
> > > on my boxes...
> >
> > OK, progress. The oops is due to CONFIG_LEGACY_PTY_COUNT=512. I assume
> > anything greater than 256 will trigger it.
> >
> > - tty_register_driver() calls tty_register_device() for 512 devices.
> >
> > - tty_register_device() calls pty_line_name() for the 512 devices, but
> > pty_line_name() only understands 256 devices. After that, it starts
> > returning duplicated names.
> >
> > - class_simple_device_add() gets an -EEXIST return from
> > class_device_register() and then tries to kfree local variable s_dev, but
> > it's already free. Presumably all that icky refcounting under
> > class_device_register() did this for us already. Can you fix this one
> > Greg? Just enable slab debugging, set CONFIG_LEGACY_PTY_COUNT=512 and
> > watch the fun.
>
> Ick, yeah, I just tested that. I don't know why that's happening, I'll
> go fix it up now.

Ah, found it. Was caused by a patch from Tejun Heo <[email protected]>
that went into the tree in my last round of driver core changes.

Tejun, the call to unlink() in the error path in kobject_add() does a
kobject_put(). Your patch added an extra kobject_put() which caused bad
things to happen when we failed.

Andrew, does the patch below fix the issue for you? It fixed my test
case.

thanks,

greg k-h

Subject: Remove extra kobject_put() in kobject_add() error path.

Also document the thing so no one tries to "fix" it again...

Signed-off-by: Greg Kroah-Hartman <[email protected]>


--- a/lib/kobject.c 2004-11-05 10:06:33 -08:00
+++ b/lib/kobject.c 2004-11-08 23:58:02 -08:00
@@ -181,10 +181,10 @@ int kobject_add(struct kobject * kobj)

error = create_dir(kobj);
if (error) {
+ /* Does the kobject_put() for us */
unlink(kobj);
if (parent)
kobject_put(parent);
- kobject_put(kobj);
} else {
kobject_hotplug(kobj, KOBJ_ADD);
}

2004-11-09 08:16:07

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Greg KH <[email protected]> wrote:
>
> Andrew, does the patch below fix the issue for you? It fixed my test
> case.

Dunno - I can't configure 512 legacy ptys any more ;)

> if (parent)
> kobject_put(parent);

kobject_put(NULL) is legal...

2004-11-09 08:23:01

by Arjan van de Ven

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Tue, 2004-11-09 at 08:53 +0100, Olivier Poitrey wrote:
> On 9 nov. 04, at 06:27, Andrew Morton wrote:
>
> > [...] Is there a requirement to support more than 256 legacy ptys?
>
> Yes it is. For big vserver hosting systems for instance, running like
> 100 vservers per node you can easily hit this limit.

but do you really need the legacy pty's for that instead of the "modern" ones ?


2004-11-09 08:27:53

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Tue, Nov 09, 2004 at 12:15:52AM -0800, Andrew Morton wrote:
> Greg KH <[email protected]> wrote:
> >
> > Andrew, does the patch below fix the issue for you? It fixed my test
> > case.
>
> Dunno - I can't configure 512 legacy ptys any more ;)
>
> > if (parent)
> > kobject_put(parent);
>
> kobject_put(NULL) is legal...

Sure, now it is, but that's a recent (less than 1 month) thing. Wasn't
legal back when that code was written :)

thanks,

greg k-h

2004-11-09 09:29:43

by Olivier Poitrey

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Arjan van de Ven <[email protected]> writes:

> but do you really need the legacy pty's for that instead of the
> "modern" ones ?

Oops yeah you're right %)

--
Olivier Poitrey

2004-11-09 09:41:39

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Arjan van de Ven <[email protected]> wrote:

> On Tue, 2004-11-09 at 08:53 +0100, Olivier Poitrey wrote:
> > On 9 nov. 04, at 06:27, Andrew Morton wrote:
> >
> > > [...] Is there a requirement to support more than 256 legacy ptys?
> >
> > Yes it is. For big vserver hosting systems for instance, running like
> > 100 vservers per node you can easily hit this limit.
>
> but do you really need the legacy pty's for that instead of the
> "modern" ones ?

probably not, but if the fix is easy then there's no reason not to do
it.

Ingo

2004-11-09 09:43:04

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3


* Andrew Morton <[email protected]> wrote:

> > probably not, but if the fix is easy then there's no reason not to do
> > it.
>
> We'd have to cook up a new naming scheme for them. And hotplug
> scripts to create the device nodes. Except hotplug probably isn't
> running correctly at that time. My RH system here only comes with 256
> /dev/pty* device nodes.

/me thinks 256 old-ptys it is then.

Ingo

2004-11-09 09:43:04

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Ingo Molnar <[email protected]> wrote:
>
> * Arjan van de Ven <[email protected]> wrote:
>
> > On Tue, 2004-11-09 at 08:53 +0100, Olivier Poitrey wrote:
> > > On 9 nov. 04, at 06:27, Andrew Morton wrote:
> > >
> > > > [...] Is there a requirement to support more than 256 legacy ptys?
> > >
> > > Yes it is. For big vserver hosting systems for instance, running like
> > > 100 vservers per node you can easily hit this limit.
> >
> > but do you really need the legacy pty's for that instead of the
> > "modern" ones ?
>
> probably not, but if the fix is easy then there's no reason not to do
> it.

We'd have to cook up a new naming scheme for them. And hotplug scripts
to create the device nodes. Except hotplug probably isn't running correctly
at that time. My RH system here only comes with 256 /dev/pty* device nodes.

2004-11-09 10:34:30

by Andries E. Brouwer

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Mon, Nov 08, 2004 at 09:27:47PM -0800, Andrew Morton wrote:

> As for the limitation of 256 legacy ptys: we should either raise it by
> cooking up new device names or limit it to 256 in config. The latter, I
> guess. Is there a requirement to support more than 256 legacy ptys?

No. glibc uses 256 of them.

To make life interesting they use names
"pqrstuvwxyzabcde"/"0123456789abcdef"
while BSD used
"pqrsPQRS"/"0123456789abcdefghijklmnopqrstuv"
and the first ENOENT terminates the search, so old BSD programs
might see only 16 ptys.

I would be inclined to remove the variable CONFIG_LEGACY_PTY_COUNT,
using 256. If one really wants to use CONFIG_LEGACY_PTYS, that is
the right number. So, in include/linux/tty.h:

- #define NR_PTYS CONFIG_LEGACY_PTY_COUNT
+ #define NR_PTYS 256

Andries

2004-11-09 12:14:01

by Tejun Heo

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Tue, Nov 09, 2004 at 12:05:09AM -0800, Greg KH wrote:
> Ah, found it. Was caused by a patch from Tejun Heo <[email protected]>
> that went into the tree in my last round of driver core changes.
>
> Tejun, the call to unlink() in the error path in kobject_add() does a
> kobject_put(). Your patch added an extra kobject_put() which caused bad
> things to happen when we failed.

Yeah, that's right. I thought I had a unreleased kobject due to
above code but I must have been confused somewhere. Sorry about that.

Please forgive me. :-)

--
tejun

2004-11-09 18:24:40

by Paul Blazejowski

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

On Mon, 8 Nov 2004 21:27:47 -0800, Andrew Morton <[email protected]> wrote:
> Greg KH <[email protected]> wrote:
> >
> > So I don't see how that could be failing here. And why I don't see this
> > on my boxes...
>
> OK, progress. The oops is due to CONFIG_LEGACY_PTY_COUNT=512. I assume
> anything greater than 256 will trigger it.
>
> - tty_register_driver() calls tty_register_device() for 512 devices.
>
> - tty_register_device() calls pty_line_name() for the 512 devices, but
> pty_line_name() only understands 256 devices. After that, it starts
> returning duplicated names.
>
> - class_simple_device_add() gets an -EEXIST return from
> class_device_register() and then tries to kfree local variable s_dev, but
> it's already free. Presumably all that icky refcounting under
> class_device_register() did this for us already. Can you fix this one
> Greg? Just enable slab debugging, set CONFIG_LEGACY_PTY_COUNT=512 and
> watch the fun.
>
> As for the limitation of 256 legacy ptys: we should either raise it by
> cooking up new device names or limit it to 256 in config. The latter, I
> guess. Is there a requirement to support more than 256 legacy ptys?
>
> Limit the number of legacy ptys to 256. pty_line_name() isn't capable of
> generating more than 256 unique names.
>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> 25-akpm/drivers/char/Kconfig | 1 +
> 1 files changed, 1 insertion(+)
>
> diff -puN drivers/char/Kconfig~limit-CONFIG_LEGACY_PTY_COUNT drivers/char/Kconfig
> --- 25/drivers/char/Kconfig~limit-CONFIG_LEGACY_PTY_COUNT 2004-11-08 21:22:46.843719848 -0800
> +++ 25-akpm/drivers/char/Kconfig 2004-11-08 21:23:23.496147832 -0800
> @@ -478,6 +478,7 @@ config LEGACY_PTYS
> config LEGACY_PTY_COUNT
> int "Maximum number of legacy PTY in use"
> depends on LEGACY_PTYS
> + range 1 256
> default "256"
> ---help---
> The maximum number of legacy PTYs that can be used at any one time.
> _
>
>

Andrew,

Changing the CONFIG_LEGACY_PTY_COUNT to 256 fixes the boot issue.

The 512 number came from very old slackware .config file that i seem
to still use :-)

Thanks for your help

Paul B.

--
FreeBSD the Power to Serve!

2004-11-09 22:56:45

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Fri, Nov 05, 2004 at 09:18:48PM -0800, Keshavamurthy Anil S wrote:
> Also, since you have brought this, I have one another question to you.
> Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> an "ADD" notification is sent. why is this? I would like to call
> kobject_hotplug(kobj, ADD) later.

This happens when kobject_add() is called. You shouldn't ever need to
call kobject_hotplug() for an add event yourself.

thanks,

greg k-h

2004-11-09 23:51:44

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [ACPI] Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Tue, 9 Nov 2004 14:55:02 -0800, Greg KH <[email protected]> wrote:
> On Fri, Nov 05, 2004 at 09:18:48PM -0800, Keshavamurthy Anil S wrote:
> > Also, since you have brought this, I have one another question to you.
> > Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> > an "ADD" notification is sent. why is this? I would like to call
> > kobject_hotplug(kobj, ADD) later.
>
> This happens when kobject_add() is called. You shouldn't ever need to
> call kobject_hotplug() for an add event yourself.
>

This is not always the case. One might want to postpone ADD event
until all summpelental object attributes are created. This way userspace
is presented with object in consistent state.

--
Dmitry

2004-11-10 00:10:29

by Greg KH

[permalink] [raw]
Subject: Re: [ACPI] Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Tue, Nov 09, 2004 at 06:48:17PM -0500, Dmitry Torokhov wrote:
> On Tue, 9 Nov 2004 14:55:02 -0800, Greg KH <[email protected]> wrote:
> > On Fri, Nov 05, 2004 at 09:18:48PM -0800, Keshavamurthy Anil S wrote:
> > > Also, since you have brought this, I have one another question to you.
> > > Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> > > an "ADD" notification is sent. why is this? I would like to call
> > > kobject_hotplug(kobj, ADD) later.
> >
> > This happens when kobject_add() is called. You shouldn't ever need to
> > call kobject_hotplug() for an add event yourself.
> >
>
> This is not always the case. One might want to postpone ADD event
> until all summpelental object attributes are created. This way userspace
> is presented with object in consistent state.

No, that's a mess. Let userspace wait for those attributes to show up
if they need to. That's what the "wait_for_sysfs" program bundled with
udev is for.

thanks,

greg k-h

2004-11-10 04:16:10

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [ACPI] Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Tuesday 09 November 2004 07:08 pm, Greg KH wrote:
> On Tue, Nov 09, 2004 at 06:48:17PM -0500, Dmitry Torokhov wrote:
> > On Tue, 9 Nov 2004 14:55:02 -0800, Greg KH <[email protected]> wrote:
> > > On Fri, Nov 05, 2004 at 09:18:48PM -0800, Keshavamurthy Anil S wrote:
> > > > Also, since you have brought this, I have one another question to you.
> > > > Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> > > > an "ADD" notification is sent. why is this? I would like to call
> > > > kobject_hotplug(kobj, ADD) later.
> > >
> > > This happens when kobject_add() is called. You shouldn't ever need to
> > > call kobject_hotplug() for an add event yourself.
> > >
> >
> > This is not always the case. One might want to postpone ADD event
> > until all summpelental object attributes are created. This way userspace
> > is presented with object in consistent state.
>
> No, that's a mess. Let userspace wait for those attributes to show up
> if they need to. That's what the "wait_for_sysfs" program bundled with
> udev is for.
>

I strongly disagree:

- it makes userspace being aware of implementation details (whe exactly it
has to wait for, for how long, etc.) which is bad thing;
- not all the world is udev - needless replication of the code and bugs;
- not only making visible but announcing an object in non-working state
to userspace simply does not feel right.

--
Dmitry

2004-11-11 01:52:17

by H. Peter Anvin

[permalink] [raw]
Subject: Re: 2.6.10-rc1-mm3

Followup to: <[email protected]>
By author: Andries Brouwer <[email protected]>
In newsgroup: linux.dev.kernel
>
> I would be inclined to remove the variable CONFIG_LEGACY_PTY_COUNT,
> using 256. If one really wants to use CONFIG_LEGACY_PTYS, that is
> the right number. So, in include/linux/tty.h:
>
> - #define NR_PTYS CONFIG_LEGACY_PTY_COUNT
> + #define NR_PTYS 256
>

Embedded people want to be able to set it to fewer. Not all of them
can dispose of them entirely, but may not need 256.

-hpa

2004-11-16 05:56:40

by Greg KH

[permalink] [raw]
Subject: Re: [ACPI] Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

On Tue, Nov 09, 2004 at 11:15:55PM -0500, Dmitry Torokhov wrote:
> On Tuesday 09 November 2004 07:08 pm, Greg KH wrote:
> > On Tue, Nov 09, 2004 at 06:48:17PM -0500, Dmitry Torokhov wrote:
> > > On Tue, 9 Nov 2004 14:55:02 -0800, Greg KH <[email protected]> wrote:
> > > > On Fri, Nov 05, 2004 at 09:18:48PM -0800, Keshavamurthy Anil S wrote:
> > > > > Also, since you have brought this, I have one another question to you.
> > > > > Now in the new kernel, I see whenever anybody calls sysdev_register(kobj),
> > > > > an "ADD" notification is sent. why is this? I would like to call
> > > > > kobject_hotplug(kobj, ADD) later.
> > > >
> > > > This happens when kobject_add() is called. You shouldn't ever need to
> > > > call kobject_hotplug() for an add event yourself.
> > > >
> > >
> > > This is not always the case. One might want to postpone ADD event
> > > until all summpelental object attributes are created. This way userspace
> > > is presented with object in consistent state.
> >
> > No, that's a mess. Let userspace wait for those attributes to show up
> > if they need to. That's what the "wait_for_sysfs" program bundled with
> > udev is for.
> >
>
> I strongly disagree:
>
> - it makes userspace being aware of implementation details (whe exactly it
> has to wait for, for how long, etc.) which is bad thing;
> - not all the world is udev - needless replication of the code and bugs;
> - not only making visible but announcing an object in non-working state
> to userspace simply does not feel right.

Based on the recent additions to the /sbin/hotplug environment
variables, userspace now knows exactly what it needs to wait for, if
anything.

Also, there's no needless replication of this code, that's why
wait_for_sysfs was split off of udev, it's for everyone to use, if they
want to.

thanks,

greg k-h

2004-11-29 00:39:20

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH] ibm-acpi-0.8 (was Re: 2.6.10-rc1-mm3)

On Mon, 2004-11-08 at 18:31 -0800, Borislav Deianov wrote:
> On Mon, Nov 08, 2004 at 06:12:24PM -0800, Chris Wright wrote:
> >
> > Ah, even better. Thanks Boris. BTW, you could probably mark ibm_init()
> > and ibm_handle_init() as __init.
>
> Good point, I'll do it in the next version.

You cannot use module_param the way you are trying to: it must be used
at the top level, and it will be called before your module's init
function.

This patch might serve as a starting point...
Rusty.

Name: Fix Parameter Handling in ibm_acpi.c
Status: Untested
Signed-off-by: Rusty Russell <[email protected]>

You can't call module_param et al inside a function. It doesn't make
sense, and it doesn't work.

Index: linux-2.6.10-rc2-bk11-Module/drivers/acpi/ibm_acpi.c
===================================================================
--- linux-2.6.10-rc2-bk11-Module.orig/drivers/acpi/ibm_acpi.c 2004-11-29
11:30:51.723729720 +1100
+++ linux-2.6.10-rc2-bk11-Module/drivers/acpi/ibm_acpi.c 2004-11-29
11:31:08.757140248 +1100
@@ -1147,21 +1147,26 @@
object##_paths, sizeof(object##_paths)/sizeof(char*), required)


-static void ibm_param(char *feature, char *cmd)
+static int set_ibm_param(const char *val, struct kernel_param *kp)
{
- int i;
+ unsigned int i;
+ char arg_with_comma[32];
+
+ if (strlen(val) > 30)
+ return -ENOSPC;
+
+ strcpy(arg_with_comma, val);
+ strcat(arg_with_comma, ",");

- strcat(cmd, ",");
for (i=0; i<NUM_IBMS; i++)
- if (strcmp(ibms[i].name, feature) == 0)
- ibms[i].write(&ibms[i], cmd);
-}
-
-#define IBM_PARAM(feature) do { \
- static char cmd[32]; \
- module_param_string(feature, cmd, sizeof(cmd) - 1, 0); \
- ibm_param(#feature, cmd); \
-} while (0)
+ if (strcmp(ibms[i].name, kp->name) == 0)
+ return ibms[i].write(&ibms[i], arg_with_comma);
+ BUG();
+ return -EINVAL;
+}
+
+#define IBM_PARAM(feature) \
+ module_param_call(feature, set_ibm_param, NULL, NULL, 0)

static void __exit acpi_ibm_exit(void)
{
@@ -1216,16 +1221,6 @@
}
}

- IBM_PARAM(hotkey);
- IBM_PARAM(bluetooth);
- IBM_PARAM(video);
- IBM_PARAM(light);
- IBM_PARAM(dock);
- IBM_PARAM(bay);
- IBM_PARAM(cmos);
- IBM_PARAM(led);
- IBM_PARAM(beep);
-
return 0;
}

@@ -1235,3 +1230,13 @@
MODULE_AUTHOR("Borislav Deianov");
MODULE_DESCRIPTION(IBM_DESC);
MODULE_LICENSE("GPL");
+
+IBM_PARAM(hotkey);
+IBM_PARAM(bluetooth);
+IBM_PARAM(video);
+IBM_PARAM(light);
+IBM_PARAM(dock);
+IBM_PARAM(bay);
+IBM_PARAM(cmos);
+IBM_PARAM(led);
+IBM_PARAM(beep);


--
A bad analogy is like a leaky screwdriver -- Richard Braakman