Skip to contentSkip to conversation

2.6.12-rc4-mm1

PATCH New Andrew Morton 20 participants 43 messages May 12, 2005 – May 19, 2005 1 message not in the archive

Subsystems (7)
VFS USB MM core Framebuffer layer +3 more subsystems
lore
Share & tools
lore
#0 lore raw

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

- Added Herbert Xu's ipsec tree to the -mm lineup, as git-ipsec.patch

- Lots of updates all over the place

Changes since 2.6.12-rc3-mm3:

-avoid-enomem-due-reclaimable-slab-caches.patch -intel8x0-fix-for-intel-ac97-audio-driver.patch -interwave-needs-isa-pnp.patch -include-linux-soundcardh-endianness-fix.patch -add-cxt48-to-modem-black-list-in-ac97.patch -fix-make-mandocs-after-class_simplec-removal.patch -kconfig-i18n-support.patch -ppc32-platform-specific-functions-missing-from-kallsyms.patch -ppc32-simplified-ppc-core-revision-report.patch -ppc64-remove-hidden-fno-omit-frame-pointer-for-schedulec.patch -ppc64-add-missing-kconfig-help-text.patch -ppc64-pgtableh-and-other-header-cleanups.patch -x86-stack-initialisation-fix.patch -ia64-reduce-cacheline-bouncing-in-cpu_idle_wait.patch -uml-obvious-compile-fixes-for-x86-64-subarch-and-x86-regression-fixes.patch -uml-kludgy-compilation-fixes-for-x86-64-subarch-modules-support.patch -x86_64-make-string-func-definition-work-as-intended.patch -x86_64-make-string-func-definition-work-as-intended-fix.patch -uml-kbuild-avoid-useless-rebuilds.patch -uml-include-the-linker-script-rather-than-symlink-it.patch -uml-use-variables-rather-than-symlinks-in-dependencies.patch -uml-start-cross-build-support-mk_user_constants.patch -uml-cross-build-support-mk_ptregs.patch -uml-cross-build-support-mk_sc.patch -uml-cross-build-support-kernel_offsets.patch -uml-cross-build-support-mk_thread.patch -uml-cross-build-support-mk_task-and-mk_constants.patch -uml-fix-missing-subdir-in-x86_64.patch -uml-finish-cross-build-support.patch -uml-fix-a-ptrace-call.patch -uml-s390-preparation-abstract-host-page-fault-data.patch -uml-fix-sigwinch-relaying.patch
-uml-tidy-makefilerules.patch
-uml-inclusion-cleanup.patch -uml-hostfs-failed-mount-handling.patch -uml-s390-preparation-elfh.patch -uml-s390-preparation-linkageh-inherited-from-host.patch -uml-s390-preparation-checksumming-done-in-arch-code.patch -uml-s390-preparation-delay-moved-to-arch.patch -uml-s390-preparation-sighandler-interface-abstraction.patch -uml-remove-a-dangling-symlink.patch -uml-header-and-code-cleanup.patch -kprobes-incorrect-handling-of-probes-on-ret-lret-instruction.patch -kprobes-oops-in-unregister_kprobe.patch -kprobes-allow-multiple-kprobes-at-the-same-address.patch -patch-kernel-support-non-incremental-26xy-stable-patches.patch -3c59x-only-put-the-device-into-d3-when-were-actually-using-wol.patch -fix-race-in-__block_prepare_write.patch -__block_write_full_page-race-fix.patch -__block_write_full_page-speedup.patch -__block_write_full_page-simplification.patch -setitimer-timer-expires-too-early.patch -drivers-ide-pci-sis5513c-section-fixes.patch -uninline-tty_paranoia_check.patch -remove-bk-documentation.patch
-update-dontdiff.patch
-saa6752hs-resolutions-handling.patch -pcmcia-enable-32-bit-memory-windows-on-pd6729.patch -pcmcia-yenta-ti-align-irq-of-func1-to-func0-if-intrtie-is-set.patch -dac960-add-support-for-mylex-acceleraid-4-5-600.patch -remove-outdated-comments-from-filemapc.patch -remove-do_sync-parameter-from-__invalidate_device.patch -remove-do_sync-parameter-from-__invalidate_device-fix.patch -bttv-fix-dst-i2c-read-write-timeout-failure.patch -orinoco-maintainers-update.patch -revert-ext3-writepages-support-for-writeback-mode.patch -device-mapper-store-bdev-while-frozen.patch -device-mapper-__unlock_fs-void.patch -device-mapper-let-freeze_bdev-return-error.patch -device-mapper-handle-__lock_fs-error.patch -device-mapper-tidy-dm_suspend.patch -device-mapper-multipath-use-private-workqueue.patch -device-mapper-dm-emc-fix-a-memset.patch -device-mapper-some-missing-statics.patch -fs-jffs2-make-some-functions-static.patch -fs-nls-nls_basec-make-a-variable-static.patch -fs-make-some-code-static.patch -drivers-char-keyboardc-make-a-function-static.patch -drivers-video-fbmemc-make-a-function-static.patch -drivers-video-fbsysfsc-make-a-struct-static.patch -drivers-video-sis-make-some-functions-static.patch -drivers-md-make-some-code-static.patch -drivers-net-appletalk-make-2-firmware-images-static-const.patch -drivers-net-arcnet-capmodec-make-a-struct-static.patch -drivers-cdrom-cdu31ac-make-some-code-static.patch -floppy-driver-make-fd_routine-static.patch -drivers-cdrom-mcdxc-make-code-static.patch -drivers-block-rdc-make-a-variable-static.patch -drivers-cdrom-sbpcdc-make-a-function-static.patch -fs-nfs-make-some-functions-static.patch -cyrix-eliminate-bad-section-references.patch -drivers-media-video-tvaudioc-make-some-variables-static.patch -reiserfs-use-null-instead-of-0.patch -comments-on-locking-of-task-comm.patch -fixup-a-comment-still-refering-to-verify_area.patch -ixj-compile-warning-cleanup.patch -spelling-cleanups-in-shrinker-code.patch -codingstyle-trivial-whitespace-fixups.patch -update-ross-biro-bouncing-email-address.patch -x86-geode-support-fixes.patch -fix-ncr53c9xc-compile-warning.patch -fix-lib-sort-regression-test.patch -correctly-name-the-shell-sort.patch -lib-c-documentation-strncpy.patch -fs-udf-udftimec-fix-off-by-one-error.patch -drivers-scsi-sym53c416c-fix-a-wrong-check.patch

Merged

+fix-for-bttv-driver-v0915-for-leadtek-winfast-vc100-xp-capture-cards.patch

bttv fix

+fix-impossible-vmallocchunk.patch

/proc/meminfo fix

+ide-proc-destroy-error.patch

IDE fix

+6300esb-tco-timer-support.patch

i8xx_tco device support

+uml-remove-elfh.patch
+uml-critical-change-memcpy-to-memmove.patch

UML important updates

+md-fix-splitting-of-md-linear-request-that-cross-a-device-boundary.patch +md-set-the-unplug_fn-and-issue_flush_fn-for-md-devices-after-committed-to-creation.patch

md important updates

+mm-fix-rss-counter-being-incremented-when-unmapping.patch

VM accounting fix

+cpufreq-CPUFREQ-11-recalibrate-cpu_khz.patch +cpufreq-CPUFREQ-12-recalibrate-cpu_khz-2.patch +cpufreq-CPUFREQ-13-static-cpufreq_gov_dbs.patch +cpufreq-CPUFREQ-14-powernow-k8-dual-core-on2.6.12.patch +cpufreq-CPUFREQ-15-transition-latency-thinko.patch +cpufreq-CPUFREQ-16-conservative-governer.patch +cpufreq-CPUFREQ-17-ondemand-ignore-nice.patch +cpufreq-CPUFREQ-18-ondemand-check-rate-and-break-out.patch +cpufreq-CPUFREQ-19-ondemand-sys_freq_step.patch +cpufreq-CPUFREQ-20-powernow-k8-static-cpu_sharedcore_mask.patch -powernow-k7recalibrate-cpu_khz.patch -cpufreq-timers-recalibrate_cpu_khz.patch

Additions to cpufreq tree

-gregkh-01-driver-gregkh-driver-001_driver-hotplug_check.patch -gregkh-01-driver-gregkh-driver-002_debugfs_simple_newline.patch -gregkh-01-driver-gregkh-driver-009_driver-name-const-01.patch -gregkh-01-driver-gregkh-driver-010_driver-name-const-02.patch -gregkh-01-driver-gregkh-driver-011_driver-name-const-03.patch -gregkh-01-driver-gregkh-driver-012_driver-name-const-04.patch -gregkh-01-driver-gregkh-driver-013_driver-name-const-05.patch -gregkh-01-driver-gregkh-driver-014_driver-name-const-06.patch -gregkh-01-driver-gregkh-driver-015_sysfs-show_store_eio-01.patch -gregkh-01-driver-gregkh-driver-016_sysfs-show_store_eio-02.patch -gregkh-01-driver-gregkh-driver-017_sysfs-show_store_eio-03.patch -gregkh-01-driver-gregkh-driver-018_sysfs-show_store_eio-04.patch -gregkh-01-driver-gregkh-driver-019_sysfs-show_store_eio-05.patch -gregkh-01-driver-gregkh-driver-020_class-01-core.patch -gregkh-01-driver-gregkh-driver-021_class-02-tty.patch -gregkh-01-driver-gregkh-driver-022_class-03-input.patch -gregkh-01-driver-gregkh-driver-023_class-04-usb.patch -gregkh-01-driver-gregkh-driver-024_class-05-sound.patch -gregkh-01-driver-gregkh-driver-025_class-06-block.patch -gregkh-01-driver-gregkh-driver-026_class-07-char.patch -gregkh-01-driver-gregkh-driver-027_class-08-ieee1394.patch -gregkh-01-driver-gregkh-driver-028_class-09-scsi.patch -gregkh-01-driver-gregkh-driver-029_class-10-arch.patch -gregkh-01-driver-gregkh-driver-030_class-11-drivers.patch -gregkh-01-driver-gregkh-driver-031_class-11-drivers-usb-fix.patch -gregkh-01-driver-gregkh-driver-032_class-12-the_rest.patch -gregkh-01-driver-gregkh-driver-033_class-13-kerneldoc.patch -gregkh-01-driver-gregkh-driver-034_class-14-no_more_class_simple.patch -gregkh-01-driver-gregkh-driver-035_class-15-typo-01.patch -gregkh-01-driver-gregkh-driver-036_class-16-typo-02.patch -gregkh-01-driver-gregkh-driver-037_class-17-attribute.patch -gregkh-01-driver-gregkh-driver-038_klist-01.patch -gregkh-01-driver-gregkh-driver-039_klist-02.patch -gregkh-01-driver-gregkh-driver-040_klist-03.patch -gregkh-01-driver-gregkh-driver-041_klist-04.patch -gregkh-01-driver-gregkh-driver-042_klist-05.patch -gregkh-01-driver-gregkh-driver-043_klist-06.patch -gregkh-01-driver-gregkh-driver-044_klist-07.patch -gregkh-01-driver-gregkh-driver-045_klist-08.patch -gregkh-01-driver-gregkh-driver-046_klist-09.patch -gregkh-01-driver-gregkh-driver-047_klist-10.patch -gregkh-01-driver-gregkh-driver-048_klist-11.patch -gregkh-01-driver-gregkh-driver-049_klist-12.patch -gregkh-01-driver-gregkh-driver-050_klist-13.patch -gregkh-01-driver-gregkh-driver-051_klist-14.patch -gregkh-01-driver-gregkh-driver-052_klist-15.patch -gregkh-01-driver-gregkh-driver-053_klist-16.patch -gregkh-01-driver-gregkh-driver-054_klist-17.patch -gregkh-01-driver-gregkh-driver-055_klist-18.patch -gregkh-01-driver-gregkh-driver-056_klist-scsi-01.patch -gregkh-01-driver-gregkh-driver-057_klist-scsi-02.patch -gregkh-01-driver-gregkh-driver-058_klist-20.patch -gregkh-01-driver-gregkh-driver-059_klist-21.patch -gregkh-01-driver-gregkh-driver-060_klist-22.patch -gregkh-01-driver-gregkh-driver-061_klist-23.patch -gregkh-01-driver-gregkh-driver-062_klist-ieee1394.patch -gregkh-01-driver-gregkh-driver-063_klist-pcie.patch -gregkh-01-driver-gregkh-driver-064_klist-24.patch -gregkh-01-driver-gregkh-driver-065_klist-25.patch -gregkh-01-driver-gregkh-driver-066_klist-26.patch -gregkh-01-driver-gregkh-driver-067_klist-usb_node_attached_fix.patch -gregkh-01-driver-gregkh-driver-068_klist-sn_fix.patch +gregkh-01-driver-gregkh-driver-001_driver-pm-diag-update.patch +gregkh-01-driver-gregkh-driver-002_driver-name-const-01.patch +gregkh-01-driver-gregkh-driver-003_driver-name-const-02.patch +gregkh-01-driver-gregkh-driver-004_driver-name-const-03.patch +gregkh-01-driver-gregkh-driver-005_driver-name-const-04.patch +gregkh-01-driver-gregkh-driver-006_driver-name-const-05.patch +gregkh-01-driver-gregkh-driver-007_driver-name-const-06.patch +gregkh-01-driver-gregkh-driver-008_sysfs-show_store_eio-01.patch +gregkh-01-driver-gregkh-driver-009_sysfs-show_store_eio-02.patch +gregkh-01-driver-gregkh-driver-010_sysfs-show_store_eio-03.patch +gregkh-01-driver-gregkh-driver-011_sysfs-show_store_eio-04.patch +gregkh-01-driver-gregkh-driver-012_sysfs-show_store_eio-05.patch +gregkh-01-driver-gregkh-driver-013_class-01-core.patch +gregkh-01-driver-gregkh-driver-014_class-02-tty.patch +gregkh-01-driver-gregkh-driver-015_class-03-input.patch +gregkh-01-driver-gregkh-driver-016_class-04-usb.patch +gregkh-01-driver-gregkh-driver-017_class-05-sound.patch +gregkh-01-driver-gregkh-driver-018_class-06-block.patch +gregkh-01-driver-gregkh-driver-019_class-07-char.patch +gregkh-01-driver-gregkh-driver-020_class-08-ieee1394.patch +gregkh-01-driver-gregkh-driver-021_class-09-scsi.patch +gregkh-01-driver-gregkh-driver-022_class-10-arch.patch +gregkh-01-driver-gregkh-driver-023_class-11-drivers.patch +gregkh-01-driver-gregkh-driver-024_class-11-drivers-usb-fix.patch +gregkh-01-driver-gregkh-driver-025_class-12-the_rest.patch +gregkh-01-driver-gregkh-driver-026_class-13-kerneldoc.patch +gregkh-01-driver-gregkh-driver-027_class-14-no_more_class_simple.patch +gregkh-01-driver-gregkh-driver-028_fix-make-mandocs-after-class_simple-removal.patch +gregkh-01-driver-gregkh-driver-029_klist-01.patch +gregkh-01-driver-gregkh-driver-030_klist-02.patch +gregkh-01-driver-gregkh-driver-031_klist-03.patch +gregkh-01-driver-gregkh-driver-032_klist-04.patch +gregkh-01-driver-gregkh-driver-033_klist-05.patch +gregkh-01-driver-gregkh-driver-034_klist-06.patch +gregkh-01-driver-gregkh-driver-035_klist-07.patch +gregkh-01-driver-gregkh-driver-036_klist-08.patch +gregkh-01-driver-gregkh-driver-037_klist-09.patch +gregkh-01-driver-gregkh-driver-038_klist-10.patch +gregkh-01-driver-gregkh-driver-039_klist-11.patch +gregkh-01-driver-gregkh-driver-040_klist-12.patch +gregkh-01-driver-gregkh-driver-041_klist-13.patch +gregkh-01-driver-gregkh-driver-042_klist-14.patch +gregkh-01-driver-gregkh-driver-043_klist-15.patch +gregkh-01-driver-gregkh-driver-044_klist-16.patch +gregkh-01-driver-gregkh-driver-045_klist-17.patch +gregkh-01-driver-gregkh-driver-046_klist-18.patch +gregkh-01-driver-gregkh-driver-047_klist-scsi-01.patch +gregkh-01-driver-gregkh-driver-048_klist-scsi-02.patch +gregkh-01-driver-gregkh-driver-049_klist-20.patch +gregkh-01-driver-gregkh-driver-050_klist-21.patch +gregkh-01-driver-gregkh-driver-051_klist-22.patch +gregkh-01-driver-gregkh-driver-052_klist-23.patch +gregkh-01-driver-gregkh-driver-053_klist-ieee1394.patch +gregkh-01-driver-gregkh-driver-054_klist-pcie.patch +gregkh-01-driver-gregkh-driver-055_klist-24.patch +gregkh-01-driver-gregkh-driver-056_klist-25.patch +gregkh-01-driver-gregkh-driver-057_klist-26.patch +gregkh-01-driver-gregkh-driver-058_klist-usb_node_attached_fix.patch +gregkh-01-driver-gregkh-driver-059_klist-sn_fix.patch +gregkh-01-driver-gregkh-driver-060_klist-driver_detach_fixes.patch +gregkh-01-driver-gregkh-driver-061_klist-usbcore-dont_call_device_release_driver_recursivly.patch +gregkh-01-driver-gregkh-driver-062_driver-create-unregister_node.patch +gregkh-01-driver-gregkh-driver-063_attr_void.patch

Greg keeps renaming stuff.

-gregkh-02-i2c-gregkh-i2c-001_i2c-address_range_removal.patch -gregkh-02-i2c-gregkh-i2c-002_i2c-address_merge_video.patch -gregkh-02-i2c-gregkh-i2c-003_w1-ds18xx_sensors.patch -gregkh-02-i2c-gregkh-i2c-004_w1-new_rom_family.patch -gregkh-02-i2c-gregkh-i2c-005_i2c-rtc8564_duplicate_include.patch -gregkh-02-i2c-gregkh-i2c-006_i2c-vid_h.patch -gregkh-02-i2c-gregkh-i2c-007_i2c-atxp1.patch -gregkh-02-i2c-gregkh-i2c-008_i2c-atxp1-cleanup.patch -gregkh-02-i2c-gregkh-i2c-009_i2c-ds1337-01.patch -gregkh-02-i2c-gregkh-i2c-010_i2c-ds1337-02.patch -gregkh-02-i2c-gregkh-i2c-011_i2c-ds1337-03.patch -gregkh-02-i2c-gregkh-i2c-012_i2c-config_cleanup-01.patch -gregkh-02-i2c-gregkh-i2c-013_i2c-config_cleanup-02.patch -gregkh-02-i2c-gregkh-i2c-014_i2c-ali1563.patch -gregkh-02-i2c-gregkh-i2c-015_i2c-adm9240.patch -gregkh-02-i2c-gregkh-i2c-016_i2c-w83627ehf.patch -gregkh-02-i2c-gregkh-i2c-017_i2c-w83627ehf-cleanup.patch -gregkh-02-i2c-gregkh-i2c-018_i2c-smsc47m1.patch -gregkh-02-i2c-gregkh-i2c-019_i2c-spelling_fixes.patch -gregkh-02-i2c-gregkh-i2c-020_i2c-mpc-share_interrupt.patch +gregkh-02-i2c-gregkh-i2c-001_i2c-ali1563.patch +gregkh-02-i2c-gregkh-i2c-002_i2c-address_range_removal.patch +gregkh-02-i2c-gregkh-i2c-003_i2c-address_merge_video.patch +gregkh-02-i2c-gregkh-i2c-004_w1-ds18xx_sensors.patch +gregkh-02-i2c-gregkh-i2c-005_w1-new_rom_family.patch +gregkh-02-i2c-gregkh-i2c-006_i2c-rtc8564_duplicate_include.patch +gregkh-02-i2c-gregkh-i2c-007_i2c-vid_h.patch +gregkh-02-i2c-gregkh-i2c-008_i2c-atxp1.patch +gregkh-02-i2c-gregkh-i2c-009_i2c-atxp1-cleanup.patch +gregkh-02-i2c-gregkh-i2c-010_i2c-ds1337-01.patch +gregkh-02-i2c-gregkh-i2c-011_i2c-ds1337-02.patch +gregkh-02-i2c-gregkh-i2c-012_i2c-ds1337-03.patch +gregkh-02-i2c-gregkh-i2c-013_i2c-ds1337_make_time_format_consistent.patch +gregkh-02-i2c-gregkh-i2c-014_i2c-ds1337_i2c_transfer_check.patch +gregkh-02-i2c-gregkh-i2c-015_i2c-ds1337_search_by_bus_number.patch +gregkh-02-i2c-gregkh-i2c-016_i2c-ds1337-config-update.patch +gregkh-02-i2c-gregkh-i2c-017_i2c-config_cleanup-01.patch +gregkh-02-i2c-gregkh-i2c-018_i2c-config_cleanup-02.patch +gregkh-02-i2c-gregkh-i2c-019_i2c-adm9240.patch +gregkh-02-i2c-gregkh-i2c-020_i2c-w83627ehf.patch +gregkh-02-i2c-gregkh-i2c-021_i2c-w83627ehf-cleanup.patch +gregkh-02-i2c-gregkh-i2c-022_i2c-smsc47m1.patch +gregkh-02-i2c-gregkh-i2c-023_i2c-spelling_fixes.patch +gregkh-02-i2c-gregkh-i2c-024_i2c-mpc-share_interrupt.patch +gregkh-02-i2c-gregkh-i2c-025_i2c-remove_redundancy_from_i2c_core.patch +gregkh-02-i2c-gregkh-i2c-026_i2c-remove_delay_h_from_via686a.patch -remove-redundancy-from-i2c-corec.patch

Ditto

+git-ia64-pre.patch
git-ia64.patch
+git-ia64-post.patch

Patches to make the ia64 tree merging easier.

-i8k-use-standard-dmi-interface-fix.patch

Folded into i8k-use-standard-dmi-interface.patch

+git-ipsec.patch

IPSec tree

+ipvs-add-and-reorder-bh-locks-after-moving-to-keventd.patch

IPVS locking fix

+r8169-de-obfuscate-supported-pci-id.patch +r8169-identify-the-napi-version.patch +r8169-add-module-parameter-description-for-copybreak.patch +r8169-add-module-parameter-description-for-the-media-option.patch +r8169-ethtool-message-level-control-support.patch +r8169-ethtool-support-for-dumping-the-chip-statistics.patch +r8169-cleanup-function-args.patch +tulip-natsemi-dp83840a-phy-fix.patch

Net driver updates

-bk-ntfs.patch
+git-ntfs.patch

Anton's NTFS tree has moved over to git.

-gregkh-03-pci-gregkh-pci-012_pci-pci-transparent-bridge-handling-improvements-pci-core.patch -gregkh-03-pci-gregkh-pci-013_pci-pirq_table_addr-out-of-range.patch -gregkh-03-pci-gregkh-pci-014_pci-get_device-01.patch -gregkh-03-pci-gregkh-pci-015_pci-get_device-02.patch -gregkh-03-pci-gregkh-pci-016_pci-acpiphp-02.patch -gregkh-03-pci-gregkh-pci-017_pci-acpiphp-03.patch -gregkh-03-pci-gregkh-pci-018_pci-acpiphp-04.patch -gregkh-03-pci-gregkh-pci-019_pci-acpiphp-05.patch -gregkh-03-pci-gregkh-pci-020_pci-acpiphp-06.patch -gregkh-03-pci-gregkh-pci-021_pci-acpiphp-07.patch -gregkh-03-pci-gregkh-pci-022_pci-acpiphp-08.patch -gregkh-03-pci-gregkh-pci-023_pci-acpiphp-09.patch -gregkh-03-pci-gregkh-pci-024_pci-acpiphp-10.patch -gregkh-03-pci-gregkh-pci-025_pci-acpiphp-11.patch -gregkh-03-pci-gregkh-pci-026_pci-acpiphp-12.patch -gregkh-03-pci-gregkh-pci-027_pci-acpiphp-13.patch -gregkh-03-pci-gregkh-pci-028_pci-acpiphp-14.patch -gregkh-03-pci-gregkh-pci-029_pci-acpiphp-15.patch -gregkh-03-pci-gregkh-pci-030_pci-acpiphp-16.patch -gregkh-03-pci-gregkh-pci-031_pci-acpiphp-17.patch -gregkh-03-pci-gregkh-pci-032_pci-acpiphp-18.patch -gregkh-03-pci-gregkh-pci-033_pci-acpiphp-19.patch -gregkh-03-pci-gregkh-pci-034_pci-acpiphp-20.patch +gregkh-03-pci-gregkh-pci-001_pci-hotplug-shpc-power-fix.patch +gregkh-03-pci-gregkh-pci-002_pci-pciehp-downstream-port-fix.patch +gregkh-03-pci-gregkh-pci-003_pci-cpci-update.patch +gregkh-03-pci-gregkh-pci-004_pci-remove-pci_visit_dev.patch +gregkh-03-pci-gregkh-pci-005_pci-pci-transparent-bridge-handling-improvements-pci-core.patch +gregkh-03-pci-gregkh-pci-006_pci-pirq_table_addr-out-of-range.patch +gregkh-03-pci-gregkh-pci-007_pci-get_device-01.patch +gregkh-03-pci-gregkh-pci-008_pci-get_device-02.patch +gregkh-03-pci-gregkh-pci-009_pci-acpiphp-02.patch +gregkh-03-pci-gregkh-pci-010_pci-acpiphp-03.patch +gregkh-03-pci-gregkh-pci-011_pci-acpiphp-04.patch +gregkh-03-pci-gregkh-pci-012_pci-acpiphp-05.patch +gregkh-03-pci-gregkh-pci-013_pci-acpiphp-06.patch +gregkh-03-pci-gregkh-pci-014_pci-acpiphp-07.patch +gregkh-03-pci-gregkh-pci-015_pci-acpiphp-08.patch +gregkh-03-pci-gregkh-pci-016_pci-acpiphp-09.patch +gregkh-03-pci-gregkh-pci-017_pci-acpiphp-10.patch +gregkh-03-pci-gregkh-pci-018_pci-acpiphp-11.patch +gregkh-03-pci-gregkh-pci-019_pci-acpiphp-12.patch +gregkh-03-pci-gregkh-pci-020_pci-acpiphp-13.patch +gregkh-03-pci-gregkh-pci-021_pci-acpiphp-14.patch +gregkh-03-pci-gregkh-pci-022_pci-acpiphp-15.patch +gregkh-03-pci-gregkh-pci-023_pci-acpiphp-16.patch +gregkh-03-pci-gregkh-pci-024_pci-acpiphp-17.patch +gregkh-03-pci-gregkh-pci-025_pci-acpiphp-18.patch +gregkh-03-pci-gregkh-pci-026_pci-acpiphp-19.patch +gregkh-03-pci-gregkh-pci-027_pci-acpiphp-20.patch +gregkh-03-pci-gregkh-pci-028_pci-serverworks-gc-quirk.patch

Greg's PCI tree. Hard to tell what changed.

-git-scsi-rc-fixes.patch

This tree is now empty

-add-scsi-changer-driver.patch
-scsi-ch-build-fix.patch
-add-scsi-changer-driver-fix.patch

The scsi changer patch has been updated, but the updated version uses sysfs APIs which Greg's tree deletes. Things are being fixed up.

-gregkh-04-USB-gregkh-usb-011_usb-g_file_storage_min.patch -gregkh-04-USB-gregkh-usb-012_usb-g_file_storage_stall.patch -gregkh-04-USB-gregkh-usb-013_usb-omap_udc_update.patch -gregkh-04-USB-gregkh-usb-014_usb-isp116x-hcd-add.patch -gregkh-04-USB-gregkh-usb-015_usb-isp116x-hcd-fix.patch -gregkh-04-USB-gregkh-usb-016_usb-turn-a-user-mode-driver-error-into-a-hard-error.patch -gregkh-04-USB-gregkh-usb-017_usb-uhci-01.patch -gregkh-04-USB-gregkh-usb-018_usb-uhci-02.patch -gregkh-04-USB-gregkh-usb-019_usb-uhci-03.patch -gregkh-04-USB-gregkh-usb-020_usb-uhci-04.patch -gregkh-04-USB-gregkh-usb-021_usb-uhci-05.patch -gregkh-04-USB-gregkh-usb-022_usb-uhci-06.patch -gregkh-04-USB-gregkh-usb-023_usb-uhci-07.patch -gregkh-04-USB-gregkh-usb-024_usb-uhci-08.patch -gregkh-04-USB-gregkh-usb-025_usb-root_hub_irq.patch -gregkh-04-USB-gregkh-usb-026_usb-cdc_acm.patch -gregkh-04-USB-gregkh-usb-027_usb-usbtest.patch -gregkh-04-USB-gregkh-usb-028_usb-ohci_reboot_notifier.patch -gregkh-04-USB-gregkh-usb-029_usb_serial_status.patch -gregkh-04-USB-gregkh-usb-030_usb-zd1201_pm.patch -gregkh-04-USB-gregkh-usb-031_usb-zd1201_pm-02.patch -gregkh-04-USB-gregkh-usb-032_usb-remove_hub_set_power_budget.patch -gregkh-04-USB-gregkh-usb-033_usb-device_pointer.patch -gregkh-04-USB-gregkh-usb-034_usb-hcd_fix_for_remove_hub_set_power_budget.patch -gregkh-04-USB-gregkh-usb-035_usb-usbcore_usb_add_hcd.patch -gregkh-04-USB-gregkh-usb-036_usb-hcds_no_more_register_root_hub.patch -gregkh-04-USB-gregkh-usb-037_usb-ub_multi_lun.patch -gregkh-04-USB-gregkh-usb-038_usb-rndis_cleanups.patch -gregkh-04-USB-gregkh-usb-039_usb-ethernet_gadget_cleanups.patch -gregkh-04-USB-gregkh-usb-040_usb-omap_udc_cleanups.patch -gregkh-04-USB-gregkh-usb-041_usb-dummy_hcd-otg.patch -gregkh-04-USB-gregkh-usb-042_usb-dummy_hcd-FEAT.patch -gregkh-04-USB-gregkh-usb-043_usb-dummy_hcd-pdevs.patch -gregkh-04-USB-gregkh-usb-044_usb-dummy_hcd-centralize-link.patch -gregkh-04-USB-gregkh-usb-045_usb-dummy_hcd-root-hub_no-polling.patch +gregkh-04-USB-gregkh-usb-001_usb-usbnet-fixes.patch +gregkh-04-USB-gregkh-usb-002_usb-ehci-suspend-stop-timer.patch +gregkh-04-USB-gregkh-usb-003_usb-g_file_storage_min.patch +gregkh-04-USB-gregkh-usb-004_usb-g_file_storage_stall.patch +gregkh-04-USB-gregkh-usb-005_usb-omap_udc_update.patch +gregkh-04-USB-gregkh-usb-006_usb-isp116x-hcd-add.patch +gregkh-04-USB-gregkh-usb-007_usb-isp116x-hcd-fix.patch +gregkh-04-USB-gregkh-usb-008_usb-turn-a-user-mode-driver-error-into-a-hard-error.patch +gregkh-04-USB-gregkh-usb-009_usb-uhci-01.patch +gregkh-04-USB-gregkh-usb-010_usb-uhci-02.patch +gregkh-04-USB-gregkh-usb-011_usb-uhci-03.patch +gregkh-04-USB-gregkh-usb-012_usb-uhci-04.patch +gregkh-04-USB-gregkh-usb-013_usb-uhci-05.patch +gregkh-04-USB-gregkh-usb-014_usb-uhci-06.patch +gregkh-04-USB-gregkh-usb-015_usb-uhci-07.patch +gregkh-04-USB-gregkh-usb-016_usb-uhci-08.patch +gregkh-04-USB-gregkh-usb-017_usb-root_hub_irq.patch +gregkh-04-USB-gregkh-usb-018_usb-cdc_acm.patch +gregkh-04-USB-gregkh-usb-019_usb-usbtest.patch +gregkh-04-USB-gregkh-usb-020_usb-ohci_reboot_notifier.patch +gregkh-04-USB-gregkh-usb-021_usb_serial_status.patch +gregkh-04-USB-gregkh-usb-022_usb-zd1201_pm.patch +gregkh-04-USB-gregkh-usb-023_usb-zd1201_pm-02.patch +gregkh-04-USB-gregkh-usb-024_usb-remove_hub_set_power_budget.patch +gregkh-04-USB-gregkh-usb-025_usb-device_pointer.patch +gregkh-04-USB-gregkh-usb-026_usb-hcd_fix_for_remove_hub_set_power_budget.patch +gregkh-04-USB-gregkh-usb-027_usb-usbcore_usb_add_hcd.patch +gregkh-04-USB-gregkh-usb-028_usb-hcds_no_more_register_root_hub.patch +gregkh-04-USB-gregkh-usb-029_usb-ub_multi_lun.patch +gregkh-04-USB-gregkh-usb-030_usb-rndis_cleanups.patch +gregkh-04-USB-gregkh-usb-031_usb-ethernet_gadget_cleanups.patch +gregkh-04-USB-gregkh-usb-032_usb-omap_udc_cleanups.patch +gregkh-04-USB-gregkh-usb-033_usb-dummy_hcd-otg.patch +gregkh-04-USB-gregkh-usb-034_usb-dummy_hcd-FEAT.patch +gregkh-04-USB-gregkh-usb-035_usb-dummy_hcd-pdevs.patch +gregkh-04-USB-gregkh-usb-036_usb-dummy_hcd-centralize-link.patch +gregkh-04-USB-gregkh-usb-037_usb-dummy_hcd-root-hub_no-polling.patch +gregkh-04-USB-gregkh-usb-038_usb-remove_pwc_changelog.patch +gregkh-04-USB-gregkh-usb-039_usb-add-new-wacom-device-to-usb-hid-core-list.patch +gregkh-04-USB-gregkh-usb-040_usb-urb_documentation.patch +gregkh-04-USB-gregkh-usb-041_usb-idmouse_update.patch +gregkh-04-USB-gregkh-usb-042_usb-gadget-kconfig.patch +gregkh-04-USB-gregkh-usb-043_usb-gadget-setup-api-change.patch +gregkh-04-USB-gregkh-usb-044_usb-gadget-setup-api-change-net2280.patch +gregkh-04-USB-gregkh-usb-045_usb-gadget-setup-api-change-goku_udc.patch +gregkh-04-USB-gregkh-usb-046_usb-gadget-pxa2xx_udc-updates.patch +gregkh-04-USB-gregkh-usb-047_usb-ehci-minor-updates.patch +gregkh-04-USB-gregkh-usb-048_usb-earthmate-hid-blacklist.patch -add-new-wacom-device-to-usb-hid-core-list.patch

USB tree

+make-each-arch-use-mm-kconfig-fix.patch

Folded into make-each-arch-use-mm-kconfig.patch

+generify-early_pfn_to_nid.patch
+generify-memory-present.patch
+sparsemem-memory-model.patch
+sparsemem-memory-model-for-i386.patch
+sparsemem-swiss-cheese-numa-layouts.patch
+sparsemem-hotplug-base.patch
+ppc64-add-early_pfn_to_nid.patch
+ppc64-add-memory-present.patch
+ppc64-sparsemem-memory-model.patch
+ppc64-sparsemem-memory-model-fix.patch

More sparsemem stuff

+block_read_full_page-get_block-error-fix.patch +avoiding-mmap-fragmentation.patch +avoiding-mmap-fragmentation-tidy.patch +do_swap_page-can-map-random-data-if-swap-read-fails.patch +move_vma-comment.patch

Various mm/vfs fixes

+3c509-device-support.patch +fix-ieee80211_crypt_-selects.patch
+ipt_recent-fixes.patch +atm-nicstar-remove-a-bunch-of-pointless-casts-of-null.patch +iseries_veth-dont-send-packets-to-lpars-which-arent-up.patch +iseries_veth-set-dev-trans_start-so-watchdog-timer-works-right.patch +iseries_veth-dont-leak-skbs-in-rx-path.patch +iseries_veth-cleanup-skbs-to-prevent-unregister_netdevice-hanging.patch

Various networking things

+kbuild-display-compile-version.patch

kbuild feature

+selinux-fix-avc_alloc_node-oom-with-no-policy-loaded.patch

SELinux out-of-memory fix

+make-sure-therm_adt746x-only-handles-known-hardware.patch +ppc32-small-cpufreq-update.patch +ppc32-fix-uimage-make-target-to-report-success-correctly.patch +ppc32-kill-embedded-systemmap-use-kallsyms.patch

ppc32 updates

-added-no_ioapic_check-in-io_apic_get_unique_id-for-acpi-boot.patch

Dropped

+allow-pcibus_to_node-to-return-undetermined.patch

pcibus_to_node() fix

+i386-never-block-forced-sigsegv.patch

SIgnal fix

+do-not-enforce-unique-io_apic_id-check-for-xapic-systems-i386.patch +remove-unique-apic-io-apic-id-check.patch

IO APIC fixes

+optimise-storage-of-read-mostly-variables-fix.patch +optimise-storage-of-read-mostly-variables-x86_64-fix.patch

Sort-of fix optimise-storage-of-read-mostly-variables.patch

+x86_64-never-block-forced-sigsegv.patch

Signal fix

+sep-initializing-rework-cleanup.patch

Fix sep-initializing-rework.patch even more

+physical-cpu-hot-add-fix.patch

Fix physical-cpu-hot-add.patch

+swsusp-clean-assembly-parts.patch

swsusp cleanup

+uml-add-modversions-support.patch +uml-add-mod_license-to-random-driver.patch +uml-split-config_frame_pointer-from-debug_info.patch +uml-stack-dump-fix.patch

UML fixes

-enable-sig_ign-on-blocked-signals.patch

Dropped - was wrong.

+vfs-bugfix-two-read_inode-calles-without.patch
+__wait_on_freeing_inode-fix.patch

VFS race fixes

+kbtab-tweaks-pen-tool-reporting.patch

input driver fix

+remove-duplicate-get_dentry-functions-in-various-places.patch

VFS cleanup

+avoid-recursive-oopses.patch

Try to prevent oops-within-oops

+quota-consolidate-code-surrounding-vfs_quota_on_mount.patch +quota-sanitize-dentry-handling-in-vfs_quota_on_mount.patch

Quota cleanups

+kprobes-function-return-probes.patch
+kprobes-function-return-probes-fix.patch
+kprobes-function-return-probes-fix-2.patch
+kprobes-function-return-probes-fix-3.patch

kprobes feature work

+setuid-core-dump.patch

Enhanced core dumping options

+support-for-dx-directories-in-ext3_get_parent-nfsd.patch

ext3 htree fix

+document-the-fact-that-linux-arm-kernel-is-subscribers-only.patch

MAINTAINERS fix

+fix-pci-mmap-on-ppc-and-ppc64.patch
+fix-pci-mmap-on-ppc-and-ppc64-fix.patch

Fix mmapping of PCI devices

+add-some-comments-to-lookup_create.patch

Add a comment

+fix-of-bogus-file-max-limit-messages.patch

Fix the file handle allocator

+software-suspend-and-recalc-sigpending-bug-fix.patch

swsusp fix

+o1-sb-list-traversing-on-syncs.patch

speed up sync()

+fix-of-dcache-race-leading-to-busy-inodes-on-umount.patch +fix-of-dcache-race-leading-to-busy-inodes-on-umount-fix.patch +fix-of-dcache-race-leading-to-busy-inodes-on-umount-tidy.patch

dcache race fix (bit ugly)

+26-altix-shut-off-xmit-intr-if-done-xmitting.patch

Altix serial driver fix

+parport-netmos-nm9855-fix.patch

parport driver fix

+char-tpm-use-msleep-clean-up-timers.patch +fix-concerns-with-tpm-driver-use-enums.patch +fix-tpm-driver-address-missing-const-defs.patch +fix-tpm-driver-remove-unnecessary-module-stuff.patch +fix-tpm-driver-read-return-code-issue.patch +fix-tpm-driver-large-stack-objects.patch +fix-tpm-driver-how-timer-is-initialized.patch +fix-tpm-driver-use-to_pci_dev.patch +fix-tpm-driver-remove-unnecessary-__force.patch +fix-tpm-driver-sysfs-owernship-changes.patch +fix-tpm-driver-add-cancel-function.patch +fix-tpm-driver-locks.patch +tpm-support-for-tpms-on-additional-lpc-bus.patch +tpm-support-for-tpms-on-additional-lpc-bus-fix-2.patch

tpm driver fixes

+ieee1394-feature-removal-notices.patch +drivers-ieee1394-pcilynxc-remove-dead-options.patch +drivers-ieee1394-ieee1394_transactionsc-possible-cleanups.patch +ieee1394-remove-null-checks-prior-to-kfree-in-ieee1394-kfree-handles-null-pointers-fin.patch +drivers-ieee1394-pcilynxc-use-the-dma_32bit_mask-constant.patch +ieee1394-single-buffer-fixes-to-video1394.patch +ieee1394-fix-cross_bound-check-for-null-iso-packets.patch +ieee1394-fix-premature-expiry-of-async-packets.patch

ieee1394 tree

+connector-warning-fixes.patch

Fix connector.patch

+connector-add-a-fork-connector.patch
+connector-add-a-fork-connector-build-fix.patch

Use the connector for fork notifications for system accounting

+inotify-44-warning-fix.patch

inotify tweak

+dvb-support-for-tt-hauppauge-nexus-s-rev-23.patch +dvb-saa7146-no-need-to-initialize-static-global-variables-to-0.patch +dvb-dvb_frontend-fix-module-param.patch +dvb-av7110-audio-out-fix.patch +dvb-add-support-for-knc-1-cards.patch +dvb-remove-unnecessary-casts-in-dvb-core.patch +dvb-dvb_net-handle-ipv6-and-llc-snap.patch +dvb-av7110-fix-video_set_display_format.patch +dvb-av7110-fix-ntsc-pal-switching.patch +dvb-av7110-fix-comment.patch +dvb-av7110-fix-indentation.patch +dvb-nxt6000-support-frontend-status-reads.patch +dvb-tda1004x-formatting-cleanups.patch +dvb-stv0299-fix-fe_dishnetwork_send_legacy_cmd.patch +dvb-remove-unnecessary-casts-in-frontends.patch +dvb-dib3000-add-null-pointer-check.patch +dvb-ves1820-remove-unnecessary-msleep.patch +dvb-mt352-embed-struct-mt352_config-in-mt352_state.patch +dvb-tda1004x-dont-use-bitfields.patch +dvb-tda1004x-allow-n_i2c-to-be-overridden-by-the-card-driver.patch +dvb-tda10046-support-for-different-firmware-versions.patch +dvb-dvb-pllh-prevent-multiple-inclusion.patch +dvb-make-needlessly-global-code-static-or-drop-it.patch +dvb-frontends-misc-minor-cleanups.patch +dvb-modified-dvb_register_adapter-to-avoid-kmalloc-kfree.patch +dvb-bt8xx-update-documentation.patch +dvb-dst-reorganize-twinhan-dst-driver-to-support-ci.patch +dvb-dst-add-support-for-twinhan-200103a.patch +dvb-dst-fixed-tuning-problem.patch +dvb-dst-fix-for-descrambling-failure.patch +dvb-dst-misc-fixes.patch +dvb-bt8xx-updated-documentation.patch +dvb-dst-fix-a-bug-in-the-module-parameter.patch +dvb-dst-fixed-ci-debug-output.patch +dvb-bt8xx-whitespace-cleanup.patch +dvb-budget-av-ci-fixes.patch

DVB update

+nr_blockdev_pages-in_interrupt-warning.patch

Warn if someone calls nr_blockdev_pages() from interrupt (si_meminfo() is not irq-safe).

+nmi-lockup-and-altsysrq-p-dumping-calltraces-on-_all_-cpus.patch

Generate all-CPU backtraces with sysrq-P or NMI watchdog timeouts, so everything you want to see scrolls off the screen.

+v4l-saa7134-byteorder-fix.patch

v4l fix

+kexec-kexec-generic-maintainers-fix.patch

MAINTAINERS fix

+ppc64-kexec-native-hash-clear.patch
+ppc64-kexec-support-for-ppc64.patch

ppc64 kexec fixes

+kdump-documentation-for-kdump-update-fix.patch

kdump documentation fix

+reiser4-sb_sync_inodes-cleanup.patch

VFS cleanup

+bring-back-tux-on-chips-65550-framebuffer.patch
+s1d13xxxfb-linkage-fix.patch
+some-vesafb-fixes.patch

fbdev updates

+md-two-small-fixes-for-md-verion-1-superblocks.patch +md-dont-skip-bitmap-pages-due-to-lack-of-bit-that-we-just-cleared-fix.patch

Fixes for the md patches in -mm.

+docbook-only-use-tabular-style-for-long-synopsis.patch +docbook-maintainer.patch

docbook system updates

+fuse-read-write-operations-fix-lookup-forget-interface.patch

FUSE fix

+alsa-3142.patch
+alsa-3143.patch
+alsa-3144.patch
+alsa-3145.patch
+alsa-3146.patch
+alsa-3147.patch
+alsa-3148.patch
+alsa-3149.patch
+alsa-3150.patch
+alsa-3151.patch
+alsa-3152.patch
+alsa-3153.patch
+alsa-3154.patch
+alsa-3155.patch
+alsa-3156.patch
+alsa-3157.patch
+alsa-3158.patch
+alsa-3159.patch
+alsa-3160.patch
+alsa-3161.patch
+alsa-3162.patch
+alsa-3163.patch
+alsa-3164.patch
+alsa-3165.patch
+alsa-3166.patch
+alsa-3167.patch

ALSA updates

+drivers-media-video-tvaudioc-make-some-variables-static.patch +update-computone-maintainers-entry.patch +remove-pointless-null-check-before-kfree-in-sony535c.patch +kfree-cleanups-in-ixjc.patch +fusion-kfree-cleanup.patch +kfree-cleanups-for-drivers-firmware.patch

Little tweaks

number of patches in -mm: 1042
number of changesets in external trees: 388
number of patches in -mm only: 1033
total patches: 1421

All 1024 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/patch-list

#1 lore raw

Re: 2.6.12-rc4-mm1, build results compared to 2.6.12-rc3-mm3

Quoted 1 line · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

Comparing 2.6.12-rc3-mm3 to 2.6.12-rc4-mm1 (defconfig)

- sparc64: broke

    CC      arch/sparc64/kernel/signal32.o
    CC      arch/sparc64/kernel/ioctl32.o
    CC      arch/sparc64/kernel/binfmt_elf32.o
    CC      arch/sparc64/kernel/module.o
    CC      arch/sparc64/kernel/kprobes.o

In file included from /usr/src/ctest/mm/kernel/arch/sparc64/kernel/kprobes.c:8:
/usr/src/ctest/mm/kernel/include/linux/kprobes.h:122: error: parse error before "spinlock_t" /usr/src/ctest/mm/kernel/include/linux/kprobes.h:123: warning: function declaration isn't a prototype make[2]: *** [arch/sparc64/kernel/kprobes.o] Error 1
make[1]: *** [arch/sparc64/kernel] Error 2
make: *** [_all] Error 2
Details: http://l4x.org/k/?d=3653

- arm: fixed
Details: http://l4x.org/k/?d=3634

- arm26: still broken
Details: http://l4x.org/k/?d=3635

- cris: still broken
Details: http://l4x.org/k/?d=3636

- frv: still broken
Details: http://l4x.org/k/?d=3637

- h8300: still broken
Details: http://l4x.org/k/?d=3638

- ia64: still broken
Details: http://l4x.org/k/?d=3640

- m32r: still broken
Details: http://l4x.org/k/?d=3641

- m68k: still broken
Details: http://l4x.org/k/?d=3642

- m68knommu: still broken
Details: http://l4x.org/k/?d=3644

- parisc: still broken
Details: http://l4x.org/k/?d=3646

- s390: still broken
Details: http://l4x.org/k/?d=3649

- sh: still broken
Details: http://l4x.org/k/?d=3650

- sh64: still broken
Details: http://l4x.org/k/?d=3651

- v850: still broken
Details: http://l4x.org/k/?d=3655

Summary: 8 ok, 14 failed

Signature · 1 line
Jan
#2 lore raw

Re: 2.6.12-rc4-mm1, build results compared to 2.6.12-rc3-mm3

Quoted 12 lines · Jan Dittmer
Quoted 1 line · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

Comparing 2.6.12-rc3-mm3 to 2.6.12-rc4-mm1 (defconfig)

- sparc64: broke

    CC      arch/sparc64/kernel/signal32.o
    CC      arch/sparc64/kernel/ioctl32.o
    CC      arch/sparc64/kernel/binfmt_elf32.o
    CC      arch/sparc64/kernel/module.o
    CC      arch/sparc64/kernel/kprobes.o
Quoted 6 lines

In file included from /usr/src/ctest/mm/kernel/arch/sparc64/kernel/kprobes.c:8:
/usr/src/ctest/mm/kernel/include/linux/kprobes.h:122: error: parse error before "spinlock_t" /usr/src/ctest/mm/kernel/include/linux/kprobes.h:123: warning: function declaration isn't a prototype make[2]: *** [arch/sparc64/kernel/kprobes.o] Error 1
make[1]: *** [arch/sparc64/kernel] Error 2
make: *** [_all] Error 2

#include <linux/sched.h> to fix this compile issue.

---

 linux-2.6.12-rc4-mm1-maneesh/include/linux/kprobes.h |    1 +
 1 files changed, 1 insertion(+)
include/linux/kprobes.h renamed from include/linux/kprobes.h~kprobes-function-return-probes-sparc64-compile-fix +1 -0
diff -puN include/linux/kprobes.h~kprobes-function-return-probes-sparc64-compile-fix include/linux/kprobes.h
@@ -33,6 +33,7 @@
 #include <linux/list.h>
 #include <linux/notifier.h>
 #include <linux/smp.h>
+#include <linux/sched.h>
 #include <asm/kprobes.h>
 
 struct kprobe;

_

Thanks
Maneesh

Signature · 6 lines
Maneesh Soni
Linux Technology Center, 
IBM India Software Labs,
Bangalore, India
email: [email protected]
Phone: 91-80-25044990
#3 lore raw
In reply to Andrew Morton

Hi,

Quoted 8 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

- Added Herbert Xu's ipsec tree to the -mm lineup, as git-ipsec.patch

- Lots of updates all over the place

Changes since 2.6.12-rc3-mm3:

Just compiled this one up and this appeared in the log:

eth0: no IPv6 routers present
Installing knfsd (copyright (C) 1996 [email protected]).

------------[ cut here ]------------
kernel BUG at include/asm/spinlock.h:99!
invalid operand: 0000 [#1]
SMP
Modules linked in: nfsd exportfs lockd eeprom it87 i2c_sensor i2c_isa sunrpc ipv6 binfmt_misc dm_mod video thermal processor hotkey
fan button ac i2c_i801 sr_mod
CPU:    0
EIP:    0060:[<c034cc81>]    Not tainted VLI
EFLAGS: 00010202   (2.6.12-rc4-mm1)

EIP is at _spin_unlock+0x24/0x2e
eax: 00000001 ebx: dfc5bf44 ecx: 00000400 edx: c03aa764
esi: dfb8f8e8 edi: dfc5be80 ebp: dfc5be78 esp: dfc5be78
ds: 007b es: 007b ss: 0068
Process pdflush (pid: 144, threadinfo=dfc5a000 task=dfe13530)

Stack: dfc5bf1c c01cb806 4b1b5d0b 00000001 dead4ead 00000000 00000001 dfc5be94
       dfc5be94 00000000 dfc5bea0 dfc5bea0 00000000 00000000 00000000 00000000
       00000000 00000001 dead4ead dfc5bec4 dfc5bec4 dfc5bed0 00000001 dead4ead
Call Trace:
 [<c0103a43>] show_stack+0x94/0xca
 [<c0103bf7>] show_registers+0x165/0x1f9
 [<c0103e09>] die+0xf4/0x16f
 [<c01041b3>] do_invalid_op+0x97/0xa1
 [<c010369b>] error_code+0x4f/0x54
 [<c01cb806>] reiser4_sync_inodes+0x39/0x6f
 [<c01778b2>] sync_sb_inodes+0x14/0x20
 [<c0177928>] writeback_inodes+0x6a/0xd7
 [<c013f609>] wb_kupdate+0x82/0xeb
 [<c013fdeb>] __pdflush+0xcb/0x197
 [<c013fed5>] pdflush+0x1e/0x20
 [<c012f107>] kthread+0x99/0x9d
 [<c0101075>] kernel_thread_helper+0x5/0xb
Code: 00 65 e0 35 c0 eb e6 55 89 e5 89 c2 81 78 04 ad 4e ad de 75 0c 0f b6 02 84 c0 7f 0f c6 02 01 5d c3 0f 0b 62 00 65 e0 35 c0 eb

ea <0f> 0b 63 00 65 e0 35 c0 eb e7 55 89 e5 f0 81 00 00 00 00 01 5d

This is new to -rc4-mm1.

Is the patch "reiser4-sb_sync_inodes-cleanup.patch" likely to be the culprit?

Reuben

#4 lore raw
Quoted 11 lines · Reuben Farrelly

Hi,

Quoted 7 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

- Added Herbert Xu's ipsec tree to the -mm lineup, as git-ipsec.patch

- Lots of updates all over the place

Quoted 8 lines
Quoted 1 line

Changes since 2.6.12-rc3-mm3:

Just compiled this one up and this appeared in the log:

eth0: no IPv6 routers present
Installing knfsd (copyright (C) 1996 [email protected]).

------------[ cut here ]------------
kernel BUG at include/asm/spinlock.h:99!

err, yes.

Quoted 1 line

Is the patch "reiser4-sb_sync_inodes-cleanup.patch" likely to be the culprit?

It is. Seems I only got sent half a patch?

#5 lore raw
In reply to Reuben Farrelly

I got a similar but slightly different bug:

kernel BUG at kernel/sched.c:2731!
invalid operand: 0000 [#1]
PREEMPT

CPU:    0
EIP:    0060:[<c01160d5>]    Not tainted VLI
EFLAGS: 00010202   (2.6.12-rc4-mm1)

EIP is at sub_preempt_count+0x35/0x40
eax: dfbbe000 ebx: dfbbfe98 ecx: dfc1b4cc edx: 00000001
esi: dfc1b450 edi: dfbbfdf4 ebp: dfbbfde4 esp: dfbbfde4
ds: 007b es: 007b ss: 0068
Process mount (pid: 450, threadinfo=dfbbe000 task=dfcac5e0)

Stack: c14d6000 c01dc3a4 dfc1b450 dfbbfe98 4b1b5d0b 00000000 00000001 dfbbfe00
      dfbbfe00 00000000 dfbbfe0c dfbbfe0c 00000000 00000000 00000000 00000000
      00000000 dfbbfe28 dfbbfe28 dfbbfe34 00000000 00000001 00000000 dfbbfe40
Call Trace:
[<c01dc3a4>] reiser4_sync_inodes+0x44/0x90
[<c017c83e>] sync_sb_inodes+0x2e/0x40
[<c017c9c4>] sync_inodes_sb+0x74/0x80
[<c0158af8>] fsync_super+0x18/0xb0
[<c015e87d>] do_remount_sb+0x3d/0x100
[<c0175c23>] do_remount+0x93/0xd0
[<c01766c7>] do_mount+0x187/0x1a0
[<c01764e3>] copy_mount_options+0x63/0xc0
[<c0176b2f>] sys_mount+0x9f/0xe0
[<c0102fc1>] syscall_call+0x7/0xb
Code: 89 e5 3b 50 14 7f 24 81 fa fe 00 00 00 76 0c b8 00 e0 ff ff 21 e0 29 50 14 c9 c3 80 78 14 00 75 ee 0f 0b af 0a d2 85 3f c0 eb e4 <0f> 0b ab 0a d2

85 3f c0 eb d2 90 55 89 e5 8b 45 08 8b 50 04 89
/etc/init.d/rcS: line 290: 450 Segmentation fault mount -n -o remount,$rootopts,$rootmode $fstabroot / 2>/dev/null

I'm assuming the source is the same.

Unfortunately, I'm going to be away until Tuesday.

Andrew Wade

#6 lore raw

kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)

In reply to Andrew Morton
Quoted 1 line · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/

Was not present in 2.6.12-rc4.

Linux agpgart interface v0.101 (c) Dave Jones
kobject agpgart-intel: registering. parent: <NULL>, set: drivers kobject_hotplug
fill_kobj_path: path = '/bus/pci/drivers/agpgart-intel'
kobject_hotplug: /sbin/hotplug drivers seq=200 HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add DEVPATH=/bus/pci/drivers/agpgart-intel SUBSYSTEM=drivers kobject_hotplug - call_usermodehelper returned -1
agpgart: Detected an Intel 865 Chipset.
agpgart: Detected 16252K stolen memory.
kobject agpgart: registering. parent: misc, set: class_obj kobject_hotplug
fill_kobj_path: path = '/class/misc/agpgart'
kobject_hotplug: /sbin/hotplug misc seq=201 HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add DEVPATH=/class/misc/agpgart SUBSYSTEM=misc
kobject_hotplug - call_usermodehelper returned -1
agpgart: AGP aperture is 128M @ 0xf0000000
subsystem drm: registering
kobject drm: registering. parent: <NULL>, set: class
[drm] Initialized drm 1.0.0 20040925
kobject card0: registering. parent: drm, set: class_obj kobject_hotplug
fill_kobj_path: path = '/class/drm/card0'
fill_kobj_path: path = '/devices/pci0000:00/0000:00:02.0'
kobject_hotplug: /sbin/hotplug drm seq=202 HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add DEVPATH=/class/drm/card0 SUBSYSTEM=drm
kobject_hotplug - call_usermodehelper returned -1
[drm] Initialized i915 1.1.0 20040405 on minor 0:
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G chipsets
intelfb: Version 0.9.2
kobject Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver:
registering. parent: <NULL>, set: drivers
kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver (-13)

 [<c01bf8e3>] kobject_register+0x43/0x70
 [<c022dfe2>] bus_add_driver+0x52/0xa0
 [<c01c8c10>] pci_device_shutdown+0x0/0x20
 [<c01c8d71>] pci_register_driver+0x61/0x80
 [<c0387099>] intelfb_init+0x59/0x70
 [<c03787cc>] do_initcalls+0x2c/0xc0
 [<c0159025>] kern_mount+0x15/0x17
 [<c01002a0>] init+0x0/0x100
 [<c01002ca>] init+0x2a/0x100
 [<c0100f58>] kernel_thread_helper+0x0/0x18
 [<c0100f5d>] kernel_thread_helper+0x5/0x18
#7 lore raw

Re: kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)

Quoted 3 lines · Alexey Dobriyan

kobject Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver:
registering. parent: <NULL>, set: drivers kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G

Someone tried to put a "/" in a kobject name, which is not allowed. Actually the name seems to be set to:

	"Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver"

which is a bit verbous if you want to create a directory name :)

thanks,

greg k-h

#8 lore raw

Re: kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)

Quoted 11 lines · Greg KH
Quoted 3 lines · Alexey Dobriyan

kobject Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver:
registering. parent: <NULL>, set: drivers kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G

Someone tried to put a "/" in a kobject name, which is not allowed. Actually the name seems to be set to:
"Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver"
which is a bit verbous if you want to create a directory name :)

I don't think that part of the driver has changed in some time. Is there something new in your trees which would trigger this?

Seems like a fix such as this will be needed:

drivers/video/intelfb/intelfbdrv.c renamed from drivers/video/intelfb/intelfbdrv.c~intelfbdrv-naming-fix +1 -1
@@ -214,7 +214,7 @@ static struct fb_ops intel_fb_ops = {
 
 /* PCI driver module table */
 static struct pci_driver intelfb_driver = {
-	.name =		"Intel(R) " SUPPORTED_CHIPSETS " Framebuffer Driver",
+	.name =		"intelfb",
 	.id_table =	intelfb_pci_table,
 	.probe =	intelfb_pci_register,
 	.remove =	__devexit_p(intelfb_pci_unregister)

_

#9 lore raw

Re: kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)

Quoted 8 lines · Andrew Morton
Quoted 7 lines · Greg KH
Quoted 3 lines · Alexey Dobriyan

kobject Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver:
registering. parent: <NULL>, set: drivers kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G

Quoted 7 lines
Quoted 4 lines

Someone tried to put a "/" in a kobject name, which is not allowed. Actually the name seems to be set to:
"Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver"
which is a bit verbous if you want to create a directory name :)

I don't think that part of the driver has changed in some time. Is there something new in your trees which would trigger this?

No, not that I know of.

drivers/video/intelfb/intelfbdrv.c static struct fb_ops intel_fb_ops = { · line 217

Quoted 10 lines

Seems like a fix such as this will be needed:

drivers/video/intelfb/intelfbdrv.c renamed from drivers/video/intelfb/intelfbdrv.c~intelfbdrv-naming-fix +1 -1
@@ -214,7 +214,7 @@ static struct fb_ops intel_fb_ops = {
 
 /* PCI driver module table */
 static struct pci_driver intelfb_driver = {
-	.name =		"Intel(R) " SUPPORTED_CHIPSETS " Framebuffer Driver",
+	.name =		"intelfb",

Did the SUPPORTED_CHIPSETS macro change somehow?

Anyway, the patch looks correct to me.

thanks,

greg k-h

#10 lore raw

Re: kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)

In reply to Andrew Morton
Quoted 13 lines · Andrew Morton
Quoted 9 lines · Greg KH
Quoted 3 lines · Alexey Dobriyan

kobject Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver:
registering. parent: <NULL>, set: drivers kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G

Someone tried to put a "/" in a kobject name, which is not allowed. Actually the name seems to be set to:
"Intel(R) 830M/845G/852GM/855GM/865G/915G Framebuffer Driver"
which is a bit verbous if you want to create a directory name :)

Seems like a fix such as this will be needed:

drivers/video/intelfb/intelfbdrv.c static struct fb_ops intel_fb_ops = { · line 217

Quoted 2 lines
drivers/video/intelfb/intelfbdrv.c renamed from drivers/video/intelfb/intelfbdrv.c~intelfbdrv-naming-fix +1 -1
-	.name =		"Intel(R) " SUPPORTED_CHIPSETS " Framebuffer Driver",
+	.name =		"intelfb",

It works.

#11 lore raw

PATCH 1/1 Print KBD and AUX irqs correctly.

In reply to Andrew Morton

Fun in dmesg:

    --- dmesg-2.6.12-rc4
    +++ dmesg-2.6.12-rc4-mm1

    -PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 10	    <===
    +PNP: PS/2 controller doesn't have AUX irq; using default 0xc
     PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 112	    <======
    +serio: i8042 AUX port at 0x60,0x64 irq 12
     serio: i8042 KBD port at 0x60,0x64 irq 1			    <===

I never realized "irq 10" meant "KBD irq 1 and you don't have AUX irq". In 2.6.12-rc4-mm1 "irq 112" means "KBD irq 1 and AUX irq 12 (now assigned by default)".

---

drivers/input/serio/i8042-x86ia64io.h +2 -2
@@ -284,10 +284,10 @@ static int i8042_pnp_init(void)
 	i8042_kbd_irq = i8042_pnp_kbd_irq;
 	i8042_aux_irq = i8042_pnp_aux_irq;
 
-	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d%s%d\n",
+	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d,%d\n",
 		i8042_pnp_kbd_name, (result_kbd > 0 && result_aux > 0) ? "," : "", i8042_pnp_aux_name,
 		i8042_data_reg, i8042_command_reg, i8042_kbd_irq,
-		(result_aux > 0) ? "," : "", i8042_aux_irq);
+		i8042_aux_irq);
 
 	return 0;
 }
#12 lore raw

PATCH 1/1 mm.h: fix page_zone compile error

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+sparsemem-memory-model.patch
...
More sparsemem stuff
...

This causes the following compile error with gcc 3.4 on i386:

<-- snip -->

...
CC mm/hugetlb.o
mm/hugetlb.c: In function `enqueue_huge_page':
include/linux/mm.h:500: sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining mm/hugetlb.c:486: sorry, unimplemented: called from here make[1]: *** [mm/hugetlb.o] Error 1
make: *** [mm] Error 2

<-- snip -->

This patch fixes this compile error.

---

 include/linux/mm.h |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
include/linux/mm.h renamed from include/linux/mm.h.old +10 -10
@@ -480,7 +480,16 @@
 {
 	return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
 }
-static inline struct zone *page_zone(struct page *page);
+
+struct zone;
+extern struct zone *zone_table[];
+
+static inline struct zone *page_zone(struct page *page)
+{
+	return zone_table[(page->flags >> ZONETABLE_PGSHIFT) &
+			ZONETABLE_MASK];
+}
+
 static inline unsigned long page_to_nid(struct page *page)
 {
 	if (FLAGS_HAS_NODE)
@@ -493,15 +502,6 @@
 	return (page->flags >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
 }
 
-struct zone;
-extern struct zone *zone_table[];
-
-static inline struct zone *page_zone(struct page *page)
-{
-	return zone_table[(page->flags >> ZONETABLE_PGSHIFT) &
-			ZONETABLE_MASK];
-}
-
 static inline void set_page_zone(struct page *page, unsigned long zone)
 {
 	page->flags &= ~(ZONES_MASK << ZONES_PGSHIFT);
#13 lore raw

Re: [-mm patch] mm.h: fix page_zone compile error

Quoted 13 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+sparsemem-memory-model.patch
...
More sparsemem stuff
...

This causes the following compile error with gcc 3.4 on i386:

<-- snip -->

Quoted 8 lines

...
CC mm/hugetlb.o
mm/hugetlb.c: In function `enqueue_huge_page':
include/linux/mm.h:500: sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining mm/hugetlb.c:486: sorry, unimplemented: called from here make[1]: *** [mm/hugetlb.o] Error 1
make: *** [mm] Error 2

Any idea what actually causes that?

BTW, it doesn't seem to happen with gcc 2.95. Can you send me your .config? I'll double-check.

-- Dave

#14 lore raw

Re: [-mm patch] mm.h: fix page_zone compile error

Quoted 23 lines · Dave Hansen
Quoted 13 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+sparsemem-memory-model.patch
...
More sparsemem stuff
...

This causes the following compile error with gcc 3.4 on i386:

<-- snip -->

Quoted 8 lines

...
CC mm/hugetlb.o
mm/hugetlb.c: In function `enqueue_huge_page':
include/linux/mm.h:500: sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining mm/hugetlb.c:486: sorry, unimplemented: called from here make[1]: *** [mm/hugetlb.o] Error 1
make: *** [mm] Error 2

Quoted 4 lines

Any idea what actually causes that?

BTW, it doesn't seem to happen with gcc 2.95. Can you send me your .config? I'll double-check.

You won't see this error with gcc < 3.4 .

The kernel redefines "inline" to __attribute__((always_inline)). That's why gcc 3.4 (correctly) aborts the compilation if it can't inline it.

gcc 3.4 isn't able to inline a function that wasn't defined before the first usage with -fno-unit-at-a-time (and we are currently giving this flag on i386).
That's the reason why a function prototype for a "static inline" function doesn't help you.

I can send you my .config if these explanations weren't enough.

Quoted 1 line

-- Dave

cu
Adrian

Signature · 4 lines
       "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
#15 lore raw

Re: [-mm patch] mm.h: fix page_zone compile error

In reply to Adrian Bunk
Quoted 9 lines · Adrian Bunk

On Thu, May 12, 2005 at 03:31:00AM -0700, Andrew Morton wrote:

CC mm/hugetlb.o
mm/hugetlb.c: In function `enqueue_huge_page':
include/linux/mm.h:500: sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining mm/hugetlb.c:486: sorry, unimplemented: called from here make[1]: *** [mm/hugetlb.o] Error 1
make: *** [mm] Error 2

Interesting. I assume that this implies that older versions may not be inlining this even though we have asked them to. I'll go confirm there is no adverse effects from patch.

-apw

#16 lore raw
In reply to Andrew Morton
Quoted 117 lines · Andrew Morton
(quoted diff) +55 -62
-gregkh-01-driver-gregkh-driver-001_driver-hotplug_check.patch
-gregkh-01-driver-gregkh-driver-002_debugfs_simple_newline.patch
-gregkh-01-driver-gregkh-driver-009_driver-name-const-01.patch
-gregkh-01-driver-gregkh-driver-010_driver-name-const-02.patch
-gregkh-01-driver-gregkh-driver-011_driver-name-const-03.patch
-gregkh-01-driver-gregkh-driver-012_driver-name-const-04.patch
-gregkh-01-driver-gregkh-driver-013_driver-name-const-05.patch
-gregkh-01-driver-gregkh-driver-014_driver-name-const-06.patch
-gregkh-01-driver-gregkh-driver-015_sysfs-show_store_eio-01.patch
-gregkh-01-driver-gregkh-driver-016_sysfs-show_store_eio-02.patch
-gregkh-01-driver-gregkh-driver-017_sysfs-show_store_eio-03.patch
-gregkh-01-driver-gregkh-driver-018_sysfs-show_store_eio-04.patch
-gregkh-01-driver-gregkh-driver-019_sysfs-show_store_eio-05.patch
-gregkh-01-driver-gregkh-driver-020_class-01-core.patch
-gregkh-01-driver-gregkh-driver-021_class-02-tty.patch
-gregkh-01-driver-gregkh-driver-022_class-03-input.patch
-gregkh-01-driver-gregkh-driver-023_class-04-usb.patch
-gregkh-01-driver-gregkh-driver-024_class-05-sound.patch
-gregkh-01-driver-gregkh-driver-025_class-06-block.patch
-gregkh-01-driver-gregkh-driver-026_class-07-char.patch
-gregkh-01-driver-gregkh-driver-027_class-08-ieee1394.patch
-gregkh-01-driver-gregkh-driver-028_class-09-scsi.patch
-gregkh-01-driver-gregkh-driver-029_class-10-arch.patch
-gregkh-01-driver-gregkh-driver-030_class-11-drivers.patch
-gregkh-01-driver-gregkh-driver-031_class-11-drivers-usb-fix.patch
-gregkh-01-driver-gregkh-driver-032_class-12-the_rest.patch
-gregkh-01-driver-gregkh-driver-033_class-13-kerneldoc.patch
-gregkh-01-driver-gregkh-driver-034_class-14-no_more_class_simple.patch
-gregkh-01-driver-gregkh-driver-035_class-15-typo-01.patch
-gregkh-01-driver-gregkh-driver-036_class-16-typo-02.patch
-gregkh-01-driver-gregkh-driver-037_class-17-attribute.patch
-gregkh-01-driver-gregkh-driver-038_klist-01.patch
-gregkh-01-driver-gregkh-driver-039_klist-02.patch
-gregkh-01-driver-gregkh-driver-040_klist-03.patch
-gregkh-01-driver-gregkh-driver-041_klist-04.patch
-gregkh-01-driver-gregkh-driver-042_klist-05.patch
-gregkh-01-driver-gregkh-driver-043_klist-06.patch
-gregkh-01-driver-gregkh-driver-044_klist-07.patch
-gregkh-01-driver-gregkh-driver-045_klist-08.patch
-gregkh-01-driver-gregkh-driver-046_klist-09.patch
-gregkh-01-driver-gregkh-driver-047_klist-10.patch
-gregkh-01-driver-gregkh-driver-048_klist-11.patch
-gregkh-01-driver-gregkh-driver-049_klist-12.patch
-gregkh-01-driver-gregkh-driver-050_klist-13.patch
-gregkh-01-driver-gregkh-driver-051_klist-14.patch
-gregkh-01-driver-gregkh-driver-052_klist-15.patch
-gregkh-01-driver-gregkh-driver-053_klist-16.patch
-gregkh-01-driver-gregkh-driver-054_klist-17.patch
-gregkh-01-driver-gregkh-driver-055_klist-18.patch
-gregkh-01-driver-gregkh-driver-056_klist-scsi-01.patch
-gregkh-01-driver-gregkh-driver-057_klist-scsi-02.patch
-gregkh-01-driver-gregkh-driver-058_klist-20.patch
-gregkh-01-driver-gregkh-driver-059_klist-21.patch
-gregkh-01-driver-gregkh-driver-060_klist-22.patch
-gregkh-01-driver-gregkh-driver-061_klist-23.patch
-gregkh-01-driver-gregkh-driver-062_klist-ieee1394.patch
-gregkh-01-driver-gregkh-driver-063_klist-pcie.patch
-gregkh-01-driver-gregkh-driver-064_klist-24.patch
-gregkh-01-driver-gregkh-driver-065_klist-25.patch
-gregkh-01-driver-gregkh-driver-066_klist-26.patch
-gregkh-01-driver-gregkh-driver-067_klist-usb_node_attached_fix.patch
-gregkh-01-driver-gregkh-driver-068_klist-sn_fix.patch
+gregkh-01-driver-gregkh-driver-001_driver-pm-diag-update.patch
+gregkh-01-driver-gregkh-driver-002_driver-name-const-01.patch
+gregkh-01-driver-gregkh-driver-003_driver-name-const-02.patch
+gregkh-01-driver-gregkh-driver-004_driver-name-const-03.patch
+gregkh-01-driver-gregkh-driver-005_driver-name-const-04.patch
+gregkh-01-driver-gregkh-driver-006_driver-name-const-05.patch
+gregkh-01-driver-gregkh-driver-007_driver-name-const-06.patch
+gregkh-01-driver-gregkh-driver-008_sysfs-show_store_eio-01.patch
+gregkh-01-driver-gregkh-driver-009_sysfs-show_store_eio-02.patch
+gregkh-01-driver-gregkh-driver-010_sysfs-show_store_eio-03.patch
+gregkh-01-driver-gregkh-driver-011_sysfs-show_store_eio-04.patch
+gregkh-01-driver-gregkh-driver-012_sysfs-show_store_eio-05.patch
+gregkh-01-driver-gregkh-driver-013_class-01-core.patch
+gregkh-01-driver-gregkh-driver-014_class-02-tty.patch
+gregkh-01-driver-gregkh-driver-015_class-03-input.patch
+gregkh-01-driver-gregkh-driver-016_class-04-usb.patch
+gregkh-01-driver-gregkh-driver-017_class-05-sound.patch
+gregkh-01-driver-gregkh-driver-018_class-06-block.patch
+gregkh-01-driver-gregkh-driver-019_class-07-char.patch
+gregkh-01-driver-gregkh-driver-020_class-08-ieee1394.patch
+gregkh-01-driver-gregkh-driver-021_class-09-scsi.patch
+gregkh-01-driver-gregkh-driver-022_class-10-arch.patch
+gregkh-01-driver-gregkh-driver-023_class-11-drivers.patch
+gregkh-01-driver-gregkh-driver-024_class-11-drivers-usb-fix.patch
+gregkh-01-driver-gregkh-driver-025_class-12-the_rest.patch
+gregkh-01-driver-gregkh-driver-026_class-13-kerneldoc.patch
+gregkh-01-driver-gregkh-driver-027_class-14-no_more_class_simple.patch
+gregkh-01-driver-gregkh-driver-028_fix-make-mandocs-after-class_simple-removal.patch
+gregkh-01-driver-gregkh-driver-029_klist-01.patch
+gregkh-01-driver-gregkh-driver-030_klist-02.patch
+gregkh-01-driver-gregkh-driver-031_klist-03.patch
+gregkh-01-driver-gregkh-driver-032_klist-04.patch
+gregkh-01-driver-gregkh-driver-033_klist-05.patch
+gregkh-01-driver-gregkh-driver-034_klist-06.patch
+gregkh-01-driver-gregkh-driver-035_klist-07.patch
+gregkh-01-driver-gregkh-driver-036_klist-08.patch
+gregkh-01-driver-gregkh-driver-037_klist-09.patch
+gregkh-01-driver-gregkh-driver-038_klist-10.patch
+gregkh-01-driver-gregkh-driver-039_klist-11.patch
+gregkh-01-driver-gregkh-driver-040_klist-12.patch
+gregkh-01-driver-gregkh-driver-041_klist-13.patch
+gregkh-01-driver-gregkh-driver-042_klist-14.patch
+gregkh-01-driver-gregkh-driver-043_klist-15.patch
+gregkh-01-driver-gregkh-driver-044_klist-16.patch
+gregkh-01-driver-gregkh-driver-045_klist-17.patch
+gregkh-01-driver-gregkh-driver-046_klist-18.patch
+gregkh-01-driver-gregkh-driver-047_klist-scsi-01.patch
+gregkh-01-driver-gregkh-driver-048_klist-scsi-02.patch
+gregkh-01-driver-gregkh-driver-049_klist-20.patch
+gregkh-01-driver-gregkh-driver-050_klist-21.patch
+gregkh-01-driver-gregkh-driver-051_klist-22.patch
+gregkh-01-driver-gregkh-driver-052_klist-23.patch
+gregkh-01-driver-gregkh-driver-053_klist-ieee1394.patch
+gregkh-01-driver-gregkh-driver-054_klist-pcie.patch
+gregkh-01-driver-gregkh-driver-055_klist-24.patch

Review

Quoted 10 lines
(quoted diff) +8 -0
+gregkh-01-driver-gregkh-driver-056_klist-25.patch
+gregkh-01-driver-gregkh-driver-057_klist-26.patch
+gregkh-01-driver-gregkh-driver-058_klist-usb_node_attached_fix.patch
+gregkh-01-driver-gregkh-driver-059_klist-sn_fix.patch
+gregkh-01-driver-gregkh-driver-060_klist-driver_detach_fixes.patch
+gregkh-01-driver-gregkh-driver-061_klist-usbcore-dont_call_device_release_driver_recursivly.patch
+gregkh-01-driver-gregkh-driver-062_driver-create-unregister_node.patch
+gregkh-01-driver-gregkh-driver-063_attr_void.patch
 
 Greg keeps renaming stuff.

Ok, I can take the hint :)

I've changed my script to not add a number to the patch in order to convey what the order in which the patches are applied in. Now I keep the patch name the same as it originally was (and the timestamp for those who use rsync to see if anything has changed.) I've added a series file for each directory to show the order to apply them in.

This should help reduce the churn you report here, and help others who try to keep track of what I have and have not applied.

Please let me know if this doesn't work out.

thanks,

greg k-h

#17 lore raw

PATCH 1/1 drivers/cpufreq/cpufreq_conservative.c: make cpufreq_gov_dbs static

In reply to Andrew Morton
Quoted 5 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+cpufreq-CPUFREQ-13-static-cpufreq_gov_dbs.patch
...

This is my patch to make the needlessly global and EXPORT_SYMBOL'ed cpufreq_gov_dbs in cpufreq_ondemand.c static.

Quoted 2 lines

+cpufreq-CPUFREQ-16-conservative-governer.patch
...

This patch adds a needlessly global and EXPORT_SYMBOL'ed cpufreq_gov_dbs in cpufreq_conservative.c .

Patch below...

Quoted 2 lines

Additions to cpufreq tree
...

cu
Adrian

<-- snip -->

This patch makes a needlessly global and EXPORT_SYMBOL'ed struct static.

drivers/cpufreq/cpufreq_conservative.c renamed from drivers/cpufreq/cpufreq_conservative.c.old +1 -2
@@ -583,12 +583,11 @@
 	return 0;
 }
 
-struct cpufreq_governor cpufreq_gov_dbs = {
+static struct cpufreq_governor cpufreq_gov_dbs = {
 	.name		= "conservative",
 	.governor	= cpufreq_governor_dbs,
 	.owner		= THIS_MODULE,
 };
-EXPORT_SYMBOL(cpufreq_gov_dbs);
 
 static int __init cpufreq_gov_dbs_init(void)
 {
#18 lore raw
In reply to Andrew Morton

Just tried building it on my FC3 gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)

ends with:
CC mm/hugetlb.o
/foo/airlied/git/linux-good/linux-2.6.12-rc4/mm/hugetlb.c: In function `enqueue_huge_page':
/foo/airlied/git/linux-good/linux-2.6.12-rc4/include/linux/mm.h:500:
sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining /foo/airlied/git/linux-good/linux-2.6.12-rc4/mm/hugetlb.c:486: sorry,
unimplemented: called from here
make[2]: *** [mm/hugetlb.o] Error 1

config is attached...

Dave.

#19 lore raw
Quoted 12 lines

ends with:
CC mm/hugetlb.o
/foo/airlied/git/linux-good/linux-2.6.12-rc4/mm/hugetlb.c: In function `enqueue_huge_page':
/foo/airlied/git/linux-good/linux-2.6.12-rc4/include/linux/mm.h:500:
sorry, unimplemented: inlining failed in call to 'page_zone': function not considered for inlining /foo/airlied/git/linux-good/linux-2.6.12-rc4/mm/hugetlb.c:486: sorry,
unimplemented: called from here
make[2]: *** [mm/hugetlb.o] Error 1

off course then I find the patch from Adrian Bunk that fixes it ..

Dave.

#20 lore raw
In reply to Andrew Morton

a bug that appeared after running for about 2 hours:

May 13 09:32:34 localhost kernel: BUG: atomic counter underflow at:
May 13 09:32:34 localhost kernel:  [reiserfs_clear_inode+129/176] reiserfs_clear_inode+0x81/0xb0
May 13 09:32:34 localhost kernel:  [clear_inode+228/304] clear_inode+0xe4/0x130
May 13 09:32:34 localhost kernel:  [dispose_list+112/304] dispose_list+0x70/0x130
May 13 09:32:34 localhost kernel:  [prune_icache+191/432] prune_icache+0xbf/0x1b0
May 13 09:32:34 localhost kernel:  [shrink_icache_memory+20/64] shrink_icache_memory+0x14/0x40
May 13 09:32:34 localhost kernel:  [shrink_slab+345/416] shrink_slab+0x159/0x1a0
May 13 09:32:34 localhost kernel:  [balance_pgdat+695/944] balance_pgdat+0x2b7/0x3b0
May 13 09:32:34 localhost kernel:  [kswapd+210/240] kswapd+0xd2/0xf0
May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [ret_from_fork+6/20] ret_from_fork+0x6/0x14
May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [kswapd+0/240] kswapd+0x0/0xf0
May 13 09:32:34 localhost kernel:  [kernel_thread_helper+5/24] kernel_thread_helper+0x5/0x18

the system still runs fine, just figured i'd let you guys know.

Steve

#21 lore raw

On Fri, 2005-05-13 at 09:53 -0500, steve would have written, if his mail client hadn't been broken:

Quoted 16 lines

a bug that appeared after running for about 2 hours:

May 13 09:32:34 localhost kernel: BUG: atomic counter underflow at:
May 13 09:32:34 localhost kernel:  [reiserfs_clear_inode+129/176] reiserfs_clear_inode+0x81/0xb0
May 13 09:32:34 localhost kernel:  [clear_inode+228/304] clear_inode+0xe4/0x130
May 13 09:32:34 localhost kernel:  [dispose_list+112/304] dispose_list+0x70/0x130
May 13 09:32:34 localhost kernel:  [prune_icache+191/432] prune_icache+0xbf/0x1b0
May 13 09:32:34 localhost kernel:  [shrink_icache_memory+20/64] shrink_icache_memory+0x14/0x40
May 13 09:32:34 localhost kernel:  [shrink_slab+345/416] shrink_slab+0x159/0x1a0
May 13 09:32:34 localhost kernel:  [balance_pgdat+695/944] balance_pgdat+0x2b7/0x3b0
May 13 09:32:34 localhost kernel:  [kswapd+210/240] kswapd+0xd2/0xf0 
May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [ret_from_fork+6/20] ret_from_fork+0x6/0x14
May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [kswapd+0/240] kswapd+0x0/0xf0
May 13 09:32:34 localhost kernel:  [kernel_thread_helper+5/24] kernel_thread_helper+0x5/0x18

Hmmm. We're hitting that bug when posix_acl_release() decrements the refcount on one of the inode's ACLs and it goes negative.

First glance at this had me suspecting that we were somehow calling clear_inode() twice... but since we clear the pointer to the ACL after calling posix_acl_release(), that seems unlikely -- unless you managed to get two CPUs in reiserfs_clear_inode() simultaneously for the same inode. Is this SMP? Is preempt enabled?

Can you reproduce it? If so, does it go away if you revert one or both of these:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/vfs-bugfix-two-read_inode-calles-without.patch ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/__wait_on_freeing_inode-fix.patch

Signature · 1 line
dwmw2
#22 lore raw
Quoted 31 lines · David Woodhouse

On Fri, 2005-05-13 at 09:53 -0500, steve would have written, if his mail client hadn't been broken:

Quoted 17 lines

a bug that appeared after running for about 2 hours:

May 13 09:32:34 localhost kernel: BUG: atomic counter underflow at:
May 13 09:32:34 localhost kernel:  [reiserfs_clear_inode+129/176] reiserfs_clear_inode+0x81/0xb0
May 13 09:32:34 localhost kernel:  [clear_inode+228/304] clear_inode+0xe4/0x130
May 13 09:32:34 localhost kernel:  [dispose_list+112/304] dispose_list+0x70/0x130
May 13 09:32:34 localhost kernel:  [prune_icache+191/432] prune_icache+0xbf/0x1b0
May 13 09:32:34 localhost kernel:  [shrink_icache_memory+20/64] shrink_icache_memory+0x14/0x40
May 13 09:32:34 localhost kernel:  [shrink_slab+345/416] shrink_slab+0x159/0x1a0
May 13 09:32:34 localhost kernel:  [balance_pgdat+695/944] balance_pgdat+0x2b7/0x3b0
May 13 09:32:34 localhost kernel:  [kswapd+210/240] kswapd+0xd2/0xf0 May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [ret_from_fork+6/20] ret_from_fork+0x6/0x14
May 13 09:32:34 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 09:32:34 localhost kernel:  [kswapd+0/240] kswapd+0x0/0xf0
May 13 09:32:34 localhost kernel:  [kernel_thread_helper+5/24] kernel_thread_helper+0x5/0x18

Hmmm. We're hitting that bug when posix_acl_release() decrements the refcount on one of the inode's ACLs and it goes negative.

First glance at this had me suspecting that we were somehow calling clear_inode() twice... but since we clear the pointer to the ACL after calling posix_acl_release(), that seems unlikely -- unless you managed to get two CPUs in reiserfs_clear_inode() simultaneously for the same inode. Is this SMP? Is preempt enabled?

Quoted 8 lines

Can you reproduce it? If so, does it go away if you revert one or both of these:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/vfs-bugfix-two-read_inode-calles-without.patch ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/__wait_on_freeing_inode-fix.patch

okay, reproduced after a couple hours of running (nothing intensive), then doing a grep blah -r /*

here's the new output:

May 13 19:54:16 localhost kernel: BUG: atomic counter underflow at:
May 13 19:54:16 localhost kernel:  [reiserfs_clear_inode+129/176] reiserfs_clear_inode+0x81/0xb0
May 13 19:54:16 localhost kernel:  [clear_inode+228/304] clear_inode+0xe4/0x130
May 13 19:54:16 localhost kernel:  [dispose_list+112/304] dispose_list+0x70/0x130
May 13 19:54:16 localhost kernel:  [prune_icache+191/432] prune_icache+0xbf/0x1b0
May 13 19:54:16 localhost kernel:  [shrink_icache_memory+20/64] shrink_icache_memory+0x14/0x40
May 13 19:54:16 localhost kernel:  [shrink_slab+345/416] shrink_slab+0x159/0x1a0
May 13 19:54:16 localhost kernel:  [try_to_free_pages+226/416] try_to_free_pages+0xe2/0x1a0
May 13 19:54:16 localhost kernel:  [__alloc_pages+383/960] __alloc_pages+0x17f/0x3c0
May 13 19:54:16 localhost kernel:  [__do_page_cache_readahead+285/352] __do_page_cache_readahead+0x11d/0x160
May 13 19:54:16 localhost kernel:  [blockable_page_cache_readahead+81/208] blockable_page_cache_readahead+0x51/0xd0
May 13 19:54:16 localhost kernel:  [make_ahead_window+112/176] make_ahead_window+0x70/0xb0
May 13 19:54:16 localhost kernel:  [page_cache_readahead+169/384] page_cache_readahead+0xa9/0x180
May 13 19:54:16 localhost kernel:  [file_read_actor+198/224] file_read_actor+0xc6/0xe0
May 13 19:54:16 localhost kernel:  [do_generic_mapping_read+1446/1472] do_generic_mapping_read+0x5a6/0x5c0
May 13 19:54:16 localhost kernel:  [pg0+542324240/1068651520] ieee80211_recv_mgmt+0xed0/0x1d90 [wlan]
May 13 19:54:16 localhost kernel:  [file_read_actor+0/224] file_read_actor+0x0/0xe0
May 13 19:54:16 localhost kernel:  [__generic_file_aio_read+484/544] __generic_file_aio_read+0x1e4/0x220
May 13 19:54:16 localhost kernel:  [file_read_actor+0/224] file_read_actor+0x0/0xe0
May 13 19:54:16 localhost kernel:  [generic_file_read+149/176] generic_file_read+0x95/0xb0
May 13 19:54:16 localhost kernel:  [try_to_wake_up+166/192] try_to_wake_up+0xa6/0xc0
May 13 19:54:16 localhost kernel:  [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
May 13 19:54:16 localhost kernel:  [schedule+791/1616] schedule+0x317/0x650
May 13 19:54:16 localhost kernel:  [vfs_read+156/336] vfs_read+0x9c/0x150
May 13 19:54:16 localhost kernel:  [sys_read+71/128] sys_read+0x47/0x80
May 13 19:54:16 localhost kernel:  [syscall_call+7/11] syscall_call+0x7/0xb

i'll recompile without those two patches, and try it again.

Steve

#23 lore raw

Steve,

Quoted 2 lines

okay, reproduced after a couple hours of running (nothing intensive), then doing a grep blah -r /*

I can't reproduce your problem using 2.6.12-rc4 + the 2 patches. I created 50GB Reiserfs partition, copied a lot of data there (built linux sources in many exemplars) and issued 'grep -r blah *'. I also tried it with parallel writing to the partition - no help.

I wonder, could you please try 2.6.12-rc4 + the 2 patches and see if the warning still there ?

The above referred patches are (and they are also attached):
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12- rc4/2.6.12-rc4-mm1/broken-out/vfs-bugfix-two-read_inode-calles-
without.patch ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/__wait_on_freeing_inode-fix.patch

P.S. I wanted to try 2.6.12-rc4-mm2, but it OOPSes during the kernel load in my system. Then I switched to 2.6.12-rc4 in order not to fight with -mm2's problems.

Signature · 3 lines
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
fs/inode.c renamed from fs/inode.c~vfs-bugfix-two-read_inode-calles-without +7 -4
diff -puN fs/inode.c~vfs-bugfix-two-read_inode-calles-without fs/inode.c
@@ -282,6 +282,13 @@ static void dispose_list(struct list_hea
 		if (inode->i_data.nrpages)
 			truncate_inode_pages(&inode->i_data, 0);
 		clear_inode(inode);
+
+		spin_lock(&inode_lock);
+		hlist_del_init(&inode->i_hash);
+		list_del_init(&inode->i_sb_list);
+		spin_unlock(&inode_lock);
+
+		wake_up_inode(inode);
 		destroy_inode(inode);
 		nr_disposed++;
 	}
@@ -317,8 +324,6 @@ static int invalidate_list(struct list_h
 		inode = list_entry(tmp, struct inode, i_sb_list);
 		invalidate_inode_buffers(inode);
 		if (!atomic_read(&inode->i_count)) {
-			hlist_del_init(&inode->i_hash);
-			list_del(&inode->i_sb_list);
 			list_move(&inode->i_list, dispose);
 			inode->i_state |= I_FREEING;
 			count++;
@@ -439,8 +444,6 @@ static void prune_icache(int nr_to_scan)
 			if (!can_unuse(inode))
 				continue;
 		}
-		hlist_del_init(&inode->i_hash);
-		list_del_init(&inode->i_sb_list);
 		list_move(&inode->i_list, &freeable);
 		inode->i_state |= I_FREEING;
 		nr_pruned++;
fs/inode.c renamed from fs/inode.c~__wait_on_freeing_inode-fix +9 -17
diff -puN fs/inode.c~__wait_on_freeing_inode-fix fs/inode.c
@@ -1241,29 +1241,21 @@ int inode_wait(void *word)
 }
 
 /*
- * If we try to find an inode in the inode hash while it is being deleted, we
- * have to wait until the filesystem completes its deletion before reporting
- * that it isn't found.  This is because iget will immediately call
- * ->read_inode, and we want to be sure that evidence of the deletion is found
- * by ->read_inode.
+ * If we try to find an inode in the inode hash while it is being
+ * deleted, we have to wait until the filesystem completes its
+ * deletion before reporting that it isn't found.  This function waits
+ * until the deletion _might_ have completed.  Callers are responsible
+ * to recheck inode state.
+ *
+ * It doesn't matter if I_LOCK is not set initially, a call to
+ * wake_up_inode() after removing from the hash list will DTRT.
+ *
  * This is called with inode_lock held.
  */
 static void __wait_on_freeing_inode(struct inode *inode)
 {
 	wait_queue_head_t *wq;
 	DEFINE_WAIT_BIT(wait, &inode->i_state, __I_LOCK);
-
-	/*
-	 * I_FREEING and I_CLEAR are cleared in process context under
-	 * inode_lock, so we have to give the tasks who would clear them
-	 * a chance to run and acquire inode_lock.
-	 */
-	if (!(inode->i_state & I_LOCK)) {
-		spin_unlock(&inode_lock);
-		yield();
-		spin_lock(&inode_lock);
-		return;
-	}
 	wq = bit_waitqueue(&inode->i_state, __I_LOCK);
 	prepare_to_wait(wq, &wait.wait, TASK_UNINTERRUPTIBLE);
 	spin_unlock(&inode_lock);
#24 lore raw

on 05/18/05 05:06 Artem B. Bityuckiy wrote the following:

Quoted 103 lines

Steve,

Quoted 3 lines

okay, reproduced after a couple hours of running (nothing intensive), then doing a grep blah -r /*

I can't reproduce your problem using 2.6.12-rc4 + the 2 patches. I created 50GB Reiserfs partition, copied a lot of data there (built linux sources in many exemplars) and issued 'grep -r blah *'. I also tried it with parallel writing to the partition - no help.

I wonder, could you please try 2.6.12-rc4 + the 2 patches and see if the warning still there ?

The above referred patches are (and they are also attached):
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12- rc4/2.6.12-rc4-mm1/broken-out/vfs-bugfix-two-read_inode-calles-
without.patch ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm1/broken-out/__wait_on_freeing_inode-fix.patch

P.S. I wanted to try 2.6.12-rc4-mm2, but it OOPSes during the kernel load in my system. Then I switched to 2.6.12-rc4 in order not to fight with -mm2's problems.

------------------------------------------------------------------------

diff -puN fs/inode.c~vfs-bugfix-two-read_inode-calles-without fs/inode.c

fs/inode.c renamed from fs/inode.c~vfs-bugfix-two-read_inode-calles-without +7 -5
@@ -282,6 +282,13 @@ static void dispose_list(struct list_hea
 		if (inode->i_data.nrpages)
 			truncate_inode_pages(&inode->i_data, 0);
 		clear_inode(inode);
+
+		spin_lock(&inode_lock);
+		hlist_del_init(&inode->i_hash);
+		list_del_init(&inode->i_sb_list);
+		spin_unlock(&inode_lock);
+
+		wake_up_inode(inode);
 		destroy_inode(inode);
 		nr_disposed++;
 	}
@@ -317,8 +324,6 @@ static int invalidate_list(struct list_h
 		inode = list_entry(tmp, struct inode, i_sb_list);
 		invalidate_inode_buffers(inode);
 		if (!atomic_read(&inode->i_count)) {
-			hlist_del_init(&inode->i_hash);
-			list_del(&inode->i_sb_list);
 			list_move(&inode->i_list, dispose);
 			inode->i_state |= I_FREEING;
 			count++;
@@ -439,8 +444,6 @@ static void prune_icache(int nr_to_scan)
 			if (!can_unuse(inode))
 				continue;
 		}
-		hlist_del_init(&inode->i_hash);
-		list_del_init(&inode->i_sb_list);
 		list_move(&inode->i_list, &freeable);
 		inode->i_state |= I_FREEING;
 		nr_pruned++;
 
 
 
------------------------------------------------------------------------

diff -puN fs/inode.c~__wait_on_freeing_inode-fix fs/inode.c

fs/inode.c renamed from fs/inode.c~__wait_on_freeing_inode-fix +9 -10
@@ -1241,29 +1241,21 @@ int inode_wait(void *word)
 }
 
 /*
- * If we try to find an inode in the inode hash while it is being deleted, we
- * have to wait until the filesystem completes its deletion before reporting
- * that it isn't found.  This is because iget will immediately call
- * ->read_inode, and we want to be sure that evidence of the deletion is found
- * by ->read_inode.
+ * If we try to find an inode in the inode hash while it is being
+ * deleted, we have to wait until the filesystem completes its
+ * deletion before reporting that it isn't found.  This function waits
+ * until the deletion _might_ have completed.  Callers are responsible
+ * to recheck inode state.
+ *
+ * It doesn't matter if I_LOCK is not set initially, a call to
+ * wake_up_inode() after removing from the hash list will DTRT.
+ *
 * This is called with inode_lock held.
 */
 static void __wait_on_freeing_inode(struct inode *inode)
 {
 	wait_queue_head_t *wq;
 	DEFINE_WAIT_BIT(wait, &inode->i_state, __I_LOCK);
-
-	/*
-	 * I_FREEING and I_CLEAR are cleared in process context under
-	 * inode_lock, so we have to give the tasks who would clear them
-	 * a chance to run and acquire inode_lock.

fs/inode.c int inode_wait(void *word) · line 1261

Quoted 10 lines
fs/inode.c renamed from fs/inode.c~__wait_on_freeing_inode-fix +0 -7
-	 */
-	if (!(inode->i_state & I_LOCK)) {
-		spin_unlock(&inode_lock);
-		yield();
-		spin_lock(&inode_lock);
-		return;
-	}
 	wq = bit_waitqueue(&inode->i_state, __I_LOCK);
 	prepare_to_wait(wq, &wait.wait, TASK_UNINTERRUPTIBLE);
 	spin_unlock(&inode_lock);

okay, recompiled with those two files back in, and after an hour of running, while doing a tar -xjvf linux-2.6.11.tar.bz2, it kicks out that error (attached).

Steve

BUG: atomic counter underflow at:
 [<c01aadf1>] reiserfs_clear_inode+0x81/0xb0
 [<c0173484>] clear_inode+0xe4/0x130
 [<c0173540>] dispose_list+0x70/0x130
 [<c017385f>] prune_icache+0xbf/0x1b0
 [<c0173964>] shrink_icache_memory+0x14/0x40
 [<c01471b9>] shrink_slab+0x159/0x1a0
 [<c01486e7>] balance_pgdat+0x2b7/0x3b0
 [<c01488b2>] kswapd+0xd2/0xf0
 [<c0130430>] autoremove_wake_function+0x0/0x50
 [<c0102fd2>] ret_from_fork+0x6/0x14
 [<c0130430>] autoremove_wake_function+0x0/0x50
 [<c01487e0>] kswapd+0x0/0xf0
 [<c010136d>] kernel_thread_helper+0x5/0x18
#25 lore raw
Quoted 3 lines · Steve Roemen

okay, recompiled with those two files back in, and after an hour of running, while doing a tar -xjvf linux-2.6.11.tar.bz2, it kicks out that error (attached).

Thanks. Are you using ACLs? If not, I think there's a more fundamental problem than a race with clear_inode() -- it's not that we're decrementing the use count on an ACL twice; it's that you think you have an ACL when there wasn't one. This could be a symptom of memory corruption... which has already been reported in reiserfs in 2.6.12-rc4.

Do you have CONFIG_REISERFS_CHECK enabled? Do you have preempt enabled?

Could we trouble you to try again on 2.6.12-rc3 with those two patches, please?

Signature · 1 line
dwmw2
#26 lore raw

on 05/19/05 11:45 David Woodhouse wrote the following:

Quoted 14 lines · Steve Roemen
Quoted 6 lines

okay, recompiled with those two files back in, and after an hour of running, while doing a tar -xjvf linux-2.6.11.tar.bz2, it kicks out that error (attached).

Thanks. Are you using ACLs? If not, I think there's a more fundamental problem than a race with clear_inode() -- it's not that we're decrementing the use count on an ACL twice; it's that you think you have an ACL when there wasn't one. This could be a symptom of memory corruption... which has already been reported in reiserfs in 2.6.12-rc4.

Quoted 7 lines

Do you have CONFIG_REISERFS_CHECK enabled? Do you have preempt enabled?

Could we trouble you to try again on 2.6.12-rc3 with those two patches, please?

Compiling 2.6.12-rc3 + the 2 patches right now. I'll let you know in a couple of hours if it still does it. Artem forwarded you my .config file.

Steve

#27 lore raw
Quoted 3 lines · Steve Roemen

Compiling 2.6.12-rc3 + the 2 patches right now. I'll let you know in a couple of hours if it still does it.
Artem forwarded you my .config file.

He did. That confirms you have ACLs enabled -- but are you actually _using_ them though? If not, the ACL fields whose refcount is causing this problem should never have been set in the first place.

Artem is putting together a patch which will put a magic value into the struct posix_acl and hence double-check whether we're really freeing one of them twice, or whether it's just that we're seeing memory corruption and what's in REISERFS_I(inode)->i_acl_{access,default} is pure noise.

It might also be useful to attempt to reproduce the problem with slab debugging turned on, but let's not change that variable just yet.

Signature · 1 line
dwmw2
#28 lore raw

on 05/19/05 13:04 David Woodhouse wrote the following:

Quoted 11 lines · Steve Roemen
Quoted 5 lines

Compiling 2.6.12-rc3 + the 2 patches right now. I'll let you know in a couple of hours if it still does it. Artem forwarded you my .config file.

He did. That confirms you have ACLs enabled -- but are you actually _using_ them though? If not, the ACL fields whose refcount is causing this problem should never have been set in the first place.

Quoted 10 lines

Artem is putting together a patch which will put a magic value into the struct posix_acl and hence double-check whether we're really freeing one of them twice, or whether it's just that we're seeing memory corruption and what's in REISERFS_I(inode)->i_acl_{access,default} is pure noise.

It might also be useful to attempt to reproduce the problem with slab debugging turned on, but let's not change that variable just yet.

No, I am not using ACLs. I am running the 2.6.12-rc3 with those two patches, and I can't get it to error out.

Steve

#29 lore raw
Quoted 2 lines · Steve Roemen

No, I am not using ACLs. I am running the 2.6.12-rc3 with those two patches, and I can't get it to error out.

OK, then it sounds like what you've seen is a manifestation of the already-known reiserfs breakage in 2.6.12-rc4. Artem's patch didn't cause it; it just made it show itself.

Thanks.

Signature · 1 line
dwmw2

A message that is not in the archive (sent off-list or not yet received): [email protected]

#31 lore raw
Quoted 2 lines

i'll try to reproduce it. this is on an IBM X31 with a pentium M no smp. using reiserfs (not V4) but did compile it with reiser4

So was the preemption enabled or disabled ?

Signature · 3 lines
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
#32 lore raw

PATCH 1/1 kprobes: arch_supports_kretprobes cleanup

In reply to Andrew Morton

Hi,
I felt that the arch_supports_kprobes use was a bit weird. The constant is not capitalized and is used as a variable for a C test.
I also added comments (CONFIG_KPROBES) to an #else and an #endif This patch is against 2.6.12-rc4-mm1, i386 compile tested.

Regards,
Frederik Deweerdt

--

include/asm-i386/kprobes.h +1 -1
diff -uprN --exclude-from=diff.ignore linux-2.6.12-rc4-mm1/include/asm-i386/kprobes.h linux-2.6.12-rc4-mm1-def/include/asm-i386/kprobes.h
@@ -39,7 +39,7 @@ typedef u8 kprobe_opcode_t;
 	: (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR)))
 
 #define JPROBE_ENTRY(pentry)	(kprobe_opcode_t *)pentry
-#define arch_supports_kretprobes 1
+#define ARCH_SUPPORTS_KRETPROBES
 
 void kretprobe_trampoline(void);
 
include/linux/kprobes.h +5 -6
diff -uprN --exclude-from=diff.ignore linux-2.6.12-rc4-mm1/include/linux/kprobes.h linux-2.6.12-rc4-mm1-def/include/linux/kprobes.h
@@ -93,15 +93,14 @@ struct jprobe {
 	kprobe_opcode_t *entry;	/* probe handling code to jump to */
 };
 
-#ifdef arch_supports_kretprobes
+#ifdef ARCH_SUPPORTS_KRETPROBES
 extern int trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs);
 extern void trampoline_post_handler(struct kprobe *p, struct pt_regs *regs,
 							unsigned long flags);
 extern struct task_struct *arch_get_kprobe_task(void *ptr);
 extern void arch_prepare_kretprobe(struct kretprobe *rp, struct pt_regs *regs);
 extern void arch_kprobe_flush_task(struct task_struct *tk, spinlock_t *kp_lock);
-#else
-#define arch_supports_kretprobes		0
+#else /* ARCH_SUPPORTS_KRETPROBES */
 static inline void kretprobe_trampoline(void)
 {
 }
@@ -123,7 +122,7 @@ static inline void arch_kprobe_flush_tas
 {
 }
 #define arch_get_kprobe_task(ptr) ((struct task_struct *)NULL)
-#endif
+#endif /* ARCH_SUPPORTS_KRETPROBES */
 /*
  * Function-return probe -
  * Note:
@@ -189,7 +188,7 @@ struct kretprobe_instance *get_rp_inst_t
 void add_rp_inst(struct kretprobe_instance *ri);
 void kprobe_flush_task(struct task_struct *tk);
 void recycle_rp_inst(struct kretprobe_instance *ri);
-#else
+#else /* CONFIG_KPROBES */
 static inline int kprobe_running(void)
 {
 	return 0;
@@ -221,5 +220,5 @@ static inline void unregister_kretprobe(
 static inline void kprobe_flush_task(struct task_struct *tk)
 {
 }
-#endif
+#endif				/* CONFIG_KPROBES */
 #endif				/* _LINUX_KPROBES_H */
kernel/kprobes.c +11 -3
diff -uprN --exclude-from=diff.ignore linux-2.6.12-rc4-mm1/kernel/kprobes.c linux-2.6.12-rc4-mm1-def/kernel/kprobes.c
@@ -390,15 +390,14 @@ void unregister_jprobe(struct jprobe *jp
 	unregister_kprobe(&jp->kp);
 }
 
+#ifdef ARCH_SUPPORTS_KRETPROBES
+
 int register_kretprobe(struct kretprobe *rp)
 {
 	int ret = 0;
 	struct kretprobe_instance *inst;
 	int i;
 
-	if (!arch_supports_kretprobes)
-		return -ENOSYS;
-
 	rp->kp.pre_handler = pre_handler_kretprobe;
 
 	/* Pre-allocate memory for max kretprobe instances */
@@ -428,6 +427,15 @@ int register_kretprobe(struct kretprobe 
 	return ret;
 }
 
+#else /* ARCH_SUPPORTS_KRETPROBES */
+
+int register_kretprobe(struct kretprobe *rp)
+{
+	return -ENOSYS;
+}
+
+#endif /* ARCH_SUPPORTS_KRETPROBES */
+
 void unregister_kretprobe(struct kretprobe *rp)
 {
 	unsigned long flags;
#33 lore raw
In reply to Andrew Morton

Does not compile for CONFIG_ACPI=n & CONFIG_X86_HT=y (thus CONFIG_ACPI_BOOT=y):

CC arch/i386/kernel/setup.o
arch/i386/kernel/setup.c:97: error: syntax error before "acpi_sci_flags" arch/i386/kernel/setup.c:97: warning: type defaults to int' in declaration of acpi_sci_flags' arch/i386/kernel/setup.c:97: warning: data definition has no type or storage class arch/i386/kernel/setup.c: In function `parse_cmdline_early':
arch/i386/kernel/setup.c:812: error: request for member trigger' in something not a structure or union arch/i386/kernel/setup.c:815: error: request for member trigger' in something not a structure or union arch/i386/kernel/setup.c:818: error: request for member polarity' in something not a structure or union arch/i386/kernel/setup.c:821: error: request for member polarity' in something not a structure or union make[1]: *** [arch/i386/kernel/setup.o] Error 1

Johannes

#34 lore raw
In reply to Andrew Morton

2.6.12-rc4-mm1 on a Sharp Zaurus (arm pxa255) results in:

VFS: Mounted root (jffs2 filesystem) readonly.
Freeing init memory: 76K

Kernel panic - not syncing: Attempted to kill init!

<3>BUG: soft lockup detected on CPU#0!

Pid: 1, comm: init

CPU: 0
PC is at __delay+0x0/0xc
LR is at panic+0x108/0x130
pc : [<c00f71ac>]    lr : [<c0037140>]    Not tainted

sp : c0301f4c ip : c0301f4c fp : c0301f58
r10: 4001d000 r9 : c0300000 r8 : 00007f00
r7 : c0300000 r6 : c027a3e8 r5 : c027a3e4 r4 : 0000240b
r3 : 60000013 r2 : 000003ca r1 : 00000000 r0 : 00017133
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 397F Table: A1CB0000 DAC: 00000015
[<c0059c90>] (softlockup_tick+0x0/0xa0) from [<c0021020>] (timer_tick+0xb4/0xf8) r5 = C0300000 r4 = C0301F04
[<c0020f6c>] (timer_tick+0x0/0xf8) from [<c00277e0>] (pxa_timer_interrupt+0x48/0xa8) r6 = C0301F04 r5 = C0300000 r4 = F2A00000
[<c0027798>] (pxa_timer_interrupt+0x0/0xa8) from [<c001cbc4>] (__do_irq+0x6c/0xc4) r8 = C0301F04 r7 = 00000000 r6 = 00000000 r5 = C0300000
r4 = C0230374
[<c001cb58>] (__do_irq+0x0/0xc4) from [<c001ce48>] (do_level_IRQ+0x68/0xb8) [<c001cde0>] (do_level_IRQ+0x0/0xb8) from [<c001ceec>] (asm_do_IRQ+0x54/0x160) r6 = 04000000 r5 = F2D00000 r4 = FFFFFFFF
[<c001ce98>] (asm_do_IRQ+0x0/0x160) from [<c001ba14>] (__irq_svc+0x34/0x74) [<c0037038>] (panic+0x0/0x130) from [<c003a22c>] (do_exit+0x7c8/0xda4) r3 = 00000001 r2 = C02E8E40 r1 = C02E8D60 r0 = C02004C0 [<c0039a64>] (do_exit+0x0/0xda4) from [<c003a900>] (do_group_exit+0xc0/0x104) [<c003a840>] (do_group_exit+0x0/0x104) from [<c001be20>] (ret_fast_syscall+0x0/0x2c) r5 = 00000000 r4 = 0000002F

There was an extremely long pause after it printed "Kernel panic ..." before it printed the traceback.

2.6.12-rc4 doesn't do this, neither does 2.6.12-rc3-mm2.

Any ideas where the problem is before I start looking?

Regards,

Richard

#35 lore raw

Re: 2.6.12-rc4-mm2

For reference, the oops below still occurs with 2.6.12-rc4-mm2. I've noticed that "/sbin/init: error while loading shared libraries: /sbin/init: Cannot allocate version reference table: Cannot allocate Memory" appears on the console just before the "Kernel panic".

2.6.12-rc4, 2.6.12-rc3-mm2 and 2.6.12-rc3-mm3 all work with the same root filesystem which suggests this is a kernel issue of some sort.

Richard Purdie:

Quoted 36 lines

2.6.12-rc4-mm1 on a Sharp Zaurus (arm pxa255) results in:

VFS: Mounted root (jffs2 filesystem) readonly.
Freeing init memory: 76K

Kernel panic - not syncing: Attempted to kill init!

<3>BUG: soft lockup detected on CPU#0!

Pid: 1, comm: init

CPU: 0
PC is at __delay+0x0/0xc
LR is at panic+0x108/0x130
pc : [<c00f71ac>]    lr : [<c0037140>]    Not tainted

sp : c0301f4c ip : c0301f4c fp : c0301f58
r10: 4001d000 r9 : c0300000 r8 : 00007f00
r7 : c0300000 r6 : c027a3e8 r5 : c027a3e4 r4 : 0000240b
r3 : 60000013 r2 : 000003ca r1 : 00000000 r0 : 00017133
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 397F Table: A1CB0000 DAC: 00000015
[<c0059c90>] (softlockup_tick+0x0/0xa0) from [<c0021020>] (timer_tick+0xb4/0xf8) r5 = C0300000 r4 = C0301F04
[<c0020f6c>] (timer_tick+0x0/0xf8) from [<c00277e0>] (pxa_timer_interrupt+0x48/0xa8) r6 = C0301F04 r5 = C0300000 r4 = F2A00000
[<c0027798>] (pxa_timer_interrupt+0x0/0xa8) from [<c001cbc4>] (__do_irq+0x6c/0xc4) r8 = C0301F04 r7 = 00000000 r6 = 00000000 r5 = C0300000
r4 = C0230374
[<c001cb58>] (__do_irq+0x0/0xc4) from [<c001ce48>] (do_level_IRQ+0x68/0xb8) [<c001cde0>] (do_level_IRQ+0x0/0xb8) from [<c001ceec>] (asm_do_IRQ+0x54/0x160) r6 = 04000000 r5 = F2D00000 r4 = FFFFFFFF
[<c001ce98>] (asm_do_IRQ+0x0/0x160) from [<c001ba14>] (__irq_svc+0x34/0x74) [<c0037038>] (panic+0x0/0x130) from [<c003a22c>] (do_exit+0x7c8/0xda4) r3 = 00000001 r2 = C02E8E40 r1 = C02E8D60 r0 = C02004C0 [<c0039a64>] (do_exit+0x0/0xda4) from [<c003a900>] (do_group_exit+0xc0/0x104) [<c003a840>] (do_group_exit+0x0/0x104) from [<c001be20>] (ret_fast_syscall+0x0/0x2c) r5 = 00000000 r4 = 0000002F

There was an extremely long pause after it printed "Kernel panic ..." before it printed the traceback.

#36 lore raw
In reply to Andrew Morton

Review

Quoted 3 lines · Andrew Morton
(quoted diff) +2 -0
+uml-remove-elfh.patch
+uml-critical-change-memcpy-to-memmove.patch
 UML important updates

uml-remove-elfh looks empty.

Anyway, the real patch, of minor importance, follows in an attachment. This is a pure bugfix, as the intention was apparent, but not carried out, but the bug never caused exceptions or corruption. The check for a comma following "profile=schedule" on the command line had an off by one that caused it never to trigger. The option checking also accidentally clobbered prof_on = SCHED_PROFILING, granted that it was reached (which prior to dealing with that off by one, it never was).

I took the liberty of translating all of the hardcoded string length constants to strlen(schedstr) plus the appropriate offsets for the sake of clarity and side benefit of putting a string used only in __init in __initdata, but left others not multiply referenced in .rodata.

-- wli

profile=schedule parsing is not quite what it should be. First, str[7] is 'e', not ',', but then even if it did fall through, prof_on = SCHED_PROFILING would be clobbered inside if (get_option(...)) So a small amount of rearrangement is done in this patch to correct it.

kernel/profile.c +10 -6
Index: mm1-2.6.12-rc4/kernel/profile.c
===================================================================
@@ -49,15 +49,19 @@
 
 static int __init profile_setup(char * str)
 {
+	static char __initdata schedstr[] = "schedule";
 	int par;
 
-	if (!strncmp(str, "schedule", 8)) {
+	if (!strncmp(str, schedstr, strlen(schedstr))) {
 		prof_on = SCHED_PROFILING;
-		printk(KERN_INFO "kernel schedule profiling enabled\n");
-		if (str[7] == ',')
-			str += 8;
-	}
-	if (get_option(&str,&par)) {
+		if (str[strlen(schedstr)] == ',')
+			str += strlen(schedstr) + 1;
+		if (get_option(&str, &par))
+			prof_shift = par;
+		printk(KERN_INFO
+			"kernel schedule profiling enabled (shift: %ld)\n",
+			prof_shift);
+	} else if (get_option(&str, &par)) {
 		prof_shift = par;
 		prof_on = CPU_PROFILING;
 		printk(KERN_INFO "kernel profiling enabled (shift: %ld)\n",
#37 lore raw
Quoted 7 lines · William Lee Irwin III

Review

Quoted 3 lines · Andrew Morton
(quoted diff) +2 -0
+uml-remove-elfh.patch
+uml-critical-change-memcpy-to-memmove.patch
 UML important updates

uml-remove-elfh looks empty.

Yeah, I couldn't work out a way of generating a patch which removes a zero-length file, so that's there as a reminder to ask Linus to remove the thing by hand.

Quoted 1 line

Anyway, the real patch, of minor importance, follows in an attachment.

OK..

#38 lore raw
Quoted 7 lines · Andrew Morton
Quoted 6 lines · William Lee Irwin III
Quoted 3 lines · Andrew Morton
(quoted diff) +2 -0
+uml-remove-elfh.patch
+uml-critical-change-memcpy-to-memmove.patch
 UML important updates
Quoted 6 lines
Quoted 1 line

uml-remove-elfh looks empty.

Yeah, I couldn't work out a way of generating a patch which removes a zero-length file, so that's there as a reminder to ask Linus to remove the thing by hand.

This works :

include/asm-um/elf.h +1 -0
@@ -0,0 +1 @@
+
include/asm-um/elf.h deleted +0 -1
@@ -1 +0,0 @@
-

--
Jesper Juhl

#39 lore raw
Quoted 25 lines · Jesper Juhl
Quoted 7 lines · Andrew Morton
Quoted 6 lines · William Lee Irwin III
Quoted 3 lines · Andrew Morton
(quoted diff) +2 -0
+uml-remove-elfh.patch
+uml-critical-change-memcpy-to-memmove.patch
 UML important updates
Quoted 6 lines
Quoted 1 line

uml-remove-elfh looks empty.

Yeah, I couldn't work out a way of generating a patch which removes a zero-length file, so that's there as a reminder to ask Linus to remove the thing by hand.

This works :

include/asm-um/elf.h +1 -0
@@ -0,0 +1 @@
+

include/asm-um/elf.h line 1

Quoted 1 line
include/asm-um/elf.h deleted +0 -1
@@ -1 +0,0 @@
-

That's cheating, too. Plus rediffing this patch will make it disappear.

#40 lore raw

2.6.12-rc4-mm1: drivers/usb/gadget/ether.c compile error

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+gregkh-04-USB-gregkh-usb-031_usb-ethernet_gadget_cleanups.patch
...
USB tree
...

This patch breaks compilation with CONFIG_USB_ETH=y and CONFIG_USB_ETH_RNDIS=n:

<-- snip -->

...
CC drivers/usb/gadget/ether.o
drivers/usb/gadget/ether.c: In function `rx_submit':
drivers/usb/gadget/ether.c:1620: error: invalid application of sizeof' to incomplete type rndis_packet_msg_type' make[2]: *** [drivers/usb/gadget/ether.o] Error 1

<-- snip -->

cu
Adrian

Signature · 4 lines
       "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
#41 lore raw

Re: 2.6.12-rc4-mm1: drivers/usb/gadget/ether.c compile error

Quoted 11 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+gregkh-04-USB-gregkh-usb-031_usb-ethernet_gadget_cleanups.patch
...
USB tree
...

This patch breaks compilation with CONFIG_USB_ETH=y and CONFIG_USB_ETH_RNDIS=n:

This one fixes that glitch (thanks!) and gets rid of more #ifdeffery.

- Dave

This fixes a compile glitch with CONFIG_USB_ETH_RNDIS disabled, and replaces some inline #ifdeffery (and other code) with inline functions which can evaluate to constants.

drivers/usb/gadget/ether.c +21 -32
@@ -91,12 +91,12 @@
 
 #define RX_EXTRA	20		/* guard against rx overflows */
 
-#ifdef	CONFIG_USB_ETH_RNDIS
 #include "rndis.h"
-#else
-#define rndis_init()	0
-#define rndis_uninit(x)	do{}while(0)
-#define rndis_exit()	do{}while(0)
+
+#ifndef	CONFIG_USB_ETH_RNDIS
+#define rndis_uninit(x)		do{}while(0)
+#define rndis_deregister(c)	do{}while(0)
+#define rndis_exit()		do{}while(0)
 #endif
 
 /* CDC and RNDIS support the same host-chosen outgoing packet filters. */
@@ -1133,9 +1133,9 @@
 		dev->config = number;
 		INFO (dev, "%s speed config #%d: %d mA, %s, using %s\n",
 				speed, number, power, driver_desc,
-				dev->rndis
+				rndis_active(dev)
 					? "RNDIS"
-					: (dev->cdc
+					: (cdc_active(dev)
 						? "CDC Ethernet"
 						: "CDC Ethernet Subset"));
 	}
@@ -1350,7 +1350,7 @@
 				|| !dev->config
 				|| wIndex > 1)
 			break;
-		if (!dev->cdc && wIndex != 0)
+		if (!cdc_active(dev) && wIndex != 0)
 			break;
 		spin_lock (&dev->lock);
 
@@ -1420,11 +1420,11 @@
 				|| !dev->config
 				|| wIndex > 1)
 			break;
-		if (!(dev->cdc || dev->rndis) && wIndex != 0)
+		if (!(cdc_active(dev) || rndis_active(dev)) && wIndex != 0)
 			break;
 
 		/* for CDC, iff carrier is on, data interface is active. */
-		if (dev->rndis || wIndex != 1)
+		if (rndis_active(dev) || wIndex != 1)
 			*(u8 *)req->buf = 0;
 		else
 			*(u8 *)req->buf = netif_carrier_ok (dev->net) ? 1 : 0;
@@ -1437,8 +1437,7 @@
 		 * wValue = packet filter bitmap
 		 */
 		if (ctrl->bRequestType != (USB_TYPE_CLASS|USB_RECIP_INTERFACE)
-				|| !dev->cdc
-				|| dev->rndis
+				|| !cdc_active(dev)
 				|| wLength != 0
 				|| wIndex > 1)
 			break;
@@ -1462,7 +1461,7 @@
 	 */
 	case USB_CDC_SEND_ENCAPSULATED_COMMAND:
 		if (ctrl->bRequestType != (USB_TYPE_CLASS|USB_RECIP_INTERFACE)
-				|| !dev->rndis
+				|| !rndis_active(dev)
 				|| wLength > USB_BUFSIZ
 				|| wValue
 				|| rndis_control_intf.bInterfaceNumber
@@ -1477,7 +1476,7 @@
 	case USB_CDC_GET_ENCAPSULATED_RESPONSE:
 		if ((USB_DIR_IN|USB_TYPE_CLASS|USB_RECIP_INTERFACE)
 					== ctrl->bRequestType
-				&& dev->rndis
+				&& rndis_active(dev)
 				// && wLength >= 0x0400
 				&& !wValue
 				&& rndis_control_intf.bInterfaceNumber
@@ -1661,11 +1660,9 @@
 	/* normal completion */
 	case 0:
 		skb_put (skb, req->actual);
-#ifdef CONFIG_USB_ETH_RNDIS
 		/* we know MaxPacketsPerTransfer == 1 here */
-		if (dev->rndis)
+		if (rndis_active(dev))
 			status = rndis_rm_hdr (skb);
-#endif
 		if (status < 0
 				|| ETH_HLEN > skb->len
 				|| skb->len > ETH_FRAME_LEN) {
@@ -1893,8 +1890,7 @@
 	 * or the hardware can't use skb buffers.
 	 * or there's not enough space for any RNDIS headers we need
 	 */
-#ifdef CONFIG_USB_ETH_RNDIS
-	if (dev->rndis) {
+	if (rndis_active(dev)) {
 		struct sk_buff	*skb_rndis;
 
 		skb_rndis = skb_realloc_headroom (skb,
@@ -1907,7 +1903,6 @@
 		rndis_add_hdr (skb);
 		length = skb->len;
 	}
-#endif
 	req->buf = skb->data;
 	req->context = skb;
 	req->complete = tx_complete;
@@ -1940,9 +1935,7 @@
 	}
 
 	if (retval) {
-#ifdef CONFIG_USB_ETH_RNDIS
 drop:
-#endif
 		dev->stats.tx_dropped++;
 		dev_kfree_skb_any (skb);
 		spin_lock_irqsave (&dev->lock, flags);
@@ -2023,6 +2016,10 @@
 	return 0;
 }
 
+#else
+
+#define	rndis_control_ack	NULL
+
 #endif	/* RNDIS */
 
 static void eth_start (struct eth_dev *dev, int gfp_flags)
@@ -2035,14 +2032,12 @@
 	/* and open the tx floodgates */ 
 	atomic_set (&dev->tx_qlen, 0);
 	netif_wake_queue (dev->net);
-#ifdef CONFIG_USB_ETH_RNDIS
-	if (dev->rndis) {
+	if (rndis_active(dev)) {
 		rndis_set_param_medium (dev->rndis_config,
 					NDIS_MEDIUM_802_3,
 					BITRATE(dev->gadget)/100);
 		(void) rndis_signal_connect (dev->rndis_config);
 	}
-#endif	
 }
 
 static int eth_open (struct net_device *net)
@@ -2083,13 +2078,11 @@
 		}
 	}
 	
-#ifdef	CONFIG_USB_ETH_RNDIS
-	if (dev->rndis) {
+	if (rndis_active(dev)) {
 		rndis_set_param_medium (dev->rndis_config,
 					NDIS_MEDIUM_802_3, 0);
 		(void) rndis_signal_disconnect (dev->rndis_config);
 	}
-#endif
 
 	return 0;
 }
@@ -2127,10 +2120,8 @@
 	struct eth_dev		*dev = get_gadget_data (gadget);
 
 	DEBUG (dev, "unbind\n");
-#ifdef CONFIG_USB_ETH_RNDIS
 	rndis_deregister (dev->rndis_config);
 	rndis_exit ();
-#endif
 
 	/* we've already been disconnected ... no i/o is active */
 	if (dev->req) {
@@ -2481,7 +2472,6 @@
 			dev->host_mac [2], dev->host_mac [3],
 			dev->host_mac [4], dev->host_mac [5]);
 
-#ifdef	CONFIG_USB_ETH_RNDIS
 	if (rndis) {
 		u32	vendorID = 0;
 
@@ -2509,7 +2499,6 @@
 			goto fail0;
 		INFO (dev, "RNDIS ready\n");
 	}
-#endif	
 
 	return status;
 
#42 lore raw

PATCH 1/1 arch/i386/Kconfig: SELECT_MEMORY_MODEL -> ARCH_SELECT_MEMORY_MODEL

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+sparsemem-memory-model-for-i386.patch
...
More sparsemem stuff
...

As far as I understand it, the following additional patch makes it look more as it was intended.

arch/i386/Kconfig renamed from arch/i386/Kconfig.old +1 -1
@@ -794,7 +794,7 @@
 	def_bool y
 	depends on NUMA
 
-config SELECT_MEMORY_MODEL
+config ARCH_SELECT_MEMORY_MODEL
 	def_bool y
 	depends on ARCH_SPARSEMEM_ENABLE
 
#43 lore raw

Re: [-mm patch] arch/i386/Kconfig: SELECT_MEMORY_MODEL -> ARCH_SELECT_MEMORY_MODEL

Quoted 11 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.12-rc3-mm3:
...
+sparsemem-memory-model-for-i386.patch
...
More sparsemem stuff
...

As far as I understand it, the following additional patch makes it look more as it was intended.

Yes, that's correct. Thanks for finding it.

-- Dave