2.6.12-rc4-mm1
Subsystems (7)
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
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
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
@@ -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
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 ebea <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
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?
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 d285 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
kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)
In reply to Andrew MortonQuoted 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_hotplugfill_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_hotplugfill_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=misckobject_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_hotplugfill_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=drmkobject_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: driverskobject_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
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: driverskobject_registerfailed 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
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: driverskobject_registerfailed for Intel(R) 830M/845G/852GM/855GM/865G/915GSomeone 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)
_
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: driverskobject_registerfailed 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
Re: kobject_register failed for intelfb (-EACCES) (Re: 2.6.12-rc4-mm1)
In reply to Andrew MortonQuoted 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: driverskobject_registerfailed for Intel(R) 830M/845G/852GM/855GM/865G/915GSomeone 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.
PATCH 1/1 Print KBD and AUX irqs correctly.
In reply to Andrew MortonFun 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 ; }
PATCH 1/1 mm.h: fix page_zone compile error
In reply to Andrew MortonQuoted 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.omm/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 );
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
...
CCmm/hugetlb.omm/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 inliningmm/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
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
...
CCmm/hugetlb.omm/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 inliningmm/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 SeedRe: [-mm patch] mm.h: fix page_zone compile error
In reply to Adrian BunkQuoted 9 lines · Adrian Bunk
On Thu, May 12, 2005 at 03:31:00AM -0700, Andrew Morton wrote:
CC
mm/hugetlb.omm/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 inliningmm/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
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
PATCH 1/1 drivers/cpufreq/cpufreq_conservative.c: make cpufreq_gov_dbs static
In reply to Andrew MortonQuoted 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 ) {
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.
Quoted 12 lines
ends with:
CCmm/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.
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
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
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/0x18Hmmm. 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 callingposix_acl_release(), that seems unlikely -- unless you managed to get two CPUs inreiserfs_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
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
@@ -282,6 +282,13 @@ static void dispose_list(struct list_heaif (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
@@ -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);
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-withoutfs/inode.cfs/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_heaif (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-fixfs/inode.cfs/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
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
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_CHECKenabled? 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
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
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_acland 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
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]
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.
PATCH 1/1 kprobes: arch_supports_kretprobes cleanup
In reply to Andrew MortonHi,
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
@@ -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
@@ -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_tvoid 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
@@ -390,15 +390,14 @@ void unregister_jprobe(struct jprobe *jpunregister_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;
Does not compile for CONFIG_ACPI=n & CONFIG_X86_HT=y (thus CONFIG_ACPI_BOOT=y):
CC arch/i386/kernel/setup.oarch/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
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
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: 76KKernel 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 taintedsp :
c0301f4cip :c0301f4cfp :c0301f58
r10:4001d000r9 :c0300000r8 :00007f00
r7 :c0300000r6 :c027a3e8r5 :c027a3e4r4 :0000240b
r3 : 60000013 r2 :000003car1 : 00000000 r0 : 00017133
Flags: nzCv IRQs on FIQs on ModeSVC_32Segment 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 = 0000002FThere was an extremely long pause after it printed "Kernel panic ..." before it printed the traceback.
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
@@ -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",
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 updatesuml-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..
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
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 updatesQuoted 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.
2.6.12-rc4-mm1: drivers/usb/gadget/ether.c compile error
In reply to Andrew MortonQuoted 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.odrivers/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 SeedRe: 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=yandCONFIG_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;
PATCH 1/1 arch/i386/Kconfig: SELECT_MEMORY_MODEL -> ARCH_SELECT_MEMORY_MODEL
In reply to Andrew MortonQuoted 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
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