2007-12-13 10:41:12

by Andrew Morton

[permalink] [raw]
Subject: 2.6.24-rc5-mm1



ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

- If something goes wrong with a PCI device's probing or initialisation, try
reverting pci-disable-decoding-during-sizing-of-bars.patch.

- git-sched was dropped due to breaking suspend-to-RAM.

- git-block has been restored after having had a few problems

- git-newsetup.patch was dropped due to conflicts with git-x86

- git-perfmon.patch is still dropped for the same reason

- git-kgdb.patch is still dropped for the same reason

- Please do try to cc the correct developer and mailing list when
reporting problems - I'm just buried in bugs over here.



Boilerplate:

- See the `hot-fixes' directory for any important updates to this patchset.

- To fetch an -mm tree using git, use (for example)

git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1
git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1

- -mm kernel commit activity can be reviewed by subscribing to the
mm-commits mailing list.

echo "subscribe mm-commits" | mail [email protected]

- If you hit a bug in -mm and it is not obvious which patch caused it, it is
most valuable if you can perform a bisection search to identify which patch
introduced the bug. Instructions for this process are at

http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt

But beware that this process takes some time (around ten rebuilds and
reboots), so consider reporting the bug first and if we cannot immediately
identify the faulty patch, then perform the bisection search.

- When reporting bugs, please try to Cc: the relevant maintainer and mailing
list on any email.

- When reporting bugs in this kernel via email, please also rewrite the
email Subject: in some manner to reflect the nature of the bug. Some
developers filter by Subject: when looking for messages to read.

- Occasional snapshots of the -mm lineup are uploaded to
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
the mm-commits list. These probably are at least compilable.

- More-than-daily -mm snapshots may be found at
http://userweb.kernel.org/~akpm/mmotm/. These are almost certainly not
compileable.



Changes since 2.6.24-rc4-mm1:


origin.patch
git-acpi.patch
git-alsa.patch
git-agpgart.patch
git-arm.patch
git-arm-master.patch
git-avr32.patch
git-cpufreq.patch
git-powerpc.patch
git-drm.patch
git-dvb.patch
git-hwmon.patch
git-gfs2-nmw.patch
git-hid.patch
git-hrt.patch
git-ieee1394.patch
git-infiniband.patch
git-input.patch
git-jfs.patch
git-kbuild.patch
git-kvm.patch
git-lblnet.patch
git-leds.patch
git-libata-all.patch
git-md-accel.patch
git-mips.patch
git-mmc.patch
git-mtd.patch
git-ubi.patch
git-net.patch
git-netdev-all.patch
git-battery.patch
git-nfs.patch
git-nfsd.patch
git-ocfs2.patch
git-s390.patch
git-sh.patch
git-scsi-misc.patch
git-scsi-rc-fixes.patch
git-block.patch
git-unionfs.patch
git-v9fs.patch
git-watchdog.patch
git-wireless.patch
git-ipwireless_cs.patch
git-x86.patch
git-xfs.patch
git-cryptodev.patch
git-xtensa.patch

git trees

-aio-only-account-i-o-wait-time-in-read_events-if-there-are-active-requests.patch
-fix-cloneclone_newpid.patch
-rtc-assure-proper-memory-ordering-with-respect-to-rtc_dev_busy-flag.patch
-ufs-fix-nexstep-dir-block-size.patch
-ufs-fix-nexstep-dir-block-size-checkpatch-fixes.patch
-aoe-properly-initialise-the-request_queues-backing_dev_info.patch
-mm-backing-devc-fix-percpu_counter_destroy-call-bug-in-bdi_init.patch
-add-export_symbolksize.patch
-spi-use-mutex-not-semaphore.patch
-spi-at25-driver-is-for-eeprom-not-flash.patch
-spi-simplify-spi_sync-calling-convention.patch
-spi-use-simplified-spi_sync-calling-convention.patch
-spi-initial-bf54x-spi-support.patch
-spi-bfin-spi-uses-portmux-calls.patch
-spi-spi_bfin-cleanups-error-handling.patch
-spi-spi_bfin-handles-spi_transfercs_change.patch
-spi-spi_bfin-dont-bypass-spi-framework.patch
-spi-spi_bfin-uses-platform-device-resources.patch
-spi-spi_bfin-uses-portmux-for-additional-busses.patch
-spi-spi_bfin-rearrange-portmux-calls.patch
-spi-spi_bfin-change-handling-of-communication-parameters.patch
-spi-spi_bfin-relocate-spin-waits.patch
-spi-spi_bfin-handle-multiple-spi_masters.patch
-spi-spi_bfin-bugfix-for-816-bit-word-sizes.patch
-spi-spi_bfin-update-handling-of-delay-after-deselect.patch
-spi-spi_bfin-resequence-dma-start-stop.patch
-blackfin-spi-driver-use-cpu_relax-to-replace-continue-in-while-busywait.patch
-blackfin-spi-driver-use-void-__iomem-for-regs_base.patch
-blackfin-spi-driver-move-hard-coded-pin_req-to-board-file.patch
-blackfin-spi-driver-reconfigure-speed_hz-and-bits_per_word-in-each-spi-transfer.patch
-avoid-potential-null-dereference-in-unregister_sysctl_table.patch
-gpio_cs5535-disable-aux-on-output.patch
-mm-fix-xip-file-writes.patch
-revert-dpt_i2o-convert-to-scsi-hotplug-model.patch
-jbd-fix-assertion-failure-in-fs-jbd-checkpointc.patch
-proc-fix-pde-refcounting.patch
-powerpc-invalid-size-for-swapper_pg_dir-with-config_pte_64bit=y.patch
-gregkh-driver-kset-add-kset_create_and_register-function.patch
-gregkh-driver-kobject-add-kobject_create_and_register-function.patch
-gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_register.patch
-gregkh-driver-kset-convert-drivers-base-busc-kset_create_and_register.patch
-gregkh-driver-kset-convert-drivers-base-classc-kset_create_and_register.patch
-gregkh-driver-kset-convert-drivers-base-firmwarec-kset_create_and_register.patch
-gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
-gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
-gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
-gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
-gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
-gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
-gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
-gregkh-driver-kobject-add-kobject_init_ng-kobject_add_ng-and-kobject_init_and_add-functions.patch
-gregkh-driver-driver-core-move-the-driver-specific-module-code-into-the-driver-core-fix.patch
-remove-saa7134-oss.patch
-jdelvare-i2c-i2c-delete-old-documentation.patch
-jdelvare-i2c-i2c-gpio-set-hwmon-class.patch
-jdelvare-i2c-i2c-add-missing-space.patch
-rename-_bss-to-__bss_start.patch
-ia64-efi-make-full-use-of-macro-efi_md_size.patch
-ads7846-stop-updating-dev-powerpower_state.patch
-remove-trailing-nuls-from-network-bonding-sysfs-interface.patch
-net-bonding-return-nothing-for-not-applicable-values.patch
-net-bonding-purely-cosmetic-rename-a-local-variable.patch
-git-watchdog-hpwdt-build-fix.patch
-iwlwifi-3945-fix-race-conditional-panic.patch
-iwlwifi-4965-fix-race-conditional-panic.patch
-bcm43xx_debugfs-sscanf-fix.patch
-arch-xtensa-remove-duplicate-includes.patch
-xtensa-kernel-setupc-remove-dead-code.patch
-ia64-increase-datapatch-offset.patch
-ia64-dont-assume-that-unwcheckpy-is-executable.patch
-ia64-export-copy_page-to-modules.patch
-add-mike-christie-to-maintainers.patch
-scsi-early-detection-of-medium-not-present-updated.patch
-slubs-ksize-fails-for-size-2048.patch
-vm-security-add-security-hook-to-do_brk.patch
-mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
-mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
-pie-executable-randomization.patch
-pie-executable-randomization-uninlining.patch
-pie-executable-randomization-checkpatch-fixes.patch

Merged into mainline or a subsystem tree

+revert-hibernation-use-temporary-page-tables-for-kernel-text-mapping-on-x86_64.patch
+uml-stop-gdb-from-deleting-breakpoints-when-running-uml.patch
+alpha-strncpy-strncat-fixes.patch
+rtc-at32ap700x-fix-irq-init-oops.patch
+parport-dev-timeslice-is-an-unsigned-long-not-an-int.patch
+ecryptfs-initialize-new-auth_tokens-before-teardown.patch
+knfsd-change-mailing-list-for-nfsd-in-maintainers.patch
+fix-lguest-documentation.patch
+sparsemem-make-sparsemem_vmemmap-selectable.patch
+fs-kconfig-grammar-fix.patch
+ext3-ext4-avoid-divide-by-zero.patch
+alpha-build-fixes.patch

2.6.24 queue

+timerfd-v3-new-timerfd-api-s390-fix.patch
+timerfd-v3-new-timerfd-api-sparc64-fix.patch

Fix timerfd-v3-new-timerfd-api.patch a ridiculous number of times.

+git-acpi-build-fix.patch

Fix git-acpi.patch more.

+acpi-remove-duplicated-warning-message.patch
+acpi_pci_irq_find_prt_entry-use-list_for_each_entry-instead-of-list_for_each.patch

ACPI things

+alsa-nopage.patch
+alsa-usx2y-nopage.patch

ALSA things

-git-avr32-fixup.patch

Unneeded

+agk-dm-dm-crypt-use-bio_add_page.patch
+agk-dm-dm-convert-suspend_lock-semaphore-to-mutex.patch
+agk-dm-dm-snapshot-combine-consecutive-exceptions-in-memory.patch

DM updates

+powerpc-dont-cast-a-pointer-to-pointer-of-list_head.patch
+arch-powerpc-add-missing-of_node_put.patch
+arch-powerpc-platforms-cell-cbe_regsc-add-missing-of_node_put.patch

powerpc stuff

+gregkh-driver-kobject-fix-the-documentation-of-how-kobject_set_name-works.patch
+gregkh-driver-kobject-convert-ibmasm-to-use-kref-not-kobject.patch
+gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
+gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
+gregkh-driver-kobject-convert-icom-to-use-kref-not-kobject.patch
+gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
+gregkh-driver-kobject-make-kobject_cleanup-be-static.patch
+gregkh-driver-kobject-add-kobject_init_ng-function.patch
+gregkh-driver-kobject-add-kobject_add_ng-function.patch
+gregkh-driver-kobject-add-kobject_init_and_add-function.patch
+gregkh-driver-kset-add-kset_create_and_add-function.patch
+gregkh-driver-kobject-add-kobject_create_and_add-function.patch
+gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_add.patch
+gregkh-driver-kset-convert-drivers-base-busc-to-use-kset_create.patch
+gregkh-driver-kset-convert-drivers-base-classc-to-use-kset_create.patch
+gregkh-driver-kset-convert-drivers-base-firmwarec-to-use-kset_create.patch
+gregkh-driver-uio-fix-kobject-usage.patch
+gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
+gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
+gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
+gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
+gregkh-driver-driver-core-introduce-default-attribute-groups.patch
+gregkh-driver-netiucv-use-device_driver-default-attribute-groups.patch
+gregkh-driver-zfcp-use-device_driver-default-attribute-groups.patch
+gregkh-driver-infiniband-make-ipath-driver-use-default-driver-groups.patch

Driver tree updates

+revert-gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch

Fix it.

-driver-tree-broke-infiniband.patch

Unneeded

+drm-dont-cast-a-pointer-to-pointer-of-list_head.patch

DRM cleanup

+git-dvb-fix-build-in-drivers-media-dvb-frontends-tda18271h.patch
+git-dvb-one-videobuf_read_start-is-enough.patch
+git-dvb-drivers-media-dvb-frontends-zl10353c-avoid-64-bit-divide.patch
+git-dvb-drivers-media-video-et61x251-et61x251_corec-fix-warnings.patch

Fix git-dvb

+media-video-usbvision-add-mutex_unlock-to-error-paths.patch
+media-video-usbvision-add-mutex_unlock-to-error-paths-fix.patch
+media-video-usbvision-remove-ctrlurblock.patch

DVB things

+jdelvare-i2c-i2c-deprecate-video-bus-drivers.patch
+jdelvare-i2c-i2c-drop-redundant-client-usage-count.patch
+jdelvare-i2c-i2c-change-refcounting-prototypes.patch
+jdelvare-i2c-i2c-remove-redundant-i2c_adapter-list.patch
+jdelvare-i2c-i2c-remove-redundant-i2c_driver-list.patch
+jdelvare-i2c-i2c-core-rename-lock.patch

I2C tree updates

+i2c-fix-drivers-media-video-bt866c.patch

Fix it.

+applesmc-sensors-set-for-macbook2-try-2.patch

Update applesmc-sensors-set-for-macbook2.patch

+gfs2-avoid-64-bit-divide.patch

Fix git-gfs2-nmw.patch

+ia64-ia32-nopage.patch

ia64 cleanup

+ieee1394-nopage.patch

firewire cleanup

+ib-nopage.patch

Infiniband cleanup

+fujitsu-application-panel-led-value.patch

apanel update

+ads7846-stop-updating-dev-powerpower_state.patch
+wistron_btns-add-support-for-x86_64-systems.patch
+wistron_btns-add-support-for-fujitsu-siemens-amilo-pro-edition-v3505.patch
+hp6xx-hp7xx-clean-up-drivers-input-keyboardtouchscreen-kconfigs.patch

input things

+pata_legacy-restructure-and-revamp.patch

pata upate

+ide-mm-ide-dma-reporting-and-validity-checking-fixes-take-3.patch
+ide-mm-ide-cd-remove-dead-post_transform_command.patch
+ide-mm-pdc202xx_new-fix-promise-tx4-support.patch
+ide-mm-hpt366-fix-hpt37x-pio-mode-timings-take-2.patch
+ide-mm-hpt366-change-timing-register-masks.patch
+ide-mm-hpt366-kill-set_dma_mode-method-wrapper.patch
+ide-mm-ide-remove-dead-code-from-__ide_dma_test_irq.patch
+ide-mm-ide-remove-stale-changelog-from-ide-disk-c.patch
+ide-mm-ide-remove-stale-changelog-from-ide-probe-c.patch
+ide-mm-ide-add-ide_busy_sleep-helper.patch
+ide-mm-ide-remove-broken-disk-byte-swapping-support.patch
+ide-mm-cmd64x-remove-proc-ide-cmd64x.patch

IDE tree updates

+md-balance-braces-in-raid5-debug-code.patch

Fix git-md-accel.patch

+mips-fix-makefile-borkage.patch

MIPS fix

+ipsec-fix-reversed-icmp6-policy-check.patch
+ipsec-do-not-let-packets-pass-when-icmp-flag-is-off.patch
+git-net-vs-git-lblnet.patch
+git-net-fix-drivers-net-ns83820c-build.patch
+updates-to-nfsroot-documentation-take-3.patch
+net-use-mutex_is_locked-for-assert_rtnl.patch
+tipc-fix-semaphore-handling.patch
+ppp-synchronous-tty-convert-dead_sem-to-completion.patch

net things

+e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000.patch

Make e1000e config sane

+plip-driver-convert-killed_timer_sem-to-completion.patch

plip cleanup

+backlight-omap1-backlight-driver.patch
+backlight-omap1-backlight-driver-fix.patch

backlight driver

+pcmcia-include-bad-cis-filename-in-error-message.patch

pcmcia niceness

+pci-disable-decoding-during-sizing-of-bars.patch

PCI fix

+pcie-aer-dont-check-_osc-when-acpi-is-disabled.patch
+pci-dont-load-acpi_php-when-acpi-is-disabled.patch
+pci-dont-load-acpi_php-when-acpi-is-disabled-fix.patch

PCIE and PCI fixes

+kernel-time-make-tick_do_broadcast-static.patch

cleanup

-git-scsi-misc-fixup.patch

Unneeded

+git-scsi-misc-fix-build-in-drivers-scsi-scsi_tgt_libc.patch

Fix git-scsi-misc

+sg-nopage.patch
+3w-raid-drivers-memset-not-needed-in-probe.patch
+hptiop-add-more-adapter-models-and-other-fixes.patch
+hptiop-add-more-adapter-models-and-other-fixes-update.patch
+hptiop-add-more-adapter-models-and-other-fixes-fix-2.patch
+drivers-scsi-iprc-use-list_head-instead-of-list_head_init.patch

scsi things

-bidi-support-sr-sd-remove-dead-code.patch
-bidi-support-tgt-use-scsi_init_io-instead-of-scsi_alloc_sgtable.patch
-bidi-support-scsi_data_buffer.patch
-scsi-pending-arm-convert-to-accessors.patch
-scsi-bidi-support.patch

scsi changes killed this

+usb-mon-nopage.patch

USB cleanup

+9p-util-fix-semaphore-handling.patch

9p fix

+watchdog-use-sgi_has_indydog-for-indydog-depends.patch

watchdog cleanup

+wireless-libertas-dont-cast-a-pointer-to-pointer-of-list_head.patch

wireless cleanup

-revert-git-kvm-changes-in-arch-x86-kconfig.patch
-revert-revert-git-kvm-changes-in-arch-x86-kconfig.patch

Unneeded

+git-x86-fix-allnoconfig-build.patch

x86 fix

+mcheck-mce_64-mce_read_sem-to-mutex.patch

x86 cleanup

+x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-calling-convention-fix.patch

Fix x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-fixes.patch

+x86-boot-use-e820-memory-map-on-efi-32-platform.patch

x86 fix

+iommu-sg-add-iommu-helper-functions-for-the-free-area-management.patch
+iommu-sg-powerpc-convert-iommu-to-use-the-iommu-helper.patch
+iommu-sg-powerpc-remove-dma-4gb-boundary-protection.patch
+iommu-sg-x86-convert-calgary-iommu-to-use-the-iommu-helper.patch
+iommu-sg-x86-convert-gart-iommu-to-use-the-iommu-helper.patch
+iommu-sg-kill-__clear_bit_string-and-find_next_zero_string.patch

More iommu work

+drivers-cpufreq-cpufreq_statsc-section-fix.patch
+bonding-locking-fix.patch
+bridge-assign-random-address.patch
+nfs-fix-an-oops-in-nfs-unmount.patch
+acpi-sbs-reset-alarm-bit.patch
+acpi-sbs-ignore-alarms-coming-from-unknown-devices.patch
+acpi-sbs-return-rate-in-mw-if-capacity-in-mwh.patch
+usb-use-irqf_disabled-for-hcd-interrupt-handlers.patch
+usb-at91_udc-correct-hanging-while-disconnecting-usb-cable.patch
+iwlwifi3945-4965-fix-rate-control-algo-reference-leak.patch
+iwlwifi3945-4965-fix-rate-control-algo-reference-leak-fix.patch
+mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
+mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
+mm-sparsec-improve-the-error-handling-for-sparse_add_one_section-fix.patch
+pktcdvd-add-kobject_put-when-kobject-register-fails.patch
+libertas-select-wireless_ext.patch
+bcm43xx_debugfs-sscanf-fix.patch
+apm_eventinfo_t-are-userspace-types.patch
+drivers-macintosh-via-pmuc-added-a-missing-iounmap.patch

More 2.6.24 queue

+slub-optimise-the-clearing-of-__gfp_zero.patch

Slub speedup

+mm-special-mapping-nopage.patch
+remove-unused-arguments-in-zone_init_free_lists.patch

MM things

+smack-getpeercred_stream-fix-for-so_peersec-and-tcp.patch

smack update

+agp-alpha-nopage.patch
+alpha-fix-warning-by-fixing-flush_tlb_kernel_range.patch

alpha stuff

+arch-cris-added-a-missing-iounmap.patch

cris fix

+uml-remove-duplicate-config-symbol-and-unused-file-and-variables.patch
+uml-fix-mconsole-stop.patch
+uml-miscellaneous-code-cleanups.patch
+uml-style-fixes-in-filec.patch
+uml-64-bit-tlb-fixes.patch
+uml-customize-tlbh.patch
+uml-runtime-detection-of-host-vmsplit-on-i386.patch
+uml-eliminate-setjmp_wrapper.patch
+uml-install-panic-notifier-earlier.patch
+uml-use-barrier-instead-of-mb.patch
+uml-tidy-helper-code.patch
+uml-dont-kill-pid-0.patch
+uml-get-rid-of-syscall-counters.patch
+uml-dont-allow-processes-to-call-into-stub.patch
+uml-move-sig_handler_common_skas.patch
+uml-clean-up-sig_handler_common_skas.patch

UML updates

+get-rid-of-nr_open-and-introduce-a-sysctl_nr_open-fix.patch

Fix get-rid-of-nr_open-and-introduce-a-sysctl_nr_open.patch

+dio-fix-kernel-doc-notation.patch
+relay-nopage.patch
+uio-nopage.patch
+deprecate-smbfs-in-favour-of-cifs.patch
+drivers-char-use-list_head-instead-of-list_head_init.patch
+remove-one-useless-extern-declaration.patch
+quota-improve-inode-list-scanning-in-add_dquot_ref.patch
+quota-improve-inode-list-scanning-in-add_dquot_ref-fix.patch
+rcu-move-three-variables-to-__read_mostly-to-save-space.patch
+add-arch_ptrace_stop.patch
+tty-enable-the-echoing-of-c-in-the-n_tty-discipline.patch
+tty-enable-the-echoing-of-c-in-the-n_tty-discipline-checkpatch-fixes.patch
+docs-kernel-locking-convert-semaphore-references.patch
+virtio_net-remove-double-ether_setup.patch
+drivers-char-ipmi-ipmi_msghandlerc-use-list_head-instead-of-list_head_init.patch
+fs-reiserfs-xattrc-use-list_head-instead-of-list_head_init.patch
+stopmachine-semaphore-to-mutex.patch
+stopmachine-semaphore-to-mutex-fix.patch
+amiga-serial-driver-port_write_mutex-fixup.patch
+ext2-xip-check-fix.patch
+parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard.patch
+parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard-fix.patch
+parport_serial-netmos-9855-fix.patch
+partition-use-default_sgi_partition-for-sgi_partion-default.patch

Misc

+atmel_spi-chain-dma-transfers-update.patch

Fix atmel_spi-chain-dma-transfers.patch

+create-arch-kconfig.patch
+add-have_oprofile.patch
+add-have_kprobes.patch
+move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch

Fiddle with Kconfig

-move-kprobes-examples-to-samples-resend.patch
-move-kprobes-examples-to-samples-resend-checkpatch-fixes.patch
-move-kprobes-examples-to-samples-resend-vs-git-x86.patch

These need updating

+ecryptfs-make-show_options-reflect-actual-mount-options.patch
+ecryptfs-make-show_options-reflect-actual-mount-options-fix.patch

ecryptfs cleanups/fixes

+rtc-add-support-for-the-s-35390a-rtc-chip.patch
+rtc-add-support-for-the-s-35390a-rtc-chip-fix.patch

RTC update

+fb-defio-nopage.patch
+atmel_lcdfb-validate-display-timings.patch
+vgacon-fix-sparse-warning-about-shadowing-i-symbol.patch
+fbcon-fix-sparse-warning-about-shadowing-p-symbol.patch
+fbcon-fix-sparse-warning-about-shadowing-rotate-symbol.patch
+logo-move-declarations-of-logos-to-linux_logoh.patch
+logo-move-declarations-of-logos-to-linux_logoh-fix.patch

fbdev things

+md-raid6-fix-mktablec.patch
+md-raid6-clean-up-the-style-of-raid6test-testc.patch
+md-update-md-bitmap-during-resync.patch
+md-update-md-bitmap-during-resync-fix.patch

RAID updates

+pnp-do-not-stop-start-devices-in-suspend-resume-path.patch

PNP fix

-pnp-request-ioport-and-iomem-resources-used-by-active-devices.patch

Dropped for now.

+ext-fix-comment-for-nonexistent-variable.patch
+ext-use-ext_get_group_desc.patch
+ext-remove-unused-argument-for-ext_find_goal.patch
+ext-cleanup-ext_bg_num_gdb.patch

ext2/3/4 cleanups

+per-zone-and-reclaim-enhancements-for-memory-controller-take-3-modifies-vmscanc-for-isolate-globa-cgroup-lru-activity-fix-accounting-in-vmscanc-for-memory-controller.patch
+update-documentation-controller-memorytxt.patch

memory controller updates

+drivers-dma-iop-admac-use-list_head-instead-of-list_head_init.patch

DMS driver cleanup

+proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-2.patch
+proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-3.patch

Fix
proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces.patch
even more

+fix-group-stop-with-exit-race.patch
+sys_setsid-remove-now-unneeded-session-=-1-check.patch
+move-the-related-code-from-exit_notify-to-exit_signals.patch
+pid-sys_wait-fixes-v2.patch
+pid-sys_wait-fixes-v2-checkpatch-fixes.patch
+pid-extend-fix-pid_vnr.patch
+sys_getsid-dont-use-nsproxy-directly.patch
+pid-fix-mips-irix-emulation-pid-usage.patch
+pid-fix-solaris_procids.patch
+uglify-kill_pid_info-to-fix-kill-vs-exec-race.patch
+uglify-while_each_pid_task-to-make-sure-we-dont-count-the-execing-pricess-twice.patch
+itimer_real-convert-to-use-struct-pid.patch

Core kernel updates

+rd-support-xip.patch

SUpport XIP in rd.c

-cramfs-make-cramfs-little-endian-only.patch
-cramfs-make-cramfs-little-endian-only-update.patch
-cramfs-make-cramfs-little-endian-only-fix.patch

Dropped


5041 commits in 1616 patch files

All patches:

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


Subject: Re: 2.6.24-rc5-mm1

Hi Andrew,
On Thu, Dec 13, 2007 at 02:40:50AM -0800, Andrew Morton wrote:
>
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>
> - If something goes wrong with a PCI device's probing or initialisation, try
> reverting pci-disable-decoding-during-sizing-of-bars.patch.
>
> - git-sched was dropped due to breaking suspend-to-RAM.

Is it the same suspend-to-RAM problem that Jiri Slaby reported
here --> http://lkml.org/lkml/2007/12/7/125

The problem has been identified and a fix patch was provided.


Thanks and Regards
gautham.
--
Gautham R Shenoy
Linux Technology Center
IBM India.
"Freedom comes with a price tag of responsibility, which is still a bargain,
because Freedom is priceless!"

2007-12-13 12:29:39

by Kamalesh Babulal

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 kobject changes broken with hvcs driver on powerpc - regression

Hi,

The kernel build fails with following error message

drivers/char/hvcs.c: In function 'hvcs_open':
drivers/char/hvcs.c:1180: error: wrong type argument to unary exclamation mark
make[2]: *** [drivers/char/hvcs.o] Error 1
make[2]: *** Waiting for unfinished jobs....

This driver was broken in 2.6.24-rc4-mm1 either on powerpc, and the discussion
has been going on at

http://lkml.org/lkml/2007/12/5/141
http://lkml.org/lkml/2007/12/7/280
--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.

2007-12-13 14:18:27

by Pierre Peiffer

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Hi,

My config does not link any more:

...
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
net/built-in.o: In function `xs_udp_data_ready':
/home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:842:
undefined reference to `udp_stats_in6'
/home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:846:
undefined reference to `udp_stats_in6'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2

After a first look, udp_stats_in6 seems to be defined in ipv6 (file
net/ipv6/udp.c) but I have

CONFIG_IPV6=m
and
CONFIG_SUNRPC=y

So, SUNRPC uses something defined in a module in my case ?

... looking more, this dependency seems to have been introduced by the patch
[UDP]: Restore missing inDatagrams increments
( http://thread.gmane.org/gmane.linux.network/79716/focus=79831 )

(I cc netdev)

I don't know what is the right way to fix this ... ?

P.
Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>
> - If something goes wrong with a PCI device's probing or initialisation, try
> reverting pci-disable-decoding-during-sizing-of-bars.patch.
>
> - git-sched was dropped due to breaking suspend-to-RAM.
>
> - git-block has been restored after having had a few problems
>
> - git-newsetup.patch was dropped due to conflicts with git-x86
>
> - git-perfmon.patch is still dropped for the same reason
>
> - git-kgdb.patch is still dropped for the same reason
>
> - Please do try to cc the correct developer and mailing list when
> reporting problems - I'm just buried in bugs over here.
>
>
>
> Boilerplate:
>
> - See the `hot-fixes' directory for any important updates to this patchset.
>
> - To fetch an -mm tree using git, use (for example)
>
> git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1
> git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
>
> - -mm kernel commit activity can be reviewed by subscribing to the
> mm-commits mailing list.
>
> echo "subscribe mm-commits" | mail [email protected]
>
> - If you hit a bug in -mm and it is not obvious which patch caused it, it is
> most valuable if you can perform a bisection search to identify which patch
> introduced the bug. Instructions for this process are at
>
> http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt
>
> But beware that this process takes some time (around ten rebuilds and
> reboots), so consider reporting the bug first and if we cannot immediately
> identify the faulty patch, then perform the bisection search.
>
> - When reporting bugs, please try to Cc: the relevant maintainer and mailing
> list on any email.
>
> - When reporting bugs in this kernel via email, please also rewrite the
> email Subject: in some manner to reflect the nature of the bug. Some
> developers filter by Subject: when looking for messages to read.
>
> - Occasional snapshots of the -mm lineup are uploaded to
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
> the mm-commits list. These probably are at least compilable.
>
> - More-than-daily -mm snapshots may be found at
> http://userweb.kernel.org/~akpm/mmotm/. These are almost certainly not
> compileable.
>
>
>
> Changes since 2.6.24-rc4-mm1:
>
>
> origin.patch
> git-acpi.patch
> git-alsa.patch
> git-agpgart.patch
> git-arm.patch
> git-arm-master.patch
> git-avr32.patch
> git-cpufreq.patch
> git-powerpc.patch
> git-drm.patch
> git-dvb.patch
> git-hwmon.patch
> git-gfs2-nmw.patch
> git-hid.patch
> git-hrt.patch
> git-ieee1394.patch
> git-infiniband.patch
> git-input.patch
> git-jfs.patch
> git-kbuild.patch
> git-kvm.patch
> git-lblnet.patch
> git-leds.patch
> git-libata-all.patch
> git-md-accel.patch
> git-mips.patch
> git-mmc.patch
> git-mtd.patch
> git-ubi.patch
> git-net.patch
> git-netdev-all.patch
> git-battery.patch
> git-nfs.patch
> git-nfsd.patch
> git-ocfs2.patch
> git-s390.patch
> git-sh.patch
> git-scsi-misc.patch
> git-scsi-rc-fixes.patch
> git-block.patch
> git-unionfs.patch
> git-v9fs.patch
> git-watchdog.patch
> git-wireless.patch
> git-ipwireless_cs.patch
> git-x86.patch
> git-xfs.patch
> git-cryptodev.patch
> git-xtensa.patch
>
> git trees
>
> -aio-only-account-i-o-wait-time-in-read_events-if-there-are-active-requests.patch
> -fix-cloneclone_newpid.patch
> -rtc-assure-proper-memory-ordering-with-respect-to-rtc_dev_busy-flag.patch
> -ufs-fix-nexstep-dir-block-size.patch
> -ufs-fix-nexstep-dir-block-size-checkpatch-fixes.patch
> -aoe-properly-initialise-the-request_queues-backing_dev_info.patch
> -mm-backing-devc-fix-percpu_counter_destroy-call-bug-in-bdi_init.patch
> -add-export_symbolksize.patch
> -spi-use-mutex-not-semaphore.patch
> -spi-at25-driver-is-for-eeprom-not-flash.patch
> -spi-simplify-spi_sync-calling-convention.patch
> -spi-use-simplified-spi_sync-calling-convention.patch
> -spi-initial-bf54x-spi-support.patch
> -spi-bfin-spi-uses-portmux-calls.patch
> -spi-spi_bfin-cleanups-error-handling.patch
> -spi-spi_bfin-handles-spi_transfercs_change.patch
> -spi-spi_bfin-dont-bypass-spi-framework.patch
> -spi-spi_bfin-uses-platform-device-resources.patch
> -spi-spi_bfin-uses-portmux-for-additional-busses.patch
> -spi-spi_bfin-rearrange-portmux-calls.patch
> -spi-spi_bfin-change-handling-of-communication-parameters.patch
> -spi-spi_bfin-relocate-spin-waits.patch
> -spi-spi_bfin-handle-multiple-spi_masters.patch
> -spi-spi_bfin-bugfix-for-816-bit-word-sizes.patch
> -spi-spi_bfin-update-handling-of-delay-after-deselect.patch
> -spi-spi_bfin-resequence-dma-start-stop.patch
> -blackfin-spi-driver-use-cpu_relax-to-replace-continue-in-while-busywait.patch
> -blackfin-spi-driver-use-void-__iomem-for-regs_base.patch
> -blackfin-spi-driver-move-hard-coded-pin_req-to-board-file.patch
> -blackfin-spi-driver-reconfigure-speed_hz-and-bits_per_word-in-each-spi-transfer.patch
> -avoid-potential-null-dereference-in-unregister_sysctl_table.patch
> -gpio_cs5535-disable-aux-on-output.patch
> -mm-fix-xip-file-writes.patch
> -revert-dpt_i2o-convert-to-scsi-hotplug-model.patch
> -jbd-fix-assertion-failure-in-fs-jbd-checkpointc.patch
> -proc-fix-pde-refcounting.patch
> -powerpc-invalid-size-for-swapper_pg_dir-with-config_pte_64bit=y.patch
> -gregkh-driver-kset-add-kset_create_and_register-function.patch
> -gregkh-driver-kobject-add-kobject_create_and_register-function.patch
> -gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_register.patch
> -gregkh-driver-kset-convert-drivers-base-busc-kset_create_and_register.patch
> -gregkh-driver-kset-convert-drivers-base-classc-kset_create_and_register.patch
> -gregkh-driver-kset-convert-drivers-base-firmwarec-kset_create_and_register.patch
> -gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
> -gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
> -gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
> -gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
> -gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
> -gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
> -gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
> -gregkh-driver-kobject-add-kobject_init_ng-kobject_add_ng-and-kobject_init_and_add-functions.patch
> -gregkh-driver-driver-core-move-the-driver-specific-module-code-into-the-driver-core-fix.patch
> -remove-saa7134-oss.patch
> -jdelvare-i2c-i2c-delete-old-documentation.patch
> -jdelvare-i2c-i2c-gpio-set-hwmon-class.patch
> -jdelvare-i2c-i2c-add-missing-space.patch
> -rename-_bss-to-__bss_start.patch
> -ia64-efi-make-full-use-of-macro-efi_md_size.patch
> -ads7846-stop-updating-dev-powerpower_state.patch
> -remove-trailing-nuls-from-network-bonding-sysfs-interface.patch
> -net-bonding-return-nothing-for-not-applicable-values.patch
> -net-bonding-purely-cosmetic-rename-a-local-variable.patch
> -git-watchdog-hpwdt-build-fix.patch
> -iwlwifi-3945-fix-race-conditional-panic.patch
> -iwlwifi-4965-fix-race-conditional-panic.patch
> -bcm43xx_debugfs-sscanf-fix.patch
> -arch-xtensa-remove-duplicate-includes.patch
> -xtensa-kernel-setupc-remove-dead-code.patch
> -ia64-increase-datapatch-offset.patch
> -ia64-dont-assume-that-unwcheckpy-is-executable.patch
> -ia64-export-copy_page-to-modules.patch
> -add-mike-christie-to-maintainers.patch
> -scsi-early-detection-of-medium-not-present-updated.patch
> -slubs-ksize-fails-for-size-2048.patch
> -vm-security-add-security-hook-to-do_brk.patch
> -mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
> -mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
> -pie-executable-randomization.patch
> -pie-executable-randomization-uninlining.patch
> -pie-executable-randomization-checkpatch-fixes.patch
>
> Merged into mainline or a subsystem tree
>
> +revert-hibernation-use-temporary-page-tables-for-kernel-text-mapping-on-x86_64.patch
> +uml-stop-gdb-from-deleting-breakpoints-when-running-uml.patch
> +alpha-strncpy-strncat-fixes.patch
> +rtc-at32ap700x-fix-irq-init-oops.patch
> +parport-dev-timeslice-is-an-unsigned-long-not-an-int.patch
> +ecryptfs-initialize-new-auth_tokens-before-teardown.patch
> +knfsd-change-mailing-list-for-nfsd-in-maintainers.patch
> +fix-lguest-documentation.patch
> +sparsemem-make-sparsemem_vmemmap-selectable.patch
> +fs-kconfig-grammar-fix.patch
> +ext3-ext4-avoid-divide-by-zero.patch
> +alpha-build-fixes.patch
>
> 2.6.24 queue
>
> +timerfd-v3-new-timerfd-api-s390-fix.patch
> +timerfd-v3-new-timerfd-api-sparc64-fix.patch
>
> Fix timerfd-v3-new-timerfd-api.patch a ridiculous number of times.
>
> +git-acpi-build-fix.patch
>
> Fix git-acpi.patch more.
>
> +acpi-remove-duplicated-warning-message.patch
> +acpi_pci_irq_find_prt_entry-use-list_for_each_entry-instead-of-list_for_each.patch
>
> ACPI things
>
> +alsa-nopage.patch
> +alsa-usx2y-nopage.patch
>
> ALSA things
>
> -git-avr32-fixup.patch
>
> Unneeded
>
> +agk-dm-dm-crypt-use-bio_add_page.patch
> +agk-dm-dm-convert-suspend_lock-semaphore-to-mutex.patch
> +agk-dm-dm-snapshot-combine-consecutive-exceptions-in-memory.patch
>
> DM updates
>
> +powerpc-dont-cast-a-pointer-to-pointer-of-list_head.patch
> +arch-powerpc-add-missing-of_node_put.patch
> +arch-powerpc-platforms-cell-cbe_regsc-add-missing-of_node_put.patch
>
> powerpc stuff
>
> +gregkh-driver-kobject-fix-the-documentation-of-how-kobject_set_name-works.patch
> +gregkh-driver-kobject-convert-ibmasm-to-use-kref-not-kobject.patch
> +gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
> +gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
> +gregkh-driver-kobject-convert-icom-to-use-kref-not-kobject.patch
> +gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
> +gregkh-driver-kobject-make-kobject_cleanup-be-static.patch
> +gregkh-driver-kobject-add-kobject_init_ng-function.patch
> +gregkh-driver-kobject-add-kobject_add_ng-function.patch
> +gregkh-driver-kobject-add-kobject_init_and_add-function.patch
> +gregkh-driver-kset-add-kset_create_and_add-function.patch
> +gregkh-driver-kobject-add-kobject_create_and_add-function.patch
> +gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_add.patch
> +gregkh-driver-kset-convert-drivers-base-busc-to-use-kset_create.patch
> +gregkh-driver-kset-convert-drivers-base-classc-to-use-kset_create.patch
> +gregkh-driver-kset-convert-drivers-base-firmwarec-to-use-kset_create.patch
> +gregkh-driver-uio-fix-kobject-usage.patch
> +gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
> +gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
> +gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
> +gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
> +gregkh-driver-driver-core-introduce-default-attribute-groups.patch
> +gregkh-driver-netiucv-use-device_driver-default-attribute-groups.patch
> +gregkh-driver-zfcp-use-device_driver-default-attribute-groups.patch
> +gregkh-driver-infiniband-make-ipath-driver-use-default-driver-groups.patch
>
> Driver tree updates
>
> +revert-gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch
>
> Fix it.
>
> -driver-tree-broke-infiniband.patch
>
> Unneeded
>
> +drm-dont-cast-a-pointer-to-pointer-of-list_head.patch
>
> DRM cleanup
>
> +git-dvb-fix-build-in-drivers-media-dvb-frontends-tda18271h.patch
> +git-dvb-one-videobuf_read_start-is-enough.patch
> +git-dvb-drivers-media-dvb-frontends-zl10353c-avoid-64-bit-divide.patch
> +git-dvb-drivers-media-video-et61x251-et61x251_corec-fix-warnings.patch
>
> Fix git-dvb
>
> +media-video-usbvision-add-mutex_unlock-to-error-paths.patch
> +media-video-usbvision-add-mutex_unlock-to-error-paths-fix.patch
> +media-video-usbvision-remove-ctrlurblock.patch
>
> DVB things
>
> +jdelvare-i2c-i2c-deprecate-video-bus-drivers.patch
> +jdelvare-i2c-i2c-drop-redundant-client-usage-count.patch
> +jdelvare-i2c-i2c-change-refcounting-prototypes.patch
> +jdelvare-i2c-i2c-remove-redundant-i2c_adapter-list.patch
> +jdelvare-i2c-i2c-remove-redundant-i2c_driver-list.patch
> +jdelvare-i2c-i2c-core-rename-lock.patch
>
> I2C tree updates
>
> +i2c-fix-drivers-media-video-bt866c.patch
>
> Fix it.
>
> +applesmc-sensors-set-for-macbook2-try-2.patch
>
> Update applesmc-sensors-set-for-macbook2.patch
>
> +gfs2-avoid-64-bit-divide.patch
>
> Fix git-gfs2-nmw.patch
>
> +ia64-ia32-nopage.patch
>
> ia64 cleanup
>
> +ieee1394-nopage.patch
>
> firewire cleanup
>
> +ib-nopage.patch
>
> Infiniband cleanup
>
> +fujitsu-application-panel-led-value.patch
>
> apanel update
>
> +ads7846-stop-updating-dev-powerpower_state.patch
> +wistron_btns-add-support-for-x86_64-systems.patch
> +wistron_btns-add-support-for-fujitsu-siemens-amilo-pro-edition-v3505.patch
> +hp6xx-hp7xx-clean-up-drivers-input-keyboardtouchscreen-kconfigs.patch
>
> input things
>
> +pata_legacy-restructure-and-revamp.patch
>
> pata upate
>
> +ide-mm-ide-dma-reporting-and-validity-checking-fixes-take-3.patch
> +ide-mm-ide-cd-remove-dead-post_transform_command.patch
> +ide-mm-pdc202xx_new-fix-promise-tx4-support.patch
> +ide-mm-hpt366-fix-hpt37x-pio-mode-timings-take-2.patch
> +ide-mm-hpt366-change-timing-register-masks.patch
> +ide-mm-hpt366-kill-set_dma_mode-method-wrapper.patch
> +ide-mm-ide-remove-dead-code-from-__ide_dma_test_irq.patch
> +ide-mm-ide-remove-stale-changelog-from-ide-disk-c.patch
> +ide-mm-ide-remove-stale-changelog-from-ide-probe-c.patch
> +ide-mm-ide-add-ide_busy_sleep-helper.patch
> +ide-mm-ide-remove-broken-disk-byte-swapping-support.patch
> +ide-mm-cmd64x-remove-proc-ide-cmd64x.patch
>
> IDE tree updates
>
> +md-balance-braces-in-raid5-debug-code.patch
>
> Fix git-md-accel.patch
>
> +mips-fix-makefile-borkage.patch
>
> MIPS fix
>
> +ipsec-fix-reversed-icmp6-policy-check.patch
> +ipsec-do-not-let-packets-pass-when-icmp-flag-is-off.patch
> +git-net-vs-git-lblnet.patch
> +git-net-fix-drivers-net-ns83820c-build.patch
> +updates-to-nfsroot-documentation-take-3.patch
> +net-use-mutex_is_locked-for-assert_rtnl.patch
> +tipc-fix-semaphore-handling.patch
> +ppp-synchronous-tty-convert-dead_sem-to-completion.patch
>
> net things
>
> +e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000.patch
>
> Make e1000e config sane
>
> +plip-driver-convert-killed_timer_sem-to-completion.patch
>
> plip cleanup
>
> +backlight-omap1-backlight-driver.patch
> +backlight-omap1-backlight-driver-fix.patch
>
> backlight driver
>
> +pcmcia-include-bad-cis-filename-in-error-message.patch
>
> pcmcia niceness
>
> +pci-disable-decoding-during-sizing-of-bars.patch
>
> PCI fix
>
> +pcie-aer-dont-check-_osc-when-acpi-is-disabled.patch
> +pci-dont-load-acpi_php-when-acpi-is-disabled.patch
> +pci-dont-load-acpi_php-when-acpi-is-disabled-fix.patch
>
> PCIE and PCI fixes
>
> +kernel-time-make-tick_do_broadcast-static.patch
>
> cleanup
>
> -git-scsi-misc-fixup.patch
>
> Unneeded
>
> +git-scsi-misc-fix-build-in-drivers-scsi-scsi_tgt_libc.patch
>
> Fix git-scsi-misc
>
> +sg-nopage.patch
> +3w-raid-drivers-memset-not-needed-in-probe.patch
> +hptiop-add-more-adapter-models-and-other-fixes.patch
> +hptiop-add-more-adapter-models-and-other-fixes-update.patch
> +hptiop-add-more-adapter-models-and-other-fixes-fix-2.patch
> +drivers-scsi-iprc-use-list_head-instead-of-list_head_init.patch
>
> scsi things
>
> -bidi-support-sr-sd-remove-dead-code.patch
> -bidi-support-tgt-use-scsi_init_io-instead-of-scsi_alloc_sgtable.patch
> -bidi-support-scsi_data_buffer.patch
> -scsi-pending-arm-convert-to-accessors.patch
> -scsi-bidi-support.patch
>
> scsi changes killed this
>
> +usb-mon-nopage.patch
>
> USB cleanup
>
> +9p-util-fix-semaphore-handling.patch
>
> 9p fix
>
> +watchdog-use-sgi_has_indydog-for-indydog-depends.patch
>
> watchdog cleanup
>
> +wireless-libertas-dont-cast-a-pointer-to-pointer-of-list_head.patch
>
> wireless cleanup
>
> -revert-git-kvm-changes-in-arch-x86-kconfig.patch
> -revert-revert-git-kvm-changes-in-arch-x86-kconfig.patch
>
> Unneeded
>
> +git-x86-fix-allnoconfig-build.patch
>
> x86 fix
>
> +mcheck-mce_64-mce_read_sem-to-mutex.patch
>
> x86 cleanup
>
> +x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-calling-convention-fix.patch
>
> Fix x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-fixes.patch
>
> +x86-boot-use-e820-memory-map-on-efi-32-platform.patch
>
> x86 fix
>
> +iommu-sg-add-iommu-helper-functions-for-the-free-area-management.patch
> +iommu-sg-powerpc-convert-iommu-to-use-the-iommu-helper.patch
> +iommu-sg-powerpc-remove-dma-4gb-boundary-protection.patch
> +iommu-sg-x86-convert-calgary-iommu-to-use-the-iommu-helper.patch
> +iommu-sg-x86-convert-gart-iommu-to-use-the-iommu-helper.patch
> +iommu-sg-kill-__clear_bit_string-and-find_next_zero_string.patch
>
> More iommu work
>
> +drivers-cpufreq-cpufreq_statsc-section-fix.patch
> +bonding-locking-fix.patch
> +bridge-assign-random-address.patch
> +nfs-fix-an-oops-in-nfs-unmount.patch
> +acpi-sbs-reset-alarm-bit.patch
> +acpi-sbs-ignore-alarms-coming-from-unknown-devices.patch
> +acpi-sbs-return-rate-in-mw-if-capacity-in-mwh.patch
> +usb-use-irqf_disabled-for-hcd-interrupt-handlers.patch
> +usb-at91_udc-correct-hanging-while-disconnecting-usb-cable.patch
> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak.patch
> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak-fix.patch
> +mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section-fix.patch
> +pktcdvd-add-kobject_put-when-kobject-register-fails.patch
> +libertas-select-wireless_ext.patch
> +bcm43xx_debugfs-sscanf-fix.patch
> +apm_eventinfo_t-are-userspace-types.patch
> +drivers-macintosh-via-pmuc-added-a-missing-iounmap.patch
>
> More 2.6.24 queue
>
> +slub-optimise-the-clearing-of-__gfp_zero.patch
>
> Slub speedup
>
> +mm-special-mapping-nopage.patch
> +remove-unused-arguments-in-zone_init_free_lists.patch
>
> MM things
>
> +smack-getpeercred_stream-fix-for-so_peersec-and-tcp.patch
>
> smack update
>
> +agp-alpha-nopage.patch
> +alpha-fix-warning-by-fixing-flush_tlb_kernel_range.patch
>
> alpha stuff
>
> +arch-cris-added-a-missing-iounmap.patch
>
> cris fix
>
> +uml-remove-duplicate-config-symbol-and-unused-file-and-variables.patch
> +uml-fix-mconsole-stop.patch
> +uml-miscellaneous-code-cleanups.patch
> +uml-style-fixes-in-filec.patch
> +uml-64-bit-tlb-fixes.patch
> +uml-customize-tlbh.patch
> +uml-runtime-detection-of-host-vmsplit-on-i386.patch
> +uml-eliminate-setjmp_wrapper.patch
> +uml-install-panic-notifier-earlier.patch
> +uml-use-barrier-instead-of-mb.patch
> +uml-tidy-helper-code.patch
> +uml-dont-kill-pid-0.patch
> +uml-get-rid-of-syscall-counters.patch
> +uml-dont-allow-processes-to-call-into-stub.patch
> +uml-move-sig_handler_common_skas.patch
> +uml-clean-up-sig_handler_common_skas.patch
>
> UML updates
>
> +get-rid-of-nr_open-and-introduce-a-sysctl_nr_open-fix.patch
>
> Fix get-rid-of-nr_open-and-introduce-a-sysctl_nr_open.patch
>
> +dio-fix-kernel-doc-notation.patch
> +relay-nopage.patch
> +uio-nopage.patch
> +deprecate-smbfs-in-favour-of-cifs.patch
> +drivers-char-use-list_head-instead-of-list_head_init.patch
> +remove-one-useless-extern-declaration.patch
> +quota-improve-inode-list-scanning-in-add_dquot_ref.patch
> +quota-improve-inode-list-scanning-in-add_dquot_ref-fix.patch
> +rcu-move-three-variables-to-__read_mostly-to-save-space.patch
> +add-arch_ptrace_stop.patch
> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline.patch
> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline-checkpatch-fixes.patch
> +docs-kernel-locking-convert-semaphore-references.patch
> +virtio_net-remove-double-ether_setup.patch
> +drivers-char-ipmi-ipmi_msghandlerc-use-list_head-instead-of-list_head_init.patch
> +fs-reiserfs-xattrc-use-list_head-instead-of-list_head_init.patch
> +stopmachine-semaphore-to-mutex.patch
> +stopmachine-semaphore-to-mutex-fix.patch
> +amiga-serial-driver-port_write_mutex-fixup.patch
> +ext2-xip-check-fix.patch
> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard.patch
> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard-fix.patch
> +parport_serial-netmos-9855-fix.patch
> +partition-use-default_sgi_partition-for-sgi_partion-default.patch
>
> Misc
>
> +atmel_spi-chain-dma-transfers-update.patch
>
> Fix atmel_spi-chain-dma-transfers.patch
>
> +create-arch-kconfig.patch
> +add-have_oprofile.patch
> +add-have_kprobes.patch
> +move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
>
> Fiddle with Kconfig
>
> -move-kprobes-examples-to-samples-resend.patch
> -move-kprobes-examples-to-samples-resend-checkpatch-fixes.patch
> -move-kprobes-examples-to-samples-resend-vs-git-x86.patch
>
> These need updating
>
> +ecryptfs-make-show_options-reflect-actual-mount-options.patch
> +ecryptfs-make-show_options-reflect-actual-mount-options-fix.patch
>
> ecryptfs cleanups/fixes
>
> +rtc-add-support-for-the-s-35390a-rtc-chip.patch
> +rtc-add-support-for-the-s-35390a-rtc-chip-fix.patch
>
> RTC update
>
> +fb-defio-nopage.patch
> +atmel_lcdfb-validate-display-timings.patch
> +vgacon-fix-sparse-warning-about-shadowing-i-symbol.patch
> +fbcon-fix-sparse-warning-about-shadowing-p-symbol.patch
> +fbcon-fix-sparse-warning-about-shadowing-rotate-symbol.patch
> +logo-move-declarations-of-logos-to-linux_logoh.patch
> +logo-move-declarations-of-logos-to-linux_logoh-fix.patch
>
> fbdev things
>
> +md-raid6-fix-mktablec.patch
> +md-raid6-clean-up-the-style-of-raid6test-testc.patch
> +md-update-md-bitmap-during-resync.patch
> +md-update-md-bitmap-during-resync-fix.patch
>
> RAID updates
>
> +pnp-do-not-stop-start-devices-in-suspend-resume-path.patch
>
> PNP fix
>
> -pnp-request-ioport-and-iomem-resources-used-by-active-devices.patch
>
> Dropped for now.
>
> +ext-fix-comment-for-nonexistent-variable.patch
> +ext-use-ext_get_group_desc.patch
> +ext-remove-unused-argument-for-ext_find_goal.patch
> +ext-cleanup-ext_bg_num_gdb.patch
>
> ext2/3/4 cleanups
>
> +per-zone-and-reclaim-enhancements-for-memory-controller-take-3-modifies-vmscanc-for-isolate-globa-cgroup-lru-activity-fix-accounting-in-vmscanc-for-memory-controller.patch
> +update-documentation-controller-memorytxt.patch
>
> memory controller updates
>
> +drivers-dma-iop-admac-use-list_head-instead-of-list_head_init.patch
>
> DMS driver cleanup
>
> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-2.patch
> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-3.patch
>
> Fix
> proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces.patch
> even more
>
> +fix-group-stop-with-exit-race.patch
> +sys_setsid-remove-now-unneeded-session-=-1-check.patch
> +move-the-related-code-from-exit_notify-to-exit_signals.patch
> +pid-sys_wait-fixes-v2.patch
> +pid-sys_wait-fixes-v2-checkpatch-fixes.patch
> +pid-extend-fix-pid_vnr.patch
> +sys_getsid-dont-use-nsproxy-directly.patch
> +pid-fix-mips-irix-emulation-pid-usage.patch
> +pid-fix-solaris_procids.patch
> +uglify-kill_pid_info-to-fix-kill-vs-exec-race.patch
> +uglify-while_each_pid_task-to-make-sure-we-dont-count-the-execing-pricess-twice.patch
> +itimer_real-convert-to-use-struct-pid.patch
>
> Core kernel updates
>
> +rd-support-xip.patch
>
> SUpport XIP in rd.c
>
> -cramfs-make-cramfs-little-endian-only.patch
> -cramfs-make-cramfs-little-endian-only-update.patch
> -cramfs-make-cramfs-little-endian-only-fix.patch
>
> Dropped
>
>
> 5041 commits in 1616 patch files
>
> All patches:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/patch-list
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
Pierre Peiffer

2007-12-13 14:56:49

by Kamalesh Babulal

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 regression - kernel warning on tcp_fastretrans_alert()

Hi Andrew,

Following call trace is seen in 2.6.24-rc5-mm1 kernel also,it was reported
for 2.6.24-rc4-mm1 kernel http://lkml.org/lkml/2007/12/6/22

ls21b kernel: [ 7530.313408] WARNING: at net/ipv4/tcp_input.c:2533 tcp_fastretrans_alert()
ls21b kernel: [ 7530.354051] Pid: 0, comm: swapper Not tainted 2.6.24-rc5-mm1 #1
ls21b kernel: [ 7530.389487]
ls21b kernel: [ 7530.389488] Call Trace:
ls21b kernel: [ 7530.413030] <IRQ> [<ffffffff80482374>] tcp_fastretrans_alert+0x127/0xdaf
ls21b kernel: [ 7530.454295] [<ffffffff804850cd>] tcp_ack+0xf2f/0x10fe
ls21b kernel: [ 7530.485066] [<ffffffff80488503>] tcp_rcv_established+0x695/0x79a
ls21b kernel: [ 7530.521542] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
ls21b kernel: [ 7530.556468] [<ffffffff8048eb70>] tcp_v4_do_rcv+0x37/0x3e1
ls21b kernel: [ 7530.589317] [<ffffffff80491764>] tcp_v4_rcv+0xac7/0xb93
ls21b kernel: [ 7530.621126] [<ffffffff80472c40>] ip_local_deliver_finish+0x54/0x20f
ls21b kernel: [ 7530.659168] [<ffffffff80472d20>] ip_local_deliver_finish+0x134/0x20f
ls21b kernel: [ 7530.697724] [<ffffffff804732cc>] ip_local_deliver+0x72/0x7a
ls21b kernel: [ 7530.731609] [<ffffffff80472b7c>] ip_rcv_finish+0x3c0/0x430
ls21b kernel: [ 7530.764977] [<ffffffff8044d9a6>] netif_receive_skb+0x10e/0x44d
ls21b kernel: [ 7530.800422] [<ffffffff80473223>] ip_rcv+0x326/0x35d
ls21b kernel: [ 7530.830148] [<ffffffff8044dc77>] netif_receive_skb+0x3df/0x44d
ls21b kernel: [ 7530.865603] [<ffffffff8814d44a>] :bnx2:bnx2_poll+0x1262/0x14a4
ls21b kernel: [ 7530.901039] [<ffffffff8034817d>] __next_cpu+0x19/0x28
ls21b kernel: [ 7530.931805] [<ffffffff802323a1>] find_busiest_group+0x252/0x6da
ls21b kernel: [ 7530.967768] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
ls21b kernel: [ 7531.002693] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
ls21b kernel: [ 7531.037612] [<ffffffff8025c21f>] check_chain_key+0x9c/0x15f
ls21b kernel: [ 7531.071501] [<ffffffff8026012b>] __lock_acquire+0xdee/0xf06
ls21b kernel: [ 7531.105386] [<ffffffff80450476>] net_rx_action+0x75/0x234
ls21b kernel: [ 7531.138233] [<ffffffff80450476>] net_rx_action+0x75/0x234
ls21b kernel: [ 7531.171074] [<ffffffff804504ed>] net_rx_action+0xec/0x234
ls21b kernel: [ 7531.203920] [<ffffffff80243f02>] __do_softirq+0x5f/0xe3
ls21b kernel: [ 7531.235721] [<ffffffff8020d5cc>] call_softirq+0x1c/0x28
ls21b kernel: [ 7531.267528] [<ffffffff8020ecdf>] do_softirq+0x45/0x108
ls21b kernel: [ 7531.298811] [<ffffffff80243ea1>] irq_exit+0x4e/0x50
ls21b kernel: [ 7531.328540] [<ffffffff8020ef3d>] do_IRQ+0x171/0x194
ls21b kernel: [ 7531.358267] [<ffffffff8020c8c6>] ret_from_intr+0x0/0xf
ls21b kernel: [ 7531.389549] <EOI> [<ffffffff8020b1ec>] default_idle+0x58/0x8a
ls21b kernel: [ 7531.425096] [<ffffffff8020b1ea>] default_idle+0x56/0x8a
ls21b kernel: [ 7531.456900] [<ffffffff8020b194>] default_idle+0x0/0x8a
ls21b kernel: [ 7531.488186] [<ffffffff8020b2d3>] cpu_idle+0xb5/0xec
ls21b kernel: [ 7531.517913] [<ffffffff802226f4>] start_secondary+0x3ca/0x3da


--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.

2007-12-13 15:02:16

by Benjamin Thery

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

The problem comes from the new macro UDPX_INC_STATS_BH introduced
by Herbert, which was a nice addition to increment the correct
UDP MIB depending on the socket family, but unfortunately
the use of this macro from kernel code (I mean code not compiled
as module) requires that IPv6 is also compiled in kernel
(CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
time.

Benjamin

Pierre Peiffer wrote:
> Hi,
>
> My config does not link any more:
>
> ...
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> net/built-in.o: In function `xs_udp_data_ready':
> /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:842:
> undefined reference to `udp_stats_in6'
> /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:846:
> undefined reference to `udp_stats_in6'
> make[1]: *** [.tmp_vmlinux1] Error 1
> make: *** [sub-make] Error 2
>
> After a first look, udp_stats_in6 seems to be defined in ipv6 (file
> net/ipv6/udp.c) but I have
>
> CONFIG_IPV6=m
> and
> CONFIG_SUNRPC=y
>
> So, SUNRPC uses something defined in a module in my case ?
>
> ... looking more, this dependency seems to have been introduced by the patch
> [UDP]: Restore missing inDatagrams increments
> ( http://thread.gmane.org/gmane.linux.network/79716/focus=79831 )
>
> (I cc netdev)
>
> I don't know what is the right way to fix this ... ?
>
> P.
> Andrew Morton wrote:
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>>
>> - If something goes wrong with a PCI device's probing or initialisation, try
>> reverting pci-disable-decoding-during-sizing-of-bars.patch.
>>
>> - git-sched was dropped due to breaking suspend-to-RAM.
>>
>> - git-block has been restored after having had a few problems
>>
>> - git-newsetup.patch was dropped due to conflicts with git-x86
>>
>> - git-perfmon.patch is still dropped for the same reason
>>
>> - git-kgdb.patch is still dropped for the same reason
>>
>> - Please do try to cc the correct developer and mailing list when
>> reporting problems - I'm just buried in bugs over here.
>>
>>
>>
>> Boilerplate:
>>
>> - See the `hot-fixes' directory for any important updates to this patchset.
>>
>> - To fetch an -mm tree using git, use (for example)
>>
>> git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1
>> git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
>>
>> - -mm kernel commit activity can be reviewed by subscribing to the
>> mm-commits mailing list.
>>
>> echo "subscribe mm-commits" | mail [email protected]
>>
>> - If you hit a bug in -mm and it is not obvious which patch caused it, it is
>> most valuable if you can perform a bisection search to identify which patch
>> introduced the bug. Instructions for this process are at
>>
>> http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt
>>
>> But beware that this process takes some time (around ten rebuilds and
>> reboots), so consider reporting the bug first and if we cannot immediately
>> identify the faulty patch, then perform the bisection search.
>>
>> - When reporting bugs, please try to Cc: the relevant maintainer and mailing
>> list on any email.
>>
>> - When reporting bugs in this kernel via email, please also rewrite the
>> email Subject: in some manner to reflect the nature of the bug. Some
>> developers filter by Subject: when looking for messages to read.
>>
>> - Occasional snapshots of the -mm lineup are uploaded to
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
>> the mm-commits list. These probably are at least compilable.
>>
>> - More-than-daily -mm snapshots may be found at
>> http://userweb.kernel.org/~akpm/mmotm/. These are almost certainly not
>> compileable.
>>
>>
>>
>> Changes since 2.6.24-rc4-mm1:
>>
>>
>> origin.patch
>> git-acpi.patch
>> git-alsa.patch
>> git-agpgart.patch
>> git-arm.patch
>> git-arm-master.patch
>> git-avr32.patch
>> git-cpufreq.patch
>> git-powerpc.patch
>> git-drm.patch
>> git-dvb.patch
>> git-hwmon.patch
>> git-gfs2-nmw.patch
>> git-hid.patch
>> git-hrt.patch
>> git-ieee1394.patch
>> git-infiniband.patch
>> git-input.patch
>> git-jfs.patch
>> git-kbuild.patch
>> git-kvm.patch
>> git-lblnet.patch
>> git-leds.patch
>> git-libata-all.patch
>> git-md-accel.patch
>> git-mips.patch
>> git-mmc.patch
>> git-mtd.patch
>> git-ubi.patch
>> git-net.patch
>> git-netdev-all.patch
>> git-battery.patch
>> git-nfs.patch
>> git-nfsd.patch
>> git-ocfs2.patch
>> git-s390.patch
>> git-sh.patch
>> git-scsi-misc.patch
>> git-scsi-rc-fixes.patch
>> git-block.patch
>> git-unionfs.patch
>> git-v9fs.patch
>> git-watchdog.patch
>> git-wireless.patch
>> git-ipwireless_cs.patch
>> git-x86.patch
>> git-xfs.patch
>> git-cryptodev.patch
>> git-xtensa.patch
>>
>> git trees
>>
>> -aio-only-account-i-o-wait-time-in-read_events-if-there-are-active-requests.patch
>> -fix-cloneclone_newpid.patch
>> -rtc-assure-proper-memory-ordering-with-respect-to-rtc_dev_busy-flag.patch
>> -ufs-fix-nexstep-dir-block-size.patch
>> -ufs-fix-nexstep-dir-block-size-checkpatch-fixes.patch
>> -aoe-properly-initialise-the-request_queues-backing_dev_info.patch
>> -mm-backing-devc-fix-percpu_counter_destroy-call-bug-in-bdi_init.patch
>> -add-export_symbolksize.patch
>> -spi-use-mutex-not-semaphore.patch
>> -spi-at25-driver-is-for-eeprom-not-flash.patch
>> -spi-simplify-spi_sync-calling-convention.patch
>> -spi-use-simplified-spi_sync-calling-convention.patch
>> -spi-initial-bf54x-spi-support.patch
>> -spi-bfin-spi-uses-portmux-calls.patch
>> -spi-spi_bfin-cleanups-error-handling.patch
>> -spi-spi_bfin-handles-spi_transfercs_change.patch
>> -spi-spi_bfin-dont-bypass-spi-framework.patch
>> -spi-spi_bfin-uses-platform-device-resources.patch
>> -spi-spi_bfin-uses-portmux-for-additional-busses.patch
>> -spi-spi_bfin-rearrange-portmux-calls.patch
>> -spi-spi_bfin-change-handling-of-communication-parameters.patch
>> -spi-spi_bfin-relocate-spin-waits.patch
>> -spi-spi_bfin-handle-multiple-spi_masters.patch
>> -spi-spi_bfin-bugfix-for-816-bit-word-sizes.patch
>> -spi-spi_bfin-update-handling-of-delay-after-deselect.patch
>> -spi-spi_bfin-resequence-dma-start-stop.patch
>> -blackfin-spi-driver-use-cpu_relax-to-replace-continue-in-while-busywait.patch
>> -blackfin-spi-driver-use-void-__iomem-for-regs_base.patch
>> -blackfin-spi-driver-move-hard-coded-pin_req-to-board-file.patch
>> -blackfin-spi-driver-reconfigure-speed_hz-and-bits_per_word-in-each-spi-transfer.patch
>> -avoid-potential-null-dereference-in-unregister_sysctl_table.patch
>> -gpio_cs5535-disable-aux-on-output.patch
>> -mm-fix-xip-file-writes.patch
>> -revert-dpt_i2o-convert-to-scsi-hotplug-model.patch
>> -jbd-fix-assertion-failure-in-fs-jbd-checkpointc.patch
>> -proc-fix-pde-refcounting.patch
>> -powerpc-invalid-size-for-swapper_pg_dir-with-config_pte_64bit=y.patch
>> -gregkh-driver-kset-add-kset_create_and_register-function.patch
>> -gregkh-driver-kobject-add-kobject_create_and_register-function.patch
>> -gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_register.patch
>> -gregkh-driver-kset-convert-drivers-base-busc-kset_create_and_register.patch
>> -gregkh-driver-kset-convert-drivers-base-classc-kset_create_and_register.patch
>> -gregkh-driver-kset-convert-drivers-base-firmwarec-kset_create_and_register.patch
>> -gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
>> -gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
>> -gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
>> -gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
>> -gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
>> -gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
>> -gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
>> -gregkh-driver-kobject-add-kobject_init_ng-kobject_add_ng-and-kobject_init_and_add-functions.patch
>> -gregkh-driver-driver-core-move-the-driver-specific-module-code-into-the-driver-core-fix.patch
>> -remove-saa7134-oss.patch
>> -jdelvare-i2c-i2c-delete-old-documentation.patch
>> -jdelvare-i2c-i2c-gpio-set-hwmon-class.patch
>> -jdelvare-i2c-i2c-add-missing-space.patch
>> -rename-_bss-to-__bss_start.patch
>> -ia64-efi-make-full-use-of-macro-efi_md_size.patch
>> -ads7846-stop-updating-dev-powerpower_state.patch
>> -remove-trailing-nuls-from-network-bonding-sysfs-interface.patch
>> -net-bonding-return-nothing-for-not-applicable-values.patch
>> -net-bonding-purely-cosmetic-rename-a-local-variable.patch
>> -git-watchdog-hpwdt-build-fix.patch
>> -iwlwifi-3945-fix-race-conditional-panic.patch
>> -iwlwifi-4965-fix-race-conditional-panic.patch
>> -bcm43xx_debugfs-sscanf-fix.patch
>> -arch-xtensa-remove-duplicate-includes.patch
>> -xtensa-kernel-setupc-remove-dead-code.patch
>> -ia64-increase-datapatch-offset.patch
>> -ia64-dont-assume-that-unwcheckpy-is-executable.patch
>> -ia64-export-copy_page-to-modules.patch
>> -add-mike-christie-to-maintainers.patch
>> -scsi-early-detection-of-medium-not-present-updated.patch
>> -slubs-ksize-fails-for-size-2048.patch
>> -vm-security-add-security-hook-to-do_brk.patch
>> -mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
>> -mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
>> -pie-executable-randomization.patch
>> -pie-executable-randomization-uninlining.patch
>> -pie-executable-randomization-checkpatch-fixes.patch
>>
>> Merged into mainline or a subsystem tree
>>
>> +revert-hibernation-use-temporary-page-tables-for-kernel-text-mapping-on-x86_64.patch
>> +uml-stop-gdb-from-deleting-breakpoints-when-running-uml.patch
>> +alpha-strncpy-strncat-fixes.patch
>> +rtc-at32ap700x-fix-irq-init-oops.patch
>> +parport-dev-timeslice-is-an-unsigned-long-not-an-int.patch
>> +ecryptfs-initialize-new-auth_tokens-before-teardown.patch
>> +knfsd-change-mailing-list-for-nfsd-in-maintainers.patch
>> +fix-lguest-documentation.patch
>> +sparsemem-make-sparsemem_vmemmap-selectable.patch
>> +fs-kconfig-grammar-fix.patch
>> +ext3-ext4-avoid-divide-by-zero.patch
>> +alpha-build-fixes.patch
>>
>> 2.6.24 queue
>>
>> +timerfd-v3-new-timerfd-api-s390-fix.patch
>> +timerfd-v3-new-timerfd-api-sparc64-fix.patch
>>
>> Fix timerfd-v3-new-timerfd-api.patch a ridiculous number of times.
>>
>> +git-acpi-build-fix.patch
>>
>> Fix git-acpi.patch more.
>>
>> +acpi-remove-duplicated-warning-message.patch
>> +acpi_pci_irq_find_prt_entry-use-list_for_each_entry-instead-of-list_for_each.patch
>>
>> ACPI things
>>
>> +alsa-nopage.patch
>> +alsa-usx2y-nopage.patch
>>
>> ALSA things
>>
>> -git-avr32-fixup.patch
>>
>> Unneeded
>>
>> +agk-dm-dm-crypt-use-bio_add_page.patch
>> +agk-dm-dm-convert-suspend_lock-semaphore-to-mutex.patch
>> +agk-dm-dm-snapshot-combine-consecutive-exceptions-in-memory.patch
>>
>> DM updates
>>
>> +powerpc-dont-cast-a-pointer-to-pointer-of-list_head.patch
>> +arch-powerpc-add-missing-of_node_put.patch
>> +arch-powerpc-platforms-cell-cbe_regsc-add-missing-of_node_put.patch
>>
>> powerpc stuff
>>
>> +gregkh-driver-kobject-fix-the-documentation-of-how-kobject_set_name-works.patch
>> +gregkh-driver-kobject-convert-ibmasm-to-use-kref-not-kobject.patch
>> +gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
>> +gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
>> +gregkh-driver-kobject-convert-icom-to-use-kref-not-kobject.patch
>> +gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
>> +gregkh-driver-kobject-make-kobject_cleanup-be-static.patch
>> +gregkh-driver-kobject-add-kobject_init_ng-function.patch
>> +gregkh-driver-kobject-add-kobject_add_ng-function.patch
>> +gregkh-driver-kobject-add-kobject_init_and_add-function.patch
>> +gregkh-driver-kset-add-kset_create_and_add-function.patch
>> +gregkh-driver-kobject-add-kobject_create_and_add-function.patch
>> +gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_add.patch
>> +gregkh-driver-kset-convert-drivers-base-busc-to-use-kset_create.patch
>> +gregkh-driver-kset-convert-drivers-base-classc-to-use-kset_create.patch
>> +gregkh-driver-kset-convert-drivers-base-firmwarec-to-use-kset_create.patch
>> +gregkh-driver-uio-fix-kobject-usage.patch
>> +gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
>> +gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
>> +gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
>> +gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
>> +gregkh-driver-driver-core-introduce-default-attribute-groups.patch
>> +gregkh-driver-netiucv-use-device_driver-default-attribute-groups.patch
>> +gregkh-driver-zfcp-use-device_driver-default-attribute-groups.patch
>> +gregkh-driver-infiniband-make-ipath-driver-use-default-driver-groups.patch
>>
>> Driver tree updates
>>
>> +revert-gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch
>>
>> Fix it.
>>
>> -driver-tree-broke-infiniband.patch
>>
>> Unneeded
>>
>> +drm-dont-cast-a-pointer-to-pointer-of-list_head.patch
>>
>> DRM cleanup
>>
>> +git-dvb-fix-build-in-drivers-media-dvb-frontends-tda18271h.patch
>> +git-dvb-one-videobuf_read_start-is-enough.patch
>> +git-dvb-drivers-media-dvb-frontends-zl10353c-avoid-64-bit-divide.patch
>> +git-dvb-drivers-media-video-et61x251-et61x251_corec-fix-warnings.patch
>>
>> Fix git-dvb
>>
>> +media-video-usbvision-add-mutex_unlock-to-error-paths.patch
>> +media-video-usbvision-add-mutex_unlock-to-error-paths-fix.patch
>> +media-video-usbvision-remove-ctrlurblock.patch
>>
>> DVB things
>>
>> +jdelvare-i2c-i2c-deprecate-video-bus-drivers.patch
>> +jdelvare-i2c-i2c-drop-redundant-client-usage-count.patch
>> +jdelvare-i2c-i2c-change-refcounting-prototypes.patch
>> +jdelvare-i2c-i2c-remove-redundant-i2c_adapter-list.patch
>> +jdelvare-i2c-i2c-remove-redundant-i2c_driver-list.patch
>> +jdelvare-i2c-i2c-core-rename-lock.patch
>>
>> I2C tree updates
>>
>> +i2c-fix-drivers-media-video-bt866c.patch
>>
>> Fix it.
>>
>> +applesmc-sensors-set-for-macbook2-try-2.patch
>>
>> Update applesmc-sensors-set-for-macbook2.patch
>>
>> +gfs2-avoid-64-bit-divide.patch
>>
>> Fix git-gfs2-nmw.patch
>>
>> +ia64-ia32-nopage.patch
>>
>> ia64 cleanup
>>
>> +ieee1394-nopage.patch
>>
>> firewire cleanup
>>
>> +ib-nopage.patch
>>
>> Infiniband cleanup
>>
>> +fujitsu-application-panel-led-value.patch
>>
>> apanel update
>>
>> +ads7846-stop-updating-dev-powerpower_state.patch
>> +wistron_btns-add-support-for-x86_64-systems.patch
>> +wistron_btns-add-support-for-fujitsu-siemens-amilo-pro-edition-v3505.patch
>> +hp6xx-hp7xx-clean-up-drivers-input-keyboardtouchscreen-kconfigs.patch
>>
>> input things
>>
>> +pata_legacy-restructure-and-revamp.patch
>>
>> pata upate
>>
>> +ide-mm-ide-dma-reporting-and-validity-checking-fixes-take-3.patch
>> +ide-mm-ide-cd-remove-dead-post_transform_command.patch
>> +ide-mm-pdc202xx_new-fix-promise-tx4-support.patch
>> +ide-mm-hpt366-fix-hpt37x-pio-mode-timings-take-2.patch
>> +ide-mm-hpt366-change-timing-register-masks.patch
>> +ide-mm-hpt366-kill-set_dma_mode-method-wrapper.patch
>> +ide-mm-ide-remove-dead-code-from-__ide_dma_test_irq.patch
>> +ide-mm-ide-remove-stale-changelog-from-ide-disk-c.patch
>> +ide-mm-ide-remove-stale-changelog-from-ide-probe-c.patch
>> +ide-mm-ide-add-ide_busy_sleep-helper.patch
>> +ide-mm-ide-remove-broken-disk-byte-swapping-support.patch
>> +ide-mm-cmd64x-remove-proc-ide-cmd64x.patch
>>
>> IDE tree updates
>>
>> +md-balance-braces-in-raid5-debug-code.patch
>>
>> Fix git-md-accel.patch
>>
>> +mips-fix-makefile-borkage.patch
>>
>> MIPS fix
>>
>> +ipsec-fix-reversed-icmp6-policy-check.patch
>> +ipsec-do-not-let-packets-pass-when-icmp-flag-is-off.patch
>> +git-net-vs-git-lblnet.patch
>> +git-net-fix-drivers-net-ns83820c-build.patch
>> +updates-to-nfsroot-documentation-take-3.patch
>> +net-use-mutex_is_locked-for-assert_rtnl.patch
>> +tipc-fix-semaphore-handling.patch
>> +ppp-synchronous-tty-convert-dead_sem-to-completion.patch
>>
>> net things
>>
>> +e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000.patch
>>
>> Make e1000e config sane
>>
>> +plip-driver-convert-killed_timer_sem-to-completion.patch
>>
>> plip cleanup
>>
>> +backlight-omap1-backlight-driver.patch
>> +backlight-omap1-backlight-driver-fix.patch
>>
>> backlight driver
>>
>> +pcmcia-include-bad-cis-filename-in-error-message.patch
>>
>> pcmcia niceness
>>
>> +pci-disable-decoding-during-sizing-of-bars.patch
>>
>> PCI fix
>>
>> +pcie-aer-dont-check-_osc-when-acpi-is-disabled.patch
>> +pci-dont-load-acpi_php-when-acpi-is-disabled.patch
>> +pci-dont-load-acpi_php-when-acpi-is-disabled-fix.patch
>>
>> PCIE and PCI fixes
>>
>> +kernel-time-make-tick_do_broadcast-static.patch
>>
>> cleanup
>>
>> -git-scsi-misc-fixup.patch
>>
>> Unneeded
>>
>> +git-scsi-misc-fix-build-in-drivers-scsi-scsi_tgt_libc.patch
>>
>> Fix git-scsi-misc
>>
>> +sg-nopage.patch
>> +3w-raid-drivers-memset-not-needed-in-probe.patch
>> +hptiop-add-more-adapter-models-and-other-fixes.patch
>> +hptiop-add-more-adapter-models-and-other-fixes-update.patch
>> +hptiop-add-more-adapter-models-and-other-fixes-fix-2.patch
>> +drivers-scsi-iprc-use-list_head-instead-of-list_head_init.patch
>>
>> scsi things
>>
>> -bidi-support-sr-sd-remove-dead-code.patch
>> -bidi-support-tgt-use-scsi_init_io-instead-of-scsi_alloc_sgtable.patch
>> -bidi-support-scsi_data_buffer.patch
>> -scsi-pending-arm-convert-to-accessors.patch
>> -scsi-bidi-support.patch
>>
>> scsi changes killed this
>>
>> +usb-mon-nopage.patch
>>
>> USB cleanup
>>
>> +9p-util-fix-semaphore-handling.patch
>>
>> 9p fix
>>
>> +watchdog-use-sgi_has_indydog-for-indydog-depends.patch
>>
>> watchdog cleanup
>>
>> +wireless-libertas-dont-cast-a-pointer-to-pointer-of-list_head.patch
>>
>> wireless cleanup
>>
>> -revert-git-kvm-changes-in-arch-x86-kconfig.patch
>> -revert-revert-git-kvm-changes-in-arch-x86-kconfig.patch
>>
>> Unneeded
>>
>> +git-x86-fix-allnoconfig-build.patch
>>
>> x86 fix
>>
>> +mcheck-mce_64-mce_read_sem-to-mutex.patch
>>
>> x86 cleanup
>>
>> +x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-calling-convention-fix.patch
>>
>> Fix x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-fixes.patch
>>
>> +x86-boot-use-e820-memory-map-on-efi-32-platform.patch
>>
>> x86 fix
>>
>> +iommu-sg-add-iommu-helper-functions-for-the-free-area-management.patch
>> +iommu-sg-powerpc-convert-iommu-to-use-the-iommu-helper.patch
>> +iommu-sg-powerpc-remove-dma-4gb-boundary-protection.patch
>> +iommu-sg-x86-convert-calgary-iommu-to-use-the-iommu-helper.patch
>> +iommu-sg-x86-convert-gart-iommu-to-use-the-iommu-helper.patch
>> +iommu-sg-kill-__clear_bit_string-and-find_next_zero_string.patch
>>
>> More iommu work
>>
>> +drivers-cpufreq-cpufreq_statsc-section-fix.patch
>> +bonding-locking-fix.patch
>> +bridge-assign-random-address.patch
>> +nfs-fix-an-oops-in-nfs-unmount.patch
>> +acpi-sbs-reset-alarm-bit.patch
>> +acpi-sbs-ignore-alarms-coming-from-unknown-devices.patch
>> +acpi-sbs-return-rate-in-mw-if-capacity-in-mwh.patch
>> +usb-use-irqf_disabled-for-hcd-interrupt-handlers.patch
>> +usb-at91_udc-correct-hanging-while-disconnecting-usb-cable.patch
>> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak.patch
>> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak-fix.patch
>> +mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
>> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
>> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section-fix.patch
>> +pktcdvd-add-kobject_put-when-kobject-register-fails.patch
>> +libertas-select-wireless_ext.patch
>> +bcm43xx_debugfs-sscanf-fix.patch
>> +apm_eventinfo_t-are-userspace-types.patch
>> +drivers-macintosh-via-pmuc-added-a-missing-iounmap.patch
>>
>> More 2.6.24 queue
>>
>> +slub-optimise-the-clearing-of-__gfp_zero.patch
>>
>> Slub speedup
>>
>> +mm-special-mapping-nopage.patch
>> +remove-unused-arguments-in-zone_init_free_lists.patch
>>
>> MM things
>>
>> +smack-getpeercred_stream-fix-for-so_peersec-and-tcp.patch
>>
>> smack update
>>
>> +agp-alpha-nopage.patch
>> +alpha-fix-warning-by-fixing-flush_tlb_kernel_range.patch
>>
>> alpha stuff
>>
>> +arch-cris-added-a-missing-iounmap.patch
>>
>> cris fix
>>
>> +uml-remove-duplicate-config-symbol-and-unused-file-and-variables.patch
>> +uml-fix-mconsole-stop.patch
>> +uml-miscellaneous-code-cleanups.patch
>> +uml-style-fixes-in-filec.patch
>> +uml-64-bit-tlb-fixes.patch
>> +uml-customize-tlbh.patch
>> +uml-runtime-detection-of-host-vmsplit-on-i386.patch
>> +uml-eliminate-setjmp_wrapper.patch
>> +uml-install-panic-notifier-earlier.patch
>> +uml-use-barrier-instead-of-mb.patch
>> +uml-tidy-helper-code.patch
>> +uml-dont-kill-pid-0.patch
>> +uml-get-rid-of-syscall-counters.patch
>> +uml-dont-allow-processes-to-call-into-stub.patch
>> +uml-move-sig_handler_common_skas.patch
>> +uml-clean-up-sig_handler_common_skas.patch
>>
>> UML updates
>>
>> +get-rid-of-nr_open-and-introduce-a-sysctl_nr_open-fix.patch
>>
>> Fix get-rid-of-nr_open-and-introduce-a-sysctl_nr_open.patch
>>
>> +dio-fix-kernel-doc-notation.patch
>> +relay-nopage.patch
>> +uio-nopage.patch
>> +deprecate-smbfs-in-favour-of-cifs.patch
>> +drivers-char-use-list_head-instead-of-list_head_init.patch
>> +remove-one-useless-extern-declaration.patch
>> +quota-improve-inode-list-scanning-in-add_dquot_ref.patch
>> +quota-improve-inode-list-scanning-in-add_dquot_ref-fix.patch
>> +rcu-move-three-variables-to-__read_mostly-to-save-space.patch
>> +add-arch_ptrace_stop.patch
>> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline.patch
>> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline-checkpatch-fixes.patch
>> +docs-kernel-locking-convert-semaphore-references.patch
>> +virtio_net-remove-double-ether_setup.patch
>> +drivers-char-ipmi-ipmi_msghandlerc-use-list_head-instead-of-list_head_init.patch
>> +fs-reiserfs-xattrc-use-list_head-instead-of-list_head_init.patch
>> +stopmachine-semaphore-to-mutex.patch
>> +stopmachine-semaphore-to-mutex-fix.patch
>> +amiga-serial-driver-port_write_mutex-fixup.patch
>> +ext2-xip-check-fix.patch
>> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard.patch
>> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard-fix.patch
>> +parport_serial-netmos-9855-fix.patch
>> +partition-use-default_sgi_partition-for-sgi_partion-default.patch
>>
>> Misc
>>
>> +atmel_spi-chain-dma-transfers-update.patch
>>
>> Fix atmel_spi-chain-dma-transfers.patch
>>
>> +create-arch-kconfig.patch
>> +add-have_oprofile.patch
>> +add-have_kprobes.patch
>> +move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
>>
>> Fiddle with Kconfig
>>
>> -move-kprobes-examples-to-samples-resend.patch
>> -move-kprobes-examples-to-samples-resend-checkpatch-fixes.patch
>> -move-kprobes-examples-to-samples-resend-vs-git-x86.patch
>>
>> These need updating
>>
>> +ecryptfs-make-show_options-reflect-actual-mount-options.patch
>> +ecryptfs-make-show_options-reflect-actual-mount-options-fix.patch
>>
>> ecryptfs cleanups/fixes
>>
>> +rtc-add-support-for-the-s-35390a-rtc-chip.patch
>> +rtc-add-support-for-the-s-35390a-rtc-chip-fix.patch
>>
>> RTC update
>>
>> +fb-defio-nopage.patch
>> +atmel_lcdfb-validate-display-timings.patch
>> +vgacon-fix-sparse-warning-about-shadowing-i-symbol.patch
>> +fbcon-fix-sparse-warning-about-shadowing-p-symbol.patch
>> +fbcon-fix-sparse-warning-about-shadowing-rotate-symbol.patch
>> +logo-move-declarations-of-logos-to-linux_logoh.patch
>> +logo-move-declarations-of-logos-to-linux_logoh-fix.patch
>>
>> fbdev things
>>
>> +md-raid6-fix-mktablec.patch
>> +md-raid6-clean-up-the-style-of-raid6test-testc.patch
>> +md-update-md-bitmap-during-resync.patch
>> +md-update-md-bitmap-during-resync-fix.patch
>>
>> RAID updates
>>
>> +pnp-do-not-stop-start-devices-in-suspend-resume-path.patch
>>
>> PNP fix
>>
>> -pnp-request-ioport-and-iomem-resources-used-by-active-devices.patch
>>
>> Dropped for now.
>>
>> +ext-fix-comment-for-nonexistent-variable.patch
>> +ext-use-ext_get_group_desc.patch
>> +ext-remove-unused-argument-for-ext_find_goal.patch
>> +ext-cleanup-ext_bg_num_gdb.patch
>>
>> ext2/3/4 cleanups
>>
>> +per-zone-and-reclaim-enhancements-for-memory-controller-take-3-modifies-vmscanc-for-isolate-globa-cgroup-lru-activity-fix-accounting-in-vmscanc-for-memory-controller.patch
>> +update-documentation-controller-memorytxt.patch
>>
>> memory controller updates
>>
>> +drivers-dma-iop-admac-use-list_head-instead-of-list_head_init.patch
>>
>> DMS driver cleanup
>>
>> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-2.patch
>> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-3.patch
>>
>> Fix
>> proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces.patch
>> even more
>>
>> +fix-group-stop-with-exit-race.patch
>> +sys_setsid-remove-now-unneeded-session-=-1-check.patch
>> +move-the-related-code-from-exit_notify-to-exit_signals.patch
>> +pid-sys_wait-fixes-v2.patch
>> +pid-sys_wait-fixes-v2-checkpatch-fixes.patch
>> +pid-extend-fix-pid_vnr.patch
>> +sys_getsid-dont-use-nsproxy-directly.patch
>> +pid-fix-mips-irix-emulation-pid-usage.patch
>> +pid-fix-solaris_procids.patch
>> +uglify-kill_pid_info-to-fix-kill-vs-exec-race.patch
>> +uglify-while_each_pid_task-to-make-sure-we-dont-count-the-execing-pricess-twice.patch
>> +itimer_real-convert-to-use-struct-pid.patch
>>
>> Core kernel updates
>>
>> +rd-support-xip.patch
>>
>> SUpport XIP in rd.c
>>
>> -cramfs-make-cramfs-little-endian-only.patch
>> -cramfs-make-cramfs-little-endian-only-update.patch
>> -cramfs-make-cramfs-little-endian-only-fix.patch
>>
>> Dropped
>>
>>
>> 5041 commits in 1616 patch files
>>
>> All patches:
>>
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/patch-list
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>


--
B e n j a m i n T h e r y - BULL/DT/Open Software R&D

http://www.bull.com

2007-12-13 15:16:47

by Kamalesh Babulal

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - build failures due to kobject changes

Hi Andrew,

The kernel build fails, due to kobjects changes

drivers/infiniband/hw/ehca/ehca_main.c: In function ‘ehca_module_init’:
drivers/infiniband/hw/ehca/ehca_main.c:947: error: ‘struct device_driver’ has no member named ‘kobj’
drivers/infiniband/hw/ehca/ehca_main.c: In function ‘ehca_module_exit’:
drivers/infiniband/hw/ehca/ehca_main.c:976: error: ‘struct device_driver’ has no member named ‘kobj’
make[3]: *** [drivers/infiniband/hw/ehca/ehca_main.o] Error 1
make[2]: *** [drivers/infiniband/hw/ehca] Error 2
make[1]: *** [drivers/infiniband] Error 2
make: *** [drivers] Error 2


drivers/net/ehea/ehea_main.c: In function ‘ehea_driver_sysfs_add’:
drivers/net/ehea/ehea_main.c:2812: error: ‘struct device_driver’ has no member named ‘kobj’
drivers/net/ehea/ehea_main.c:2815: error: ‘struct device_driver’ has no member named ‘kobj’
drivers/net/ehea/ehea_main.c:2818: error: ‘struct device_driver’ has no member named ‘kobj’
drivers/net/ehea/ehea_main.c: In function ‘ehea_driver_sysfs_remove’:
drivers/net/ehea/ehea_main.c:2830: error: ‘struct device_driver’ has no member named ‘kobj’
make[3]: *** [drivers/net/ehea/ehea_main.o] Error 1
make[2]: *** [drivers/net/ehea] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2


CC drivers/net/iseries_veth.o
drivers/net/iseries_veth.c: In function ‘veth_module_init’:
drivers/net/iseries_veth.c:1714: error: ‘struct device_driver’ has no member named ‘kobj’
make[2]: *** [drivers/net/iseries_veth.o] Error 1
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2


--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.

2007-12-13 16:09:35

by Borislav Petkov

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, Dec 13, 2007 at 04:01:34PM +0100, Benjamin Thery wrote:
> The problem comes from the new macro UDPX_INC_STATS_BH introduced
> by Herbert, which was a nice addition to increment the correct
> UDP MIB depending on the socket family, but unfortunately
> the use of this macro from kernel code (I mean code not compiled
> as module) requires that IPv6 is also compiled in kernel
> (CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
> time.
>
> Benjamin
>
> Pierre Peiffer wrote:
> > Hi,
> >
> > My config does not link any more:
> >
> > ...
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > net/built-in.o: In function `xs_udp_data_ready':
> > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:842:
> > undefined reference to `udp_stats_in6'
> > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:846:
> > undefined reference to `udp_stats_in6'
> > make[1]: *** [.tmp_vmlinux1] Error 1
> > make: *** [sub-make] Error 2
> >
> > After a first look, udp_stats_in6 seems to be defined in ipv6 (file
> > net/ipv6/udp.c) but I have
> >
> > CONFIG_IPV6=m
> > and
> > CONFIG_SUNRPC=y
> >
> > So, SUNRPC uses something defined in a module in my case ?
> >
> > ... looking more, this dependency seems to have been introduced by the patch
> > [UDP]: Restore missing inDatagrams increments
> > ( http://thread.gmane.org/gmane.linux.network/79716/focus=79831 )
> >
> > (I cc netdev)
> >
> > I don't know what is the right way to fix this ... ?

you might do "select IPV6" in the SUNRPC section of fs/Kconfig, however select is
evil...

--
Regards/Gru?,
Boris.

2007-12-13 16:24:32

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - build failures due to kobject changes

On Thu, Dec 13, 2007 at 08:46:02PM +0530, Kamalesh Babulal wrote:
> Hi Andrew,
>
> The kernel build fails, due to kobjects changes
>
> drivers/infiniband/hw/ehca/ehca_main.c: In function ???ehca_module_init???:
> drivers/infiniband/hw/ehca/ehca_main.c:947: error: ???struct device_driver??? has no member named ???kobj???
> drivers/infiniband/hw/ehca/ehca_main.c: In function ???ehca_module_exit???:
> drivers/infiniband/hw/ehca/ehca_main.c:976: error: ???struct device_driver??? has no member named ???kobj???
> make[3]: *** [drivers/infiniband/hw/ehca/ehca_main.o] Error 1
> make[2]: *** [drivers/infiniband/hw/ehca] Error 2
> make[1]: *** [drivers/infiniband] Error 2
> make: *** [drivers] Error 2

This is a simple fix to the new api, sorry, being ppc I missed it in my
build tests.

> drivers/net/ehea/ehea_main.c: In function ???ehea_driver_sysfs_add???:
> drivers/net/ehea/ehea_main.c:2812: error: ???struct device_driver??? has no member named ???kobj???
> drivers/net/ehea/ehea_main.c:2815: error: ???struct device_driver??? has no member named ???kobj???
> drivers/net/ehea/ehea_main.c:2818: error: ???struct device_driver??? has no member named ???kobj???
> drivers/net/ehea/ehea_main.c: In function ???ehea_driver_sysfs_remove???:
> drivers/net/ehea/ehea_main.c:2830: error: ???struct device_driver??? has no member named ???kobj???
> make[3]: *** [drivers/net/ehea/ehea_main.o] Error 1
> make[2]: *** [drivers/net/ehea] Error 2
> make[1]: *** [drivers/net] Error 2
> make: *** [drivers] Error 2

That's just broken and wrong. Why are you trying to duplicate a symlink
that the driver core already creates? I'll just delete this code,
ugh...

> CC drivers/net/iseries_veth.o
> drivers/net/iseries_veth.c: In function ???veth_module_init???:
> drivers/net/iseries_veth.c:1714: error: ???struct device_driver??? has no member named ???kobj???
> make[2]: *** [drivers/net/iseries_veth.o] Error 1
> make[1]: *** [drivers/net] Error 2
> make: *** [drivers] Error 2

This one I know about and have more work to do to fix properly.

thanks,

greg 'i need to install a ppc cross-compiler one of these days' k-h

2007-12-13 16:24:46

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 kobject changes broken with hvcs driver on powerpc - regression

On Thu, Dec 13, 2007 at 05:29:43PM +0530, Kamalesh Babulal wrote:
> Hi,
>
> The kernel build fails with following error message
>
> drivers/char/hvcs.c: In function 'hvcs_open':
> drivers/char/hvcs.c:1180: error: wrong type argument to unary exclamation mark
> make[2]: *** [drivers/char/hvcs.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
>
> This driver was broken in 2.6.24-rc4-mm1 either on powerpc, and the discussion
> has been going on at
>
> http://lkml.org/lkml/2007/12/5/141
> http://lkml.org/lkml/2007/12/7/280

Sorry, it's still in my TODO queue that I can (hopefully) plow through
today now that the big -stable updates are out...

thanks,

greg k-h

2007-12-13 17:46:18

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

From: Benjamin Thery <[email protected]>
Date: Thu, 13 Dec 2007 16:01:34 +0100

> The problem comes from the new macro UDPX_INC_STATS_BH introduced
> by Herbert, which was a nice addition to increment the correct
> UDP MIB depending on the socket family, but unfortunately
> the use of this macro from kernel code (I mean code not compiled
> as module) requires that IPv6 is also compiled in kernel
> (CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
> time.

Herbert, please take a look at this, thanks!

> Benjamin
>
> Pierre Peiffer wrote:
> > Hi,
> >
> > My config does not link any more:
> >
> > ...
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > net/built-in.o: In function `xs_udp_data_ready':
> > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:842:
> > undefined reference to `udp_stats_in6'
> > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:846:
> > undefined reference to `udp_stats_in6'
> > make[1]: *** [.tmp_vmlinux1] Error 1
> > make: *** [sub-make] Error 2
> >
> > After a first look, udp_stats_in6 seems to be defined in ipv6 (file
> > net/ipv6/udp.c) but I have
> >
> > CONFIG_IPV6=m
> > and
> > CONFIG_SUNRPC=y
> >
> > So, SUNRPC uses something defined in a module in my case ?
> >
> > ... looking more, this dependency seems to have been introduced by the patch
> > [UDP]: Restore missing inDatagrams increments
> > ( http://thread.gmane.org/gmane.linux.network/79716/focus=79831 )
> >
> > (I cc netdev)
> >
> > I don't know what is the right way to fix this ... ?
> >
> > P.
> > Andrew Morton wrote:
> >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
> >>
> >> - If something goes wrong with a PCI device's probing or initialisation, try
> >> reverting pci-disable-decoding-during-sizing-of-bars.patch.
> >>
> >> - git-sched was dropped due to breaking suspend-to-RAM.
> >>
> >> - git-block has been restored after having had a few problems
> >>
> >> - git-newsetup.patch was dropped due to conflicts with git-x86
> >>
> >> - git-perfmon.patch is still dropped for the same reason
> >>
> >> - git-kgdb.patch is still dropped for the same reason
> >>
> >> - Please do try to cc the correct developer and mailing list when
> >> reporting problems - I'm just buried in bugs over here.
> >>
> >>
> >>
> >> Boilerplate:
> >>
> >> - See the `hot-fixes' directory for any important updates to this patchset.
> >>
> >> - To fetch an -mm tree using git, use (for example)
> >>
> >> git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1
> >> git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
> >>
> >> - -mm kernel commit activity can be reviewed by subscribing to the
> >> mm-commits mailing list.
> >>
> >> echo "subscribe mm-commits" | mail [email protected]
> >>
> >> - If you hit a bug in -mm and it is not obvious which patch caused it, it is
> >> most valuable if you can perform a bisection search to identify which patch
> >> introduced the bug. Instructions for this process are at
> >>
> >> http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt
> >>
> >> But beware that this process takes some time (around ten rebuilds and
> >> reboots), so consider reporting the bug first and if we cannot immediately
> >> identify the faulty patch, then perform the bisection search.
> >>
> >> - When reporting bugs, please try to Cc: the relevant maintainer and mailing
> >> list on any email.
> >>
> >> - When reporting bugs in this kernel via email, please also rewrite the
> >> email Subject: in some manner to reflect the nature of the bug. Some
> >> developers filter by Subject: when looking for messages to read.
> >>
> >> - Occasional snapshots of the -mm lineup are uploaded to
> >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
> >> the mm-commits list. These probably are at least compilable.
> >>
> >> - More-than-daily -mm snapshots may be found at
> >> http://userweb.kernel.org/~akpm/mmotm/. These are almost certainly not
> >> compileable.
> >>
> >>
> >>
> >> Changes since 2.6.24-rc4-mm1:
> >>
> >>
> >> origin.patch
> >> git-acpi.patch
> >> git-alsa.patch
> >> git-agpgart.patch
> >> git-arm.patch
> >> git-arm-master.patch
> >> git-avr32.patch
> >> git-cpufreq.patch
> >> git-powerpc.patch
> >> git-drm.patch
> >> git-dvb.patch
> >> git-hwmon.patch
> >> git-gfs2-nmw.patch
> >> git-hid.patch
> >> git-hrt.patch
> >> git-ieee1394.patch
> >> git-infiniband.patch
> >> git-input.patch
> >> git-jfs.patch
> >> git-kbuild.patch
> >> git-kvm.patch
> >> git-lblnet.patch
> >> git-leds.patch
> >> git-libata-all.patch
> >> git-md-accel.patch
> >> git-mips.patch
> >> git-mmc.patch
> >> git-mtd.patch
> >> git-ubi.patch
> >> git-net.patch
> >> git-netdev-all.patch
> >> git-battery.patch
> >> git-nfs.patch
> >> git-nfsd.patch
> >> git-ocfs2.patch
> >> git-s390.patch
> >> git-sh.patch
> >> git-scsi-misc.patch
> >> git-scsi-rc-fixes.patch
> >> git-block.patch
> >> git-unionfs.patch
> >> git-v9fs.patch
> >> git-watchdog.patch
> >> git-wireless.patch
> >> git-ipwireless_cs.patch
> >> git-x86.patch
> >> git-xfs.patch
> >> git-cryptodev.patch
> >> git-xtensa.patch
> >>
> >> git trees
> >>
> >> -aio-only-account-i-o-wait-time-in-read_events-if-there-are-active-requests.patch
> >> -fix-cloneclone_newpid.patch
> >> -rtc-assure-proper-memory-ordering-with-respect-to-rtc_dev_busy-flag.patch
> >> -ufs-fix-nexstep-dir-block-size.patch
> >> -ufs-fix-nexstep-dir-block-size-checkpatch-fixes.patch
> >> -aoe-properly-initialise-the-request_queues-backing_dev_info.patch
> >> -mm-backing-devc-fix-percpu_counter_destroy-call-bug-in-bdi_init.patch
> >> -add-export_symbolksize.patch
> >> -spi-use-mutex-not-semaphore.patch
> >> -spi-at25-driver-is-for-eeprom-not-flash.patch
> >> -spi-simplify-spi_sync-calling-convention.patch
> >> -spi-use-simplified-spi_sync-calling-convention.patch
> >> -spi-initial-bf54x-spi-support.patch
> >> -spi-bfin-spi-uses-portmux-calls.patch
> >> -spi-spi_bfin-cleanups-error-handling.patch
> >> -spi-spi_bfin-handles-spi_transfercs_change.patch
> >> -spi-spi_bfin-dont-bypass-spi-framework.patch
> >> -spi-spi_bfin-uses-platform-device-resources.patch
> >> -spi-spi_bfin-uses-portmux-for-additional-busses.patch
> >> -spi-spi_bfin-rearrange-portmux-calls.patch
> >> -spi-spi_bfin-change-handling-of-communication-parameters.patch
> >> -spi-spi_bfin-relocate-spin-waits.patch
> >> -spi-spi_bfin-handle-multiple-spi_masters.patch
> >> -spi-spi_bfin-bugfix-for-816-bit-word-sizes.patch
> >> -spi-spi_bfin-update-handling-of-delay-after-deselect.patch
> >> -spi-spi_bfin-resequence-dma-start-stop.patch
> >> -blackfin-spi-driver-use-cpu_relax-to-replace-continue-in-while-busywait.patch
> >> -blackfin-spi-driver-use-void-__iomem-for-regs_base.patch
> >> -blackfin-spi-driver-move-hard-coded-pin_req-to-board-file.patch
> >> -blackfin-spi-driver-reconfigure-speed_hz-and-bits_per_word-in-each-spi-transfer.patch
> >> -avoid-potential-null-dereference-in-unregister_sysctl_table.patch
> >> -gpio_cs5535-disable-aux-on-output.patch
> >> -mm-fix-xip-file-writes.patch
> >> -revert-dpt_i2o-convert-to-scsi-hotplug-model.patch
> >> -jbd-fix-assertion-failure-in-fs-jbd-checkpointc.patch
> >> -proc-fix-pde-refcounting.patch
> >> -powerpc-invalid-size-for-swapper_pg_dir-with-config_pte_64bit=y.patch
> >> -gregkh-driver-kset-add-kset_create_and_register-function.patch
> >> -gregkh-driver-kobject-add-kobject_create_and_register-function.patch
> >> -gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_register.patch
> >> -gregkh-driver-kset-convert-drivers-base-busc-kset_create_and_register.patch
> >> -gregkh-driver-kset-convert-drivers-base-classc-kset_create_and_register.patch
> >> -gregkh-driver-kset-convert-drivers-base-firmwarec-kset_create_and_register.patch
> >> -gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
> >> -gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
> >> -gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
> >> -gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
> >> -gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
> >> -gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
> >> -gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
> >> -gregkh-driver-kobject-add-kobject_init_ng-kobject_add_ng-and-kobject_init_and_add-functions.patch
> >> -gregkh-driver-driver-core-move-the-driver-specific-module-code-into-the-driver-core-fix.patch
> >> -remove-saa7134-oss.patch
> >> -jdelvare-i2c-i2c-delete-old-documentation.patch
> >> -jdelvare-i2c-i2c-gpio-set-hwmon-class.patch
> >> -jdelvare-i2c-i2c-add-missing-space.patch
> >> -rename-_bss-to-__bss_start.patch
> >> -ia64-efi-make-full-use-of-macro-efi_md_size.patch
> >> -ads7846-stop-updating-dev-powerpower_state.patch
> >> -remove-trailing-nuls-from-network-bonding-sysfs-interface.patch
> >> -net-bonding-return-nothing-for-not-applicable-values.patch
> >> -net-bonding-purely-cosmetic-rename-a-local-variable.patch
> >> -git-watchdog-hpwdt-build-fix.patch
> >> -iwlwifi-3945-fix-race-conditional-panic.patch
> >> -iwlwifi-4965-fix-race-conditional-panic.patch
> >> -bcm43xx_debugfs-sscanf-fix.patch
> >> -arch-xtensa-remove-duplicate-includes.patch
> >> -xtensa-kernel-setupc-remove-dead-code.patch
> >> -ia64-increase-datapatch-offset.patch
> >> -ia64-dont-assume-that-unwcheckpy-is-executable.patch
> >> -ia64-export-copy_page-to-modules.patch
> >> -add-mike-christie-to-maintainers.patch
> >> -scsi-early-detection-of-medium-not-present-updated.patch
> >> -slubs-ksize-fails-for-size-2048.patch
> >> -vm-security-add-security-hook-to-do_brk.patch
> >> -mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
> >> -mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
> >> -pie-executable-randomization.patch
> >> -pie-executable-randomization-uninlining.patch
> >> -pie-executable-randomization-checkpatch-fixes.patch
> >>
> >> Merged into mainline or a subsystem tree
> >>
> >> +revert-hibernation-use-temporary-page-tables-for-kernel-text-mapping-on-x86_64.patch
> >> +uml-stop-gdb-from-deleting-breakpoints-when-running-uml.patch
> >> +alpha-strncpy-strncat-fixes.patch
> >> +rtc-at32ap700x-fix-irq-init-oops.patch
> >> +parport-dev-timeslice-is-an-unsigned-long-not-an-int.patch
> >> +ecryptfs-initialize-new-auth_tokens-before-teardown.patch
> >> +knfsd-change-mailing-list-for-nfsd-in-maintainers.patch
> >> +fix-lguest-documentation.patch
> >> +sparsemem-make-sparsemem_vmemmap-selectable.patch
> >> +fs-kconfig-grammar-fix.patch
> >> +ext3-ext4-avoid-divide-by-zero.patch
> >> +alpha-build-fixes.patch
> >>
> >> 2.6.24 queue
> >>
> >> +timerfd-v3-new-timerfd-api-s390-fix.patch
> >> +timerfd-v3-new-timerfd-api-sparc64-fix.patch
> >>
> >> Fix timerfd-v3-new-timerfd-api.patch a ridiculous number of times.
> >>
> >> +git-acpi-build-fix.patch
> >>
> >> Fix git-acpi.patch more.
> >>
> >> +acpi-remove-duplicated-warning-message.patch
> >> +acpi_pci_irq_find_prt_entry-use-list_for_each_entry-instead-of-list_for_each.patch
> >>
> >> ACPI things
> >>
> >> +alsa-nopage.patch
> >> +alsa-usx2y-nopage.patch
> >>
> >> ALSA things
> >>
> >> -git-avr32-fixup.patch
> >>
> >> Unneeded
> >>
> >> +agk-dm-dm-crypt-use-bio_add_page.patch
> >> +agk-dm-dm-convert-suspend_lock-semaphore-to-mutex.patch
> >> +agk-dm-dm-snapshot-combine-consecutive-exceptions-in-memory.patch
> >>
> >> DM updates
> >>
> >> +powerpc-dont-cast-a-pointer-to-pointer-of-list_head.patch
> >> +arch-powerpc-add-missing-of_node_put.patch
> >> +arch-powerpc-platforms-cell-cbe_regsc-add-missing-of_node_put.patch
> >>
> >> powerpc stuff
> >>
> >> +gregkh-driver-kobject-fix-the-documentation-of-how-kobject_set_name-works.patch
> >> +gregkh-driver-kobject-convert-ibmasm-to-use-kref-not-kobject.patch
> >> +gregkh-driver-kobject-convert-hvc_console-to-use-kref-not-kobject.patch
> >> +gregkh-driver-kobject-convert-hvcs-to-use-kref-not-kobject.patch
> >> +gregkh-driver-kobject-convert-icom-to-use-kref-not-kobject.patch
> >> +gregkh-driver-kobject-fix-up-kobject_set_name-to-use-kvasprintf.patch
> >> +gregkh-driver-kobject-make-kobject_cleanup-be-static.patch
> >> +gregkh-driver-kobject-add-kobject_init_ng-function.patch
> >> +gregkh-driver-kobject-add-kobject_add_ng-function.patch
> >> +gregkh-driver-kobject-add-kobject_init_and_add-function.patch
> >> +gregkh-driver-kset-add-kset_create_and_add-function.patch
> >> +gregkh-driver-kobject-add-kobject_create_and_add-function.patch
> >> +gregkh-driver-kset-convert-pci-hotplug-to-use-kset_create_and_add.patch
> >> +gregkh-driver-kset-convert-drivers-base-busc-to-use-kset_create.patch
> >> +gregkh-driver-kset-convert-drivers-base-classc-to-use-kset_create.patch
> >> +gregkh-driver-kset-convert-drivers-base-firmwarec-to-use-kset_create.patch
> >> +gregkh-driver-uio-fix-kobject-usage.patch
> >> +gregkh-driver-driver-core-remove-owner-field-from-struct-bus_type.patch
> >> +gregkh-driver-driver-core-add-way-to-get-to-bus-kset.patch
> >> +gregkh-driver-driver-core-add-way-to-get-to-bus-device-klist.patch
> >> +gregkh-driver-driver-core-remove-fields-from-struct-bus_type.patch
> >> +gregkh-driver-driver-core-introduce-default-attribute-groups.patch
> >> +gregkh-driver-netiucv-use-device_driver-default-attribute-groups.patch
> >> +gregkh-driver-zfcp-use-device_driver-default-attribute-groups.patch
> >> +gregkh-driver-infiniband-make-ipath-driver-use-default-driver-groups.patch
> >>
> >> Driver tree updates
> >>
> >> +revert-gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch
> >>
> >> Fix it.
> >>
> >> -driver-tree-broke-infiniband.patch
> >>
> >> Unneeded
> >>
> >> +drm-dont-cast-a-pointer-to-pointer-of-list_head.patch
> >>
> >> DRM cleanup
> >>
> >> +git-dvb-fix-build-in-drivers-media-dvb-frontends-tda18271h.patch
> >> +git-dvb-one-videobuf_read_start-is-enough.patch
> >> +git-dvb-drivers-media-dvb-frontends-zl10353c-avoid-64-bit-divide.patch
> >> +git-dvb-drivers-media-video-et61x251-et61x251_corec-fix-warnings.patch
> >>
> >> Fix git-dvb
> >>
> >> +media-video-usbvision-add-mutex_unlock-to-error-paths.patch
> >> +media-video-usbvision-add-mutex_unlock-to-error-paths-fix.patch
> >> +media-video-usbvision-remove-ctrlurblock.patch
> >>
> >> DVB things
> >>
> >> +jdelvare-i2c-i2c-deprecate-video-bus-drivers.patch
> >> +jdelvare-i2c-i2c-drop-redundant-client-usage-count.patch
> >> +jdelvare-i2c-i2c-change-refcounting-prototypes.patch
> >> +jdelvare-i2c-i2c-remove-redundant-i2c_adapter-list.patch
> >> +jdelvare-i2c-i2c-remove-redundant-i2c_driver-list.patch
> >> +jdelvare-i2c-i2c-core-rename-lock.patch
> >>
> >> I2C tree updates
> >>
> >> +i2c-fix-drivers-media-video-bt866c.patch
> >>
> >> Fix it.
> >>
> >> +applesmc-sensors-set-for-macbook2-try-2.patch
> >>
> >> Update applesmc-sensors-set-for-macbook2.patch
> >>
> >> +gfs2-avoid-64-bit-divide.patch
> >>
> >> Fix git-gfs2-nmw.patch
> >>
> >> +ia64-ia32-nopage.patch
> >>
> >> ia64 cleanup
> >>
> >> +ieee1394-nopage.patch
> >>
> >> firewire cleanup
> >>
> >> +ib-nopage.patch
> >>
> >> Infiniband cleanup
> >>
> >> +fujitsu-application-panel-led-value.patch
> >>
> >> apanel update
> >>
> >> +ads7846-stop-updating-dev-powerpower_state.patch
> >> +wistron_btns-add-support-for-x86_64-systems.patch
> >> +wistron_btns-add-support-for-fujitsu-siemens-amilo-pro-edition-v3505.patch
> >> +hp6xx-hp7xx-clean-up-drivers-input-keyboardtouchscreen-kconfigs.patch
> >>
> >> input things
> >>
> >> +pata_legacy-restructure-and-revamp.patch
> >>
> >> pata upate
> >>
> >> +ide-mm-ide-dma-reporting-and-validity-checking-fixes-take-3.patch
> >> +ide-mm-ide-cd-remove-dead-post_transform_command.patch
> >> +ide-mm-pdc202xx_new-fix-promise-tx4-support.patch
> >> +ide-mm-hpt366-fix-hpt37x-pio-mode-timings-take-2.patch
> >> +ide-mm-hpt366-change-timing-register-masks.patch
> >> +ide-mm-hpt366-kill-set_dma_mode-method-wrapper.patch
> >> +ide-mm-ide-remove-dead-code-from-__ide_dma_test_irq.patch
> >> +ide-mm-ide-remove-stale-changelog-from-ide-disk-c.patch
> >> +ide-mm-ide-remove-stale-changelog-from-ide-probe-c.patch
> >> +ide-mm-ide-add-ide_busy_sleep-helper.patch
> >> +ide-mm-ide-remove-broken-disk-byte-swapping-support.patch
> >> +ide-mm-cmd64x-remove-proc-ide-cmd64x.patch
> >>
> >> IDE tree updates
> >>
> >> +md-balance-braces-in-raid5-debug-code.patch
> >>
> >> Fix git-md-accel.patch
> >>
> >> +mips-fix-makefile-borkage.patch
> >>
> >> MIPS fix
> >>
> >> +ipsec-fix-reversed-icmp6-policy-check.patch
> >> +ipsec-do-not-let-packets-pass-when-icmp-flag-is-off.patch
> >> +git-net-vs-git-lblnet.patch
> >> +git-net-fix-drivers-net-ns83820c-build.patch
> >> +updates-to-nfsroot-documentation-take-3.patch
> >> +net-use-mutex_is_locked-for-assert_rtnl.patch
> >> +tipc-fix-semaphore-handling.patch
> >> +ppp-synchronous-tty-convert-dead_sem-to-completion.patch
> >>
> >> net things
> >>
> >> +e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000.patch
> >>
> >> Make e1000e config sane
> >>
> >> +plip-driver-convert-killed_timer_sem-to-completion.patch
> >>
> >> plip cleanup
> >>
> >> +backlight-omap1-backlight-driver.patch
> >> +backlight-omap1-backlight-driver-fix.patch
> >>
> >> backlight driver
> >>
> >> +pcmcia-include-bad-cis-filename-in-error-message.patch
> >>
> >> pcmcia niceness
> >>
> >> +pci-disable-decoding-during-sizing-of-bars.patch
> >>
> >> PCI fix
> >>
> >> +pcie-aer-dont-check-_osc-when-acpi-is-disabled.patch
> >> +pci-dont-load-acpi_php-when-acpi-is-disabled.patch
> >> +pci-dont-load-acpi_php-when-acpi-is-disabled-fix.patch
> >>
> >> PCIE and PCI fixes
> >>
> >> +kernel-time-make-tick_do_broadcast-static.patch
> >>
> >> cleanup
> >>
> >> -git-scsi-misc-fixup.patch
> >>
> >> Unneeded
> >>
> >> +git-scsi-misc-fix-build-in-drivers-scsi-scsi_tgt_libc.patch
> >>
> >> Fix git-scsi-misc
> >>
> >> +sg-nopage.patch
> >> +3w-raid-drivers-memset-not-needed-in-probe.patch
> >> +hptiop-add-more-adapter-models-and-other-fixes.patch
> >> +hptiop-add-more-adapter-models-and-other-fixes-update.patch
> >> +hptiop-add-more-adapter-models-and-other-fixes-fix-2.patch
> >> +drivers-scsi-iprc-use-list_head-instead-of-list_head_init.patch
> >>
> >> scsi things
> >>
> >> -bidi-support-sr-sd-remove-dead-code.patch
> >> -bidi-support-tgt-use-scsi_init_io-instead-of-scsi_alloc_sgtable.patch
> >> -bidi-support-scsi_data_buffer.patch
> >> -scsi-pending-arm-convert-to-accessors.patch
> >> -scsi-bidi-support.patch
> >>
> >> scsi changes killed this
> >>
> >> +usb-mon-nopage.patch
> >>
> >> USB cleanup
> >>
> >> +9p-util-fix-semaphore-handling.patch
> >>
> >> 9p fix
> >>
> >> +watchdog-use-sgi_has_indydog-for-indydog-depends.patch
> >>
> >> watchdog cleanup
> >>
> >> +wireless-libertas-dont-cast-a-pointer-to-pointer-of-list_head.patch
> >>
> >> wireless cleanup
> >>
> >> -revert-git-kvm-changes-in-arch-x86-kconfig.patch
> >> -revert-revert-git-kvm-changes-in-arch-x86-kconfig.patch
> >>
> >> Unneeded
> >>
> >> +git-x86-fix-allnoconfig-build.patch
> >>
> >> x86 fix
> >>
> >> +mcheck-mce_64-mce_read_sem-to-mutex.patch
> >>
> >> x86 cleanup
> >>
> >> +x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-calling-convention-fix.patch
> >>
> >> Fix x86_64-efi-runtime-service-support-efi-basic-runtime-service-support-fixes.patch
> >>
> >> +x86-boot-use-e820-memory-map-on-efi-32-platform.patch
> >>
> >> x86 fix
> >>
> >> +iommu-sg-add-iommu-helper-functions-for-the-free-area-management.patch
> >> +iommu-sg-powerpc-convert-iommu-to-use-the-iommu-helper.patch
> >> +iommu-sg-powerpc-remove-dma-4gb-boundary-protection.patch
> >> +iommu-sg-x86-convert-calgary-iommu-to-use-the-iommu-helper.patch
> >> +iommu-sg-x86-convert-gart-iommu-to-use-the-iommu-helper.patch
> >> +iommu-sg-kill-__clear_bit_string-and-find_next_zero_string.patch
> >>
> >> More iommu work
> >>
> >> +drivers-cpufreq-cpufreq_statsc-section-fix.patch
> >> +bonding-locking-fix.patch
> >> +bridge-assign-random-address.patch
> >> +nfs-fix-an-oops-in-nfs-unmount.patch
> >> +acpi-sbs-reset-alarm-bit.patch
> >> +acpi-sbs-ignore-alarms-coming-from-unknown-devices.patch
> >> +acpi-sbs-return-rate-in-mw-if-capacity-in-mwh.patch
> >> +usb-use-irqf_disabled-for-hcd-interrupt-handlers.patch
> >> +usb-at91_udc-correct-hanging-while-disconnecting-usb-cable.patch
> >> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak.patch
> >> +iwlwifi3945-4965-fix-rate-control-algo-reference-leak-fix.patch
> >> +mm-sparsec-check-the-return-value-of-sparse_index_alloc.patch
> >> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section.patch
> >> +mm-sparsec-improve-the-error-handling-for-sparse_add_one_section-fix.patch
> >> +pktcdvd-add-kobject_put-when-kobject-register-fails.patch
> >> +libertas-select-wireless_ext.patch
> >> +bcm43xx_debugfs-sscanf-fix.patch
> >> +apm_eventinfo_t-are-userspace-types.patch
> >> +drivers-macintosh-via-pmuc-added-a-missing-iounmap.patch
> >>
> >> More 2.6.24 queue
> >>
> >> +slub-optimise-the-clearing-of-__gfp_zero.patch
> >>
> >> Slub speedup
> >>
> >> +mm-special-mapping-nopage.patch
> >> +remove-unused-arguments-in-zone_init_free_lists.patch
> >>
> >> MM things
> >>
> >> +smack-getpeercred_stream-fix-for-so_peersec-and-tcp.patch
> >>
> >> smack update
> >>
> >> +agp-alpha-nopage.patch
> >> +alpha-fix-warning-by-fixing-flush_tlb_kernel_range.patch
> >>
> >> alpha stuff
> >>
> >> +arch-cris-added-a-missing-iounmap.patch
> >>
> >> cris fix
> >>
> >> +uml-remove-duplicate-config-symbol-and-unused-file-and-variables.patch
> >> +uml-fix-mconsole-stop.patch
> >> +uml-miscellaneous-code-cleanups.patch
> >> +uml-style-fixes-in-filec.patch
> >> +uml-64-bit-tlb-fixes.patch
> >> +uml-customize-tlbh.patch
> >> +uml-runtime-detection-of-host-vmsplit-on-i386.patch
> >> +uml-eliminate-setjmp_wrapper.patch
> >> +uml-install-panic-notifier-earlier.patch
> >> +uml-use-barrier-instead-of-mb.patch
> >> +uml-tidy-helper-code.patch
> >> +uml-dont-kill-pid-0.patch
> >> +uml-get-rid-of-syscall-counters.patch
> >> +uml-dont-allow-processes-to-call-into-stub.patch
> >> +uml-move-sig_handler_common_skas.patch
> >> +uml-clean-up-sig_handler_common_skas.patch
> >>
> >> UML updates
> >>
> >> +get-rid-of-nr_open-and-introduce-a-sysctl_nr_open-fix.patch
> >>
> >> Fix get-rid-of-nr_open-and-introduce-a-sysctl_nr_open.patch
> >>
> >> +dio-fix-kernel-doc-notation.patch
> >> +relay-nopage.patch
> >> +uio-nopage.patch
> >> +deprecate-smbfs-in-favour-of-cifs.patch
> >> +drivers-char-use-list_head-instead-of-list_head_init.patch
> >> +remove-one-useless-extern-declaration.patch
> >> +quota-improve-inode-list-scanning-in-add_dquot_ref.patch
> >> +quota-improve-inode-list-scanning-in-add_dquot_ref-fix.patch
> >> +rcu-move-three-variables-to-__read_mostly-to-save-space.patch
> >> +add-arch_ptrace_stop.patch
> >> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline.patch
> >> +tty-enable-the-echoing-of-c-in-the-n_tty-discipline-checkpatch-fixes.patch
> >> +docs-kernel-locking-convert-semaphore-references.patch
> >> +virtio_net-remove-double-ether_setup.patch
> >> +drivers-char-ipmi-ipmi_msghandlerc-use-list_head-instead-of-list_head_init.patch
> >> +fs-reiserfs-xattrc-use-list_head-instead-of-list_head_init.patch
> >> +stopmachine-semaphore-to-mutex.patch
> >> +stopmachine-semaphore-to-mutex-fix.patch
> >> +amiga-serial-driver-port_write_mutex-fixup.patch
> >> +ext2-xip-check-fix.patch
> >> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard.patch
> >> +parport-add-support-for-the-quatech-sppxp-100-parallel-port-pci-expresscard-fix.patch
> >> +parport_serial-netmos-9855-fix.patch
> >> +partition-use-default_sgi_partition-for-sgi_partion-default.patch
> >>
> >> Misc
> >>
> >> +atmel_spi-chain-dma-transfers-update.patch
> >>
> >> Fix atmel_spi-chain-dma-transfers.patch
> >>
> >> +create-arch-kconfig.patch
> >> +add-have_oprofile.patch
> >> +add-have_kprobes.patch
> >> +move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
> >>
> >> Fiddle with Kconfig
> >>
> >> -move-kprobes-examples-to-samples-resend.patch
> >> -move-kprobes-examples-to-samples-resend-checkpatch-fixes.patch
> >> -move-kprobes-examples-to-samples-resend-vs-git-x86.patch
> >>
> >> These need updating
> >>
> >> +ecryptfs-make-show_options-reflect-actual-mount-options.patch
> >> +ecryptfs-make-show_options-reflect-actual-mount-options-fix.patch
> >>
> >> ecryptfs cleanups/fixes
> >>
> >> +rtc-add-support-for-the-s-35390a-rtc-chip.patch
> >> +rtc-add-support-for-the-s-35390a-rtc-chip-fix.patch
> >>
> >> RTC update
> >>
> >> +fb-defio-nopage.patch
> >> +atmel_lcdfb-validate-display-timings.patch
> >> +vgacon-fix-sparse-warning-about-shadowing-i-symbol.patch
> >> +fbcon-fix-sparse-warning-about-shadowing-p-symbol.patch
> >> +fbcon-fix-sparse-warning-about-shadowing-rotate-symbol.patch
> >> +logo-move-declarations-of-logos-to-linux_logoh.patch
> >> +logo-move-declarations-of-logos-to-linux_logoh-fix.patch
> >>
> >> fbdev things
> >>
> >> +md-raid6-fix-mktablec.patch
> >> +md-raid6-clean-up-the-style-of-raid6test-testc.patch
> >> +md-update-md-bitmap-during-resync.patch
> >> +md-update-md-bitmap-during-resync-fix.patch
> >>
> >> RAID updates
> >>
> >> +pnp-do-not-stop-start-devices-in-suspend-resume-path.patch
> >>
> >> PNP fix
> >>
> >> -pnp-request-ioport-and-iomem-resources-used-by-active-devices.patch
> >>
> >> Dropped for now.
> >>
> >> +ext-fix-comment-for-nonexistent-variable.patch
> >> +ext-use-ext_get_group_desc.patch
> >> +ext-remove-unused-argument-for-ext_find_goal.patch
> >> +ext-cleanup-ext_bg_num_gdb.patch
> >>
> >> ext2/3/4 cleanups
> >>
> >> +per-zone-and-reclaim-enhancements-for-memory-controller-take-3-modifies-vmscanc-for-isolate-globa-cgroup-lru-activity-fix-accounting-in-vmscanc-for-memory-controller.patch
> >> +update-documentation-controller-memorytxt.patch
> >>
> >> memory controller updates
> >>
> >> +drivers-dma-iop-admac-use-list_head-instead-of-list_head_init.patch
> >>
> >> DMS driver cleanup
> >>
> >> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-2.patch
> >> +proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces-fix-3.patch
> >>
> >> Fix
> >> proc-seqfile-convert-proc_pid_status-to-properly-handle-pid-namespaces.patch
> >> even more
> >>
> >> +fix-group-stop-with-exit-race.patch
> >> +sys_setsid-remove-now-unneeded-session-=-1-check.patch
> >> +move-the-related-code-from-exit_notify-to-exit_signals.patch
> >> +pid-sys_wait-fixes-v2.patch
> >> +pid-sys_wait-fixes-v2-checkpatch-fixes.patch
> >> +pid-extend-fix-pid_vnr.patch
> >> +sys_getsid-dont-use-nsproxy-directly.patch
> >> +pid-fix-mips-irix-emulation-pid-usage.patch
> >> +pid-fix-solaris_procids.patch
> >> +uglify-kill_pid_info-to-fix-kill-vs-exec-race.patch
> >> +uglify-while_each_pid_task-to-make-sure-we-dont-count-the-execing-pricess-twice.patch
> >> +itimer_real-convert-to-use-struct-pid.patch
> >>
> >> Core kernel updates
> >>
> >> +rd-support-xip.patch
> >>
> >> SUpport XIP in rd.c
> >>
> >> -cramfs-make-cramfs-little-endian-only.patch
> >> -cramfs-make-cramfs-little-endian-only-update.patch
> >> -cramfs-make-cramfs-little-endian-only-fix.patch
> >>
> >> Dropped
> >>
> >>
> >> 5041 commits in 1616 patch files
> >>
> >> All patches:
> >>
> >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/patch-list
> >>
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >> the body of a message to [email protected]
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >> Please read the FAQ at http://www.tux.org/lkml/
> >>
> >
>
>
> --
> B e n j a m i n T h e r y - BULL/DT/Open Software R&D
>
> http://www.bull.com
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2007-12-13 17:48:24

by Borislav Petkov

[permalink] [raw]
Subject: (was Re: 2.6.24-rc5-mm1) crypto/authenc.c select symbol in Kconfig

On Thu, Dec 13, 2007 at 02:40:50AM -0800, Andrew Morton wrote:

i get here:

----
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
Building modules, stage 2.
MODPOST 226 modules
ERROR: "crypto_hash_type" [crypto/authenc.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
---

which fails because crypto_hash_type is declared in crypto/hash.c. You might wanna
fix it like so:

Signed-off-by: Borislav Petkov <[email protected]>


--- crypto/Kconfig.orig 2007-12-13 18:44:19.000000000 +0100
+++ crypto/Kconfig 2007-12-13 18:39:00.000000000 +0100
@@ -553,6 +553,7 @@ config CRYPTO_AUTHENC
tristate "Authenc support"
select CRYPTO_AEAD
select CRYPTO_MANAGER
+ select CRYPTO_HASH
help
Authenc: Combined mode wrapper for IPsec.
This is required for IPSec.

--
Regards/Gru?,
Boris.

2007-12-13 17:54:59

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, Dec 13, 2007 at 05:07:44PM +0100, Borislav Petkov wrote:
> On Thu, Dec 13, 2007 at 04:01:34PM +0100, Benjamin Thery wrote:
> > The problem comes from the new macro UDPX_INC_STATS_BH introduced
> > by Herbert, which was a nice addition to increment the correct
> > UDP MIB depending on the socket family, but unfortunately
> > the use of this macro from kernel code (I mean code not compiled
> > as module) requires that IPv6 is also compiled in kernel
> > (CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
> > time.
> >
> > Benjamin
> >
> > Pierre Peiffer wrote:
> > > Hi,
> > >
> > > My config does not link any more:
> > >
> > > ...
> > > CHK include/linux/compile.h
> > > UPD include/linux/compile.h
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > net/built-in.o: In function `xs_udp_data_ready':
> > > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:842:
> > > undefined reference to `udp_stats_in6'
> > > /home/peifferp/containers/kernel/linux-2.6.24-rc5-mm1/net/sunrpc/xprtsock.c:846:
> > > undefined reference to `udp_stats_in6'
> > > make[1]: *** [.tmp_vmlinux1] Error 1
> > > make: *** [sub-make] Error 2
> > >
> > > After a first look, udp_stats_in6 seems to be defined in ipv6 (file
> > > net/ipv6/udp.c) but I have
> > >
> > > CONFIG_IPV6=m
> > > and
> > > CONFIG_SUNRPC=y
> > >
> > > So, SUNRPC uses something defined in a module in my case ?
> > >
> > > ... looking more, this dependency seems to have been introduced by the patch
> > > [UDP]: Restore missing inDatagrams increments
> > > ( http://thread.gmane.org/gmane.linux.network/79716/focus=79831 )
> > >
> > > (I cc netdev)
> > >
> > > I don't know what is the right way to fix this ... ?
>
> you might do "select IPV6" in the SUNRPC section of fs/Kconfig, however select is
> evil...

select itself isn't evil.

Nonsensical selects like the one you suggest (sunrpc does not require
IPV6) are evil.

> Regards/Gruß,
> Boris.

cu
Adrian

--

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

2007-12-13 19:55:59

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 regression - kernel warning on tcp_fastretrans_alert()

On Thu, 13 Dec 2007 20:26:21 +0530 Kamalesh Babulal <[email protected]> wrote:

> Hi Andrew,

Hi. Please do try to cc [email protected] on net-related problems.
Doing so will often save multiple hours latency and will optimise away one
entire email (ie: this one).

> Following call trace is seen in 2.6.24-rc5-mm1 kernel also,it was reported
> for 2.6.24-rc4-mm1 kernel http://lkml.org/lkml/2007/12/6/22
>
> ls21b kernel: [ 7530.313408] WARNING: at net/ipv4/tcp_input.c:2533 tcp_fastretrans_alert()
> ls21b kernel: [ 7530.354051] Pid: 0, comm: swapper Not tainted 2.6.24-rc5-mm1 #1
> ls21b kernel: [ 7530.389487]
> ls21b kernel: [ 7530.389488] Call Trace:
> ls21b kernel: [ 7530.413030] <IRQ> [<ffffffff80482374>] tcp_fastretrans_alert+0x127/0xdaf
> ls21b kernel: [ 7530.454295] [<ffffffff804850cd>] tcp_ack+0xf2f/0x10fe
> ls21b kernel: [ 7530.485066] [<ffffffff80488503>] tcp_rcv_established+0x695/0x79a
> ls21b kernel: [ 7530.521542] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
> ls21b kernel: [ 7530.556468] [<ffffffff8048eb70>] tcp_v4_do_rcv+0x37/0x3e1
> ls21b kernel: [ 7530.589317] [<ffffffff80491764>] tcp_v4_rcv+0xac7/0xb93
> ls21b kernel: [ 7530.621126] [<ffffffff80472c40>] ip_local_deliver_finish+0x54/0x20f
> ls21b kernel: [ 7530.659168] [<ffffffff80472d20>] ip_local_deliver_finish+0x134/0x20f
> ls21b kernel: [ 7530.697724] [<ffffffff804732cc>] ip_local_deliver+0x72/0x7a
> ls21b kernel: [ 7530.731609] [<ffffffff80472b7c>] ip_rcv_finish+0x3c0/0x430
> ls21b kernel: [ 7530.764977] [<ffffffff8044d9a6>] netif_receive_skb+0x10e/0x44d
> ls21b kernel: [ 7530.800422] [<ffffffff80473223>] ip_rcv+0x326/0x35d
> ls21b kernel: [ 7530.830148] [<ffffffff8044dc77>] netif_receive_skb+0x3df/0x44d
> ls21b kernel: [ 7530.865603] [<ffffffff8814d44a>] :bnx2:bnx2_poll+0x1262/0x14a4
> ls21b kernel: [ 7530.901039] [<ffffffff8034817d>] __next_cpu+0x19/0x28
> ls21b kernel: [ 7530.931805] [<ffffffff802323a1>] find_busiest_group+0x252/0x6da
> ls21b kernel: [ 7530.967768] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
> ls21b kernel: [ 7531.002693] [<ffffffff8025c46a>] trace_hardirqs_off+0x39/0xdc
> ls21b kernel: [ 7531.037612] [<ffffffff8025c21f>] check_chain_key+0x9c/0x15f
> ls21b kernel: [ 7531.071501] [<ffffffff8026012b>] __lock_acquire+0xdee/0xf06
> ls21b kernel: [ 7531.105386] [<ffffffff80450476>] net_rx_action+0x75/0x234
> ls21b kernel: [ 7531.138233] [<ffffffff80450476>] net_rx_action+0x75/0x234
> ls21b kernel: [ 7531.171074] [<ffffffff804504ed>] net_rx_action+0xec/0x234
> ls21b kernel: [ 7531.203920] [<ffffffff80243f02>] __do_softirq+0x5f/0xe3
> ls21b kernel: [ 7531.235721] [<ffffffff8020d5cc>] call_softirq+0x1c/0x28
> ls21b kernel: [ 7531.267528] [<ffffffff8020ecdf>] do_softirq+0x45/0x108
> ls21b kernel: [ 7531.298811] [<ffffffff80243ea1>] irq_exit+0x4e/0x50
> ls21b kernel: [ 7531.328540] [<ffffffff8020ef3d>] do_IRQ+0x171/0x194
> ls21b kernel: [ 7531.358267] [<ffffffff8020c8c6>] ret_from_intr+0x0/0xf
> ls21b kernel: [ 7531.389549] <EOI> [<ffffffff8020b1ec>] default_idle+0x58/0x8a
> ls21b kernel: [ 7531.425096] [<ffffffff8020b1ea>] default_idle+0x56/0x8a
> ls21b kernel: [ 7531.456900] [<ffffffff8020b194>] default_idle+0x0/0x8a
> ls21b kernel: [ 7531.488186] [<ffffffff8020b2d3>] cpu_idle+0xb5/0xec
> ls21b kernel: [ 7531.517913] [<ffffffff802226f4>] start_secondary+0x3ca/0x3da
>

That is

if (WARN_ON(!tp->sacked_out && tp->fackets_out))
tp->fackets_out = 0;

2007-12-13 21:15:55

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, 13 Dec 2007 17:58:02 +0530
Gautham R Shenoy <[email protected]> wrote:

> Hi Andrew,
> On Thu, Dec 13, 2007 at 02:40:50AM -0800, Andrew Morton wrote:
> >
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
> >
> > - If something goes wrong with a PCI device's probing or initialisation, try
> > reverting pci-disable-decoding-during-sizing-of-bars.patch.
> >
> > - git-sched was dropped due to breaking suspend-to-RAM.
>
> Is it the same suspend-to-RAM problem that Jiri Slaby reported
> here --> http://lkml.org/lkml/2007/12/7/125

Don't think so (I hit that one too, I think).

There's no mention of get_online_cpus() in git-sched's watchdog(), and my
symptoms are that the machine appears to suspend to RAM OK (but it might
take longer to do this with git-sched applied). But it never comes back to
life after you hit the power button to resume it.

I guess I need to bisect it. That'll be novel.

2007-12-14 02:08:55

by Herbert Xu

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, Dec 13, 2007 at 09:45:54AM -0800, David Miller wrote:
> From: Benjamin Thery <[email protected]>
> Date: Thu, 13 Dec 2007 16:01:34 +0100
>
> > The problem comes from the new macro UDPX_INC_STATS_BH introduced
> > by Herbert, which was a nice addition to increment the correct
> > UDP MIB depending on the socket family, but unfortunately
> > the use of this macro from kernel code (I mean code not compiled
> > as module) requires that IPv6 is also compiled in kernel
> > (CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
> > time.
>
> Herbert, please take a look at this, thanks!

OK, let's just move udp_stats_in6 into net/ipv4/udp.c. It's only
40 bytes or less.

[UDP]: Move udp_stats_in6 into net/ipv4/udp.c

Now that external users may increment the counters directly, we need to
ensure that udp_stats_in6 is always available. Otherwise we'd either
have to requrie the external users to be built as modules or ipv6 to be
built-in.

This isn't too bad because udp_stats_in6 is just a pair of pointers plus
an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64.

Signed-off-by: Herbert Xu <[email protected]>

diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 9ed6393..3d60215 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -112,6 +112,9 @@
DEFINE_SNMP_STAT(struct udp_mib, udp_statistics) __read_mostly;
EXPORT_SYMBOL(udp_statistics);

+DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6) __read_mostly;
+EXPORT_SYMBOL(udp_stats_in6);
+
struct hlist_head udp_hash[UDP_HTABLE_SIZE];
DEFINE_RWLOCK(udp_hash_lock);

diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 8cbdcc9..7db5a9d 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -51,9 +51,6 @@
#include <linux/seq_file.h>
#include "udp_impl.h"

-DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6) __read_mostly;
-EXPORT_SYMBOL(udp_stats_in6);
-
static inline int udp_v6_get_port(struct sock *sk, unsigned short snum)
{
return udp_get_port(sk, snum, ipv6_rcv_saddr_equal);

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2007-12-14 05:32:52

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Hi,
The behaviour of my mp3 player (also act as usb-storage device) seems
changed from rc5 to rc5-mm1.

<dmesg output under rc5>:
=========
usb 1-7: new high speed USB device using ehci_hcd and address 7
usb 1-7: configuration #1 chosen from 1 choice
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 7
usb-storage: waiting for device to settle before scanning
scsi 4:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 4:0:0:0: [sdb] Write Protect is on
sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 4:0:0:0: [sdb] Write Protect is on
sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 4:0:0:0: [sdb] Attached SCSI removable disk
sd 4:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan complete

==========
try mount it (or just blockdev --rereadpt), then write protect become off:
==========

sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 4:0:0:0: [sdb] Write Protect is off
sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 4:0:0:0: [sdb] Write Protect is off
sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1

But under rc5-mm1, after mount command being executed, it is just
mouted as read only partition without set the write-protect to off

I tried "blockdev --rereadpt", it do set the write-protect to off as rc5 kernel.

Below is the output of dmesg under rc5-mm1
==========
usb 1-8: new high speed USB device using ehci_hcd and address 6
usb 1-8: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 6
usb-storage: waiting for device to settle before scanning
scsi 3:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 3:0:0:0: [sdb] Write Protect is on
sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
sd 3:0:0:0: [sdb] Write Protect is on
sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1

Regards
dave
sd 3:0:0:0: [sdb] Attached SCSI removable disk
sd 3:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan complete


Regards
dave

2007-12-14 08:53:29

by Herbert Xu

[permalink] [raw]
Subject: Re: (was Re: 2.6.24-rc5-mm1) crypto/authenc.c select symbol in Kconfig

On Thu, Dec 13, 2007 at 06:46:37PM +0100, Borislav Petkov wrote:
>
> which fails because crypto_hash_type is declared in crypto/hash.c. You might wanna
> fix it like so:
>
> Signed-off-by: Borislav Petkov <[email protected]>

Patch applied. Thanks for picking this up.

> --- crypto/Kconfig.orig 2007-12-13 18:44:19.000000000 +0100
> +++ crypto/Kconfig 2007-12-13 18:39:00.000000000 +0100

BTW please generate patch -p1 patches in future.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2007-12-14 09:51:26

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, 13 Dec 2007 17:58:02 +0530 Gautham R Shenoy <[email protected]> wrote:

> Hi Andrew,
> On Thu, Dec 13, 2007 at 02:40:50AM -0800, Andrew Morton wrote:
> >
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
> >
> > - If something goes wrong with a PCI device's probing or initialisation, try
> > reverting pci-disable-decoding-during-sizing-of-bars.patch.
> >
> > - git-sched was dropped due to breaking suspend-to-RAM.
>
> Is it the same suspend-to-RAM problem that Jiri Slaby reported
> here --> http://lkml.org/lkml/2007/12/7/125
>
> The problem has been identified and a fix patch was provided.
>

Here we go...

From: Andrew Morton <[email protected]>

Revert from git-sched:

commit 9e76ad89f4fa93a789326bc0f4548cd2fbca8d8e
Author: Gregory Haskins <[email protected]>
Date: Thu Dec 13 21:35:26 2007 +0100

sched: update root-domain spans upon departure

We shouldnt leave cpus enabled in the spans if that RQ has left the domain.

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

As it causes my t61p to fail to come back to life after suspend-to-RAM.

Cc: Gautham R Shenoy <[email protected]>
Cc: Gregory Haskins <[email protected]>
Cc: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

kernel/sched.c | 3 ---
1 file changed, 3 deletions(-)

diff -puN kernel/sched.c~revert-sched-update-root-domain-spans-upon-departure kernel/sched.c
--- a/kernel/sched.c~revert-sched-update-root-domain-spans-upon-departure
+++ a/kernel/sched.c
@@ -5854,9 +5854,6 @@ static void rq_attach_root(struct rq *rq
class->leave_domain(rq);
}

- cpu_clear(rq->cpu, old_rd->span);
- cpu_clear(rq->cpu, old_rd->online);
-
if (atomic_dec_and_test(&old_rd->refcount))
kfree(old_rd);
}
_

2007-12-14 13:21:22

by Gregory Haskins

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

>>> On Fri, Dec 14, 2007 at 4:49 AM, in message
<[email protected]>, Andrew Morton
<[email protected]> wrote:
> On Thu, 13 Dec 2007 17:58:02 +0530 Gautham R Shenoy <[email protected]> wrote:
>
>> Hi Andrew,
>> On Thu, Dec 13, 2007 at 02:40:50AM -0800, Andrew Morton wrote:
>> >
>> >
>> >
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.
> 24-rc5-mm1/
>> >
>> > - If something goes wrong with a PCI device's probing or initialisation, try
>> > reverting pci-disable-decoding-during-sizing-of-bars.patch.
>> >
>> > - git-sched was dropped due to breaking suspend-to-RAM.
>>
>> Is it the same suspend-to-RAM problem that Jiri Slaby reported
>> here --> http://lkml.org/lkml/2007/12/7/125
>>
>> The problem has been identified and a fix patch was provided.
>>
>
> Here we go...
>
> From: Andrew Morton <[email protected]>
>
> Revert from git-sched:
>
> commit 9e76ad89f4fa93a789326bc0f4548cd2fbca8d8e
> Author: Gregory Haskins <[email protected]>
> Date: Thu Dec 13 21:35:26 2007 +0100
>
> sched: update root-domain spans upon departure
>
> We shouldnt leave cpus enabled in the spans if that RQ has left the
> domain.
>
> Signed-off-by: Gregory Haskins <[email protected]>
> Signed-off-by: Ingo Molnar <[email protected]>
>
> As it causes my t61p to fail to come back to life after suspend-to-RAM.


Ouch. Sorry guys, my bad.

I can't tell what is wrong by visual inspection so I will have to dig deeper.

Regards,
-Greg

2007-12-14 14:09:05

by Dhaval Giani

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Hi Andrew,

I hit this just now. Not sure if I can reproduce it though.

WARNING: at net/ipv4/tcp_input.c:2533 tcp_fastretrans_alert()
Pid: 4624, comm: yield Not tainted 2.6.24-rc5-mm1 #5
[<c010582a>] show_trace_log_lvl+0x12/0x22
[<c0105847>] show_trace+0xd/0xf
[<c0105959>] dump_stack+0x57/0x5e
[<c03db95b>] tcp_fastretrans_alert+0xde/0x5bd
[<c03dcab2>] tcp_ack+0x236/0x2e4
[<c03dea01>] tcp_rcv_established+0x51e/0x5c0
[<c03e56f1>] tcp_v4_do_rcv+0x22/0xc4
[<c03e5c49>] tcp_v4_rcv+0x4b6/0x7f5
[<c03cd5ad>] ip_local_deliver_finish+0xb9/0x169
[<c03cd68a>] ip_local_deliver+0x2d/0x34
[<c03cd91d>] ip_rcv_finish+0x28c/0x2ab
[<c03cdb16>] ip_rcv+0x1da/0x204
[<c03b800a>] netif_receive_skb+0x23c/0x26f
[<c02db326>] tg3_rx+0x246/0x353
[<c02db4ac>] tg3_poll_work+0x79/0x86
[<c02db4e8>] tg3_poll+0x2f/0x16f
[<c03b822b>] net_rx_action+0xbb/0x1a8
[<c0129596>] __do_softirq+0x73/0xe6
[<c0129642>] do_softirq+0x39/0x51
[<c01296c0>] irq_exit+0x47/0x49
[<c01064f4>] do_IRQ+0x55/0x69
[<c0105492>] common_interrupt+0x2e/0x34
=======================

--
regards,
Dhaval

2007-12-14 15:44:51

by Alan Stern

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Fri, 14 Dec 2007, Dave Young wrote:

> Hi,
> The behaviour of my mp3 player (also act as usb-storage device) seems
> changed from rc5 to rc5-mm1.

This can't be considered a bug, right? It's just that the player
changed from one slightly non-standard behavior to a different slightly
non-standard behavior.

> <dmesg output under rc5>:
> =========
> usb 1-7: new high speed USB device using ehci_hcd and address 7
> usb 1-7: configuration #1 chosen from 1 choice
> scsi4 : SCSI emulation for USB Mass Storage devices
> usb-storage: device found at 7
> usb-storage: waiting for device to settle before scanning
> scsi 4:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 4:0:0:0: [sdb] Write Protect is on
> sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> sd 4:0:0:0: [sdb] Assuming drive cache: write through
> sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 4:0:0:0: [sdb] Write Protect is on
> sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> sd 4:0:0:0: [sdb] Assuming drive cache: write through
> sdb: sdb1
> sd 4:0:0:0: [sdb] Attached SCSI removable disk
> sd 4:0:0:0: Attached scsi generic sg1 type 0
> usb-storage: device scan complete
>
> ==========
> try mount it (or just blockdev --rereadpt), then write protect become off:
> ==========
>
> sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 4:0:0:0: [sdb] Write Protect is off
> sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> sd 4:0:0:0: [sdb] Assuming drive cache: write through
> sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 4:0:0:0: [sdb] Write Protect is off
> sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> sd 4:0:0:0: [sdb] Assuming drive cache: write through
> sdb: sdb1

This output won't appear if you simply mount the device. So how do you
know that mounting turns off write protect?

> But under rc5-mm1, after mount command being executed, it is just
> mouted as read only partition without set the write-protect to off
>
> I tried "blockdev --rereadpt", it do set the write-protect to off as rc5 kernel.
>
> Below is the output of dmesg under rc5-mm1
> ==========
> usb 1-8: new high speed USB device using ehci_hcd and address 6
> usb 1-8: configuration #1 chosen from 1 choice
> scsi3 : SCSI emulation for USB Mass Storage devices
> usb-storage: device found at 6
> usb-storage: waiting for device to settle before scanning
> scsi 3:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 3:0:0:0: [sdb] Write Protect is on
> sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> sd 3:0:0:0: [sdb] Assuming drive cache: write through
> sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> sd 3:0:0:0: [sdb] Write Protect is on
> sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> sd 3:0:0:0: [sdb] Assuming drive cache: write through
> sdb: sdb1

This looks exactly the same as the output above (except for various
port, device, and bus numbers).

If you turn on CONFIG_USB_STORAGE_DEBUG for both kernels and compare
the dmesg output for the mount command, that might highlight the
difference.

Alan Stern

2007-12-14 19:38:52

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

From: Herbert Xu <[email protected]>
Date: Fri, 14 Dec 2007 10:08:07 +0800

> [UDP]: Move udp_stats_in6 into net/ipv4/udp.c
>
> Now that external users may increment the counters directly, we need to
> ensure that udp_stats_in6 is always available. Otherwise we'd either
> have to requrie the external users to be built as modules or ipv6 to be
> built-in.
>
> This isn't too bad because udp_stats_in6 is just a pair of pointers plus
> an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64.
>
> Signed-off-by: Herbert Xu <[email protected]>

Applied.

2007-12-15 19:20:39

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

FWIW, I got the following at reboot after some tests were finished:

get_unused_fd: slot 3 not NULL!
get_unised_fd: slot 4 not NULL!
general protection fault: 0000 [1] PREEMPT SMP
last sysfs file /sys/class/scsh_host/host1/link_power_management_policy

and that's all.

2007-12-15 23:59:58

by Jiri Slaby

[permalink] [raw]
Subject: broken suspend, sometimes (drm related) [Was: 2.6.24-rc5-mm1]

On 12/13/2007 11:40 AM, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

Broken @#$%^ suspend, again (and maybe still for a longer time). Unable to
reproduce this with netconsole.

trace led to i915_suspend
call pci_bus_read_config_byte #
movq 8(%rbx), %rdi # <variable>.mmio_map, <variable>.mmio_map
movq 24(%rdi), %rax # <variable>.handle, D.24395
movl 458760(%rax), %eax #, D.24397

address in rax (i.e. dev_priv->mmio_map->handle) is broken, at least it seems so
from the part of the trace and RIP.

movl %eax, 408(%rbx) # D.24397, <variable>.savePIPEACONF
movq 24(%rdi), %rax # <variable>.handle, temp.676
movl 393244(%rax), %eax #, D.24399

in
pci_save_state(dev->pdev);
pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);

/* Pipe & plane A info */
--> dev_priv->savePIPEACONF = I915_READ(PIPEACONF);

I use distro pm-utils and it chvt's to some terminal, write out the output,
suspend, resume, switch back to X.

The patch I'm currently using for debugging:
Index: BH/drivers/char/drm/i915_drv.c
===================================================================
--- BH.orig/drivers/char/drm/i915_drv.c
+++ BH/drivers/char/drm/i915_drv.c
@@ -274,9 +274,18 @@ static int i915_suspend(struct drm_devic
return -ENODEV;
}

+ if (!dev_priv->mmio_map || !dev_priv->mmio_map->handle) {
+ printk(KERN_ERR "BAD BAD BAD %p %p\n", dev_priv->mmio_map,
+ dev_priv->mmio_map ? dev_priv->mmio_map->handle : NULL);
+ return -EIO;
+ }
+
pci_save_state(dev->pdev);
pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);

+ printk(KERN_ERR "\n\n\nmap %p, HANDLE: %p\n\n\n", dev_priv->mmio_map,
+ dev_priv->mmio_map->handle);
+ msleep(5000);
/* Pipe & plane A info */
dev_priv->savePIPEACONF = I915_READ(PIPEACONF);
dev_priv->savePIPEASRC = I915_READ(PIPEASRC);
Index: BH/drivers/char/drm/drm_bufs.c
===================================================================
--- BH.orig/drivers/char/drm/drm_bufs.c
+++ BH/drivers/char/drm/drm_bufs.c
@@ -136,6 +136,7 @@ static int drm_addmap_core(struct drm_de
return -EINVAL;
}
map->mtrr = -1;
+ printk("BLE %s a: map %p, handle %p\n", __func__, map, map->handle);
map->handle = NULL;

switch (map->type) {
@@ -183,6 +184,7 @@ static int drm_addmap_core(struct drm_de
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
return -ENOMEM;
}
+ printk("BLE %s b: map %p, handle %p\n", __func__, map, map->handle);
}

break;
@@ -201,6 +203,7 @@ static int drm_addmap_core(struct drm_de
return 0;
}
map->handle = vmalloc_user(map->size);
+ printk("BLE %s c: map %p, handle %p\n", __func__, map, map->handle);
DRM_DEBUG("%lu %d %p\n",
map->size, drm_order(map->size), map->handle);
if (!map->handle) {
@@ -211,6 +214,7 @@ static int drm_addmap_core(struct drm_de
if (map->flags & _DRM_CONTAINS_LOCK) {
/* Prevent a 2nd X Server from creating a 2nd lock */
if (dev->lock.hw_lock != NULL) {
+ printk("BLE %s d: map %p, handle %p\n", __func__, map, map->handle);
vfree(map->handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
return -EBUSY;
@@ -281,6 +285,7 @@ static int drm_addmap_core(struct drm_de
return -ENOMEM;
}
map->handle = dmah->vaddr;
+ printk("BLE %s f: map %p, handle %p\n", __func__, map, map->handle);
map->offset = (unsigned long)dmah->busaddr;
kfree(dmah);
break;
@@ -291,6 +296,7 @@ static int drm_addmap_core(struct drm_de

list = drm_alloc(sizeof(*list), DRM_MEM_MAPS);
if (!list) {
+ printk("BLE %s g: map %p, handle %p\n", __func__, map, map->handle);
if (map->type == _DRM_REGISTERS)
iounmap(map->handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
@@ -308,6 +314,7 @@ static int drm_addmap_core(struct drm_de
map->offset;
ret = drm_map_handle(dev, &list->hash, user_token, 0);
if (ret) {
+ printk("BLE %s h: map %p, handle %p\n", __func__, map, map->handle);
if (map->type == _DRM_REGISTERS)
iounmap(map->handle);
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
@@ -355,6 +362,7 @@ int drm_addmap_ioctl(struct drm_device *
return err;

/* avoid a warning on 64-bit, this casting isn't very nice, but the API
is set so too late */
+ printk("BLE %s a: map %p, handle %p\n", __func__, map, map->handle);
map->handle = (void *)(unsigned long)maplist->user_token;
return 0;
}
@@ -398,6 +406,9 @@ int drm_rmmap_locked(struct drm_device *

switch (map->type) {
case _DRM_REGISTERS:
+ printk("BLE %s a: map %p, handle %p\n", __func__, map, map->handle);
+ dump_stack();
+ msleep(1);
iounmap(map->handle);
/* FALLTHROUGH */
case _DRM_FRAME_BUFFER:
@@ -408,12 +419,14 @@ int drm_rmmap_locked(struct drm_device *
}
break;
case _DRM_SHM:
+ printk("BLE %s b: map %p, handle %p\n", __func__, map, map->handle);
vfree(map->handle);
break;
case _DRM_AGP:
case _DRM_SCATTER_GATHER:
break;
case _DRM_CONSISTENT:
+ printk("BLE %s c: map %p, handle %p\n", __func__, map, map->handle);
dmah.vaddr = map->handle;
dmah.busaddr = map->offset;
dmah.size = map->size;
Index: BH/drivers/char/drm/drm_memory.c
===================================================================
--- BH.orig/drivers/char/drm/drm_memory.c
+++ BH/drivers/char/drm/drm_memory.c
@@ -233,11 +233,13 @@ void drm_core_ioremap(struct drm_map *ma
map->handle = agp_remap(map->offset, map->size, dev);
else
map->handle = ioremap(map->offset, map->size);
+ printk("BLE %s: map %p, handle %p\n", __func__, map, map->handle);
}
EXPORT_SYMBOL(drm_core_ioremap);

void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
{
+ printk("BLE %s a: map %p, handle %p\n", __func__, map, map->handle);
if (!map->handle || !map->size)
return;

@@ -246,5 +248,6 @@ void drm_core_ioremapfree(struct drm_map
vunmap(map->handle);
else
iounmap(map->handle);
+ printk("BLE %s b: map %p, handle %p\n", __func__, map, map->handle);
}
EXPORT_SYMBOL(drm_core_ioremapfree);
Index: BH/drivers/char/drm/drm_vm.c
===================================================================
--- BH.orig/drivers/char/drm/drm_vm.c
+++ BH/drivers/char/drm/drm_vm.c
@@ -245,15 +245,18 @@ static void drm_vm_shm_close(struct vm_a
map->size);
DRM_DEBUG("mtrr_del = %d\n", retcode);
}
+ printk("BLE %s a: map %p, handle %p\n", __func__, map, map->handle);
iounmap(map->handle);
break;
case _DRM_SHM:
+ printk("BLE %s b: map %p, handle %p\n", __func__, map, map->handle);
vfree(map->handle);
break;
case _DRM_AGP:
case _DRM_SCATTER_GATHER:
break;
case _DRM_CONSISTENT:
+ printk("BLE %s c: map %p, handle %p\n", __func__, map, map->handle);
dmah.vaddr = map->handle;
dmah.busaddr = map->offset;
dmah.size = map->size;




And the output:

BLE drm_addmap_core a: map ffff81007bd7de40, handle ffff81007bd7de00
BLE drm_addmap_core c: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_rmmap_locked b: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_rmmap_locked a: map ffff81007d02c940, handle ffffc20010380000
BLE drm_addmap_core a: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_addmap_core c: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_rmmap_locked b: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_addmap_core a: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_addmap_core c: map ffff81007bd7de40, handle ffffc20010092000
BLE drm_addmap_core a: map ffff81007bd7da00, handle ffff81007bd7da80
BLE drm_addmap_ioctl a: map ffff81007bd7dc00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7da00, handle 0000000000000000
BLE drm_addmap_ioctl a: map ffff81007bd7dc00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7df80, handle ffff81007cc33e10
BLE drm_addmap_core b: map ffff81007bd7df80, handle ffffc20010380000
BLE drm_addmap_ioctl a: map ffff81007bd7dc00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7d840, handle ffff81007cc33e10
BLE drm_addmap_ioctl a: map ffff81007bd7dc00, handle 0000000000000000
BLE drm_core_ioremap: map ffff81007d0ab050, handle ffffc20010240000
set status page addr 0x00033000
BLE drm_core_ioremap: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_addmap_core a: map ffff81007bd7dbc0, handle 0000000000000000
BLE drm_addmap_ioctl a: map ffff81007bd7df00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7d5c0, handle 0000000000001000
BLE drm_addmap_ioctl a: map ffff81007bd7df00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7d740, handle 0000000000000000
BLE drm_addmap_ioctl a: map ffff81007bd7df00, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7d080, handle 0000000000001000
BLE drm_addmap_ioctl a: map ffff81007bd7df00, handle 0000000000000000
BLE drm_core_ioremapfree a: map ffff81007d0ab050, handle ffffc20010240000
BLE drm_core_ioremapfree b: map ffff81007d0ab050, handle ffffc20010240000
BLE drm_core_ioremapfree a: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_core_ioremapfree b: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_rmmap_locked a: map ffff81007bd7df80, handle ffffc20010380000
BLE drm_rmmap_locked b: map ffff81007bd7de40, handle ffffc20010092000
PM: Syncing filesystems ... done.
PM: Preparing system for mem sleep
Freezing user space processes ... (elapsed 0.00 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
PM: Entering mem sleep
sd 2:0:0:0: [sdc] Synchronizing SCSI cache
sd 2:0:0:0: [sdc] Stopping disk
sd 1:0:0:0: [sdb] Synchronizing SCSI cache
sd 1:0:0:0: [sdb] Stopping disk
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
drm_sysfs_suspend
map ffff81007bd7df80, HANDLE: ffff81007cc33e10

What's this HANDLE address, it has probably nothing to do with the mapping --
note that "BLE drm_addmap_core a" is _between_ "map = drm_alloc" and map->handle
= NULL;". How this address leaked to the i915 handle? Maybe some other place I
haven't spotted which changes handle? Anyway, the mapping ffff81007bd7df80 seems
to be removed in last but one line ("BLE drm_rmmap_locked a").

next suspend/resume try:
BLE drm_addmap_core a: map ffff81007c2d9b00, handle 0000000000000000
BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
BLE drm_addmap_core a: map ffff81007c2d90c0, handle 8000000000000000
BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007c2d90c0, handle 0000000000000000
BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007c2d9800, handle 0000000000000000
BLE drm_addmap_core b: map ffff81007c2d9800, handle ffffc20010380000
BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007c2d9e80, handle ffff81007c2d9d40
BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
BLE drm_core_ioremap: map ffff81007d0ab050, handle ffffc20010240000
set status page addr 0x00033000
BLE drm_core_ioremap: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_addmap_core a: map ffff81007bd7d440, handle 6632785c63766632
BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007bd7d700, handle 6632785c63766632
BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007c16f840, handle ffff81007c16f680
BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
BLE drm_addmap_core a: map ffff81007c16f2c0, handle ffff81007cc33e10
BLE drm_addmap_ioctl a: map ffff81007c16f640, handle 0000000000000000
BLE drm_core_ioremapfree a: map ffff81007d0ab050, handle ffffc20010240000
BLE drm_core_ioremapfree b: map ffff81007d0ab050, handle ffffc20010240000
BLE drm_core_ioremapfree a: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_core_ioremapfree b: map ffff81007d0ab098, handle ffffc20010096000
BLE drm_rmmap_locked a: map ffff81007c2d9800, handle ffffc20010380000
BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
PM: Syncing filesystems ... done.
PM: Preparing system for mem sleep
Freezing user space processes ... (elapsed 0.00 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
PM: Entering mem sleep
sd 2:0:0:0: [sdc] Synchronizing SCSI cache
sd 2:0:0:0: [sdc] Stopping disk
sd 1:0:0:0: [sdb] Synchronizing SCSI cache
sd 1:0:0:0: [sdb] Stopping disk
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
drm_sysfs_suspend
BAD BAD BAD ffff81007c2d9800 0000000000000000
suspend_device(): drm_sysfs_suspend+0x0/0x40() returns -5
Could not suspend device card0: error -5
sd 0:0:0:0: [sda] Starting disk

I;m out of ideas, please give me a clue.

2007-12-16 00:17:27

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: cat /proc/net/packet -> oops

Hello,

As one of usual tests I run the following script:

for i in `find /proc -type f`; do
echo -n "cat $i > /dev/null ... ";
cat $i > /dev/null;
echo "done";
done

This time the culprit is /proc/net/packet. cat process gets killed

$ cat /proc/net/packet
Segmentation fault

and lost in lots of messages from the script but for some reason there is no
info in syslog (why?). I could capture the oops only when issued sysrq-7
or grater. That's why I didn't catch the oops earlier.

I found it because the bug makes my sparc64 box need a hardware reset most of the
time it happens and produces oops 2 screens long. x86 kills the cat process but
system is still usable and running fine. Bisection points to:

git-ubi.patch
GOOD
#
git-net.patch
BAD
ipsec-fix-reversed-icmp6-policy-check.patch

but this seems to be far from precise :)

$ grep ^commit git-net.patch | wc -l
361

Not sure if this is important but when bisecting the mm tree the oops got shorter
at some point so maybe some other patch is also involved. This one is from x86:

[ 194.508398] BUG: unable to handle kernel paging request at virtual address bbbbbd47
[ 194.508412] printing eip: c0135d59 *pde = 00000000
[ 194.508419] Oops: 0000 [#1] PREEMPT
[ 194.508424] last sysfs file: /devices/pci0000:00/0000:00:01.0/0000:01:05.0/resource
[ 194.508428] Modules linked in: usbhid hid orinoco_cs orinoco hermes pcmcia firmware_class uhci_hcd ehci_hcd usbcore psmouse yenta_socket rsrc_nonstatic rtc 8139too
[ 194.508443]
[ 194.508447] Pid: 5368, comm: cat Not tainted (2.6.24-rc5 #9)
[ 194.508450] EIP: 0060:[<c0135d59>] EFLAGS: 00210046 CPU: 0
[ 194.508466] EIP is at __lock_acquire+0x5b/0xfc4
[ 194.508469] EAX: 00200002 EBX: 00200246 ECX: bbbbbd43 EDX: 00000002
[ 194.508472] ESI: bbbbbd43 EDI: 00000000 EBP: d816ce80 ESP: d816ce14
[ 194.508475] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
[ 194.508479] Process cat (pid: 5368, ti=d816c000 task=d826a000 task.ti=d816c000)
[ 194.508481] Stack: c0135a21 d826a000 00000000 d816ce38 c0135697 00000000 d826a000 c0146ded
[ 194.508490] c1304f98 00000002 00000000 bbbbbd43 00000001 d826a000 d816cec0 c013681d
[ 194.508498] 00000006 00000003 c03daa08 00000001 00000044 000002ad 00000000 00000005
[ 194.508506] Call Trace:
[ 194.508508] [<c01035d8>] show_trace_log_lvl+0x1a/0x30
[ 194.508518] [<c0103693>] show_stack_log_lvl+0xa5/0xca
[ 194.508523] [<c0103787>] show_registers+0xcf/0x23f
[ 194.508528] [<c0103a04>] die+0x10d/0x1f5
[ 194.508532] [<c0110cee>] do_page_fault+0x27e/0x5f0
[ 194.508540] [<c034684a>] error_code+0x6a/0x70
[ 194.508550] [<c0136d20>] lock_acquire+0x5e/0x76
[ 194.508555] [<c03461a6>] _read_lock+0x35/0x42
[ 194.508560] [<c02d957a>] sock_i_ino+0x14/0x30
[ 194.508568] [<c032c7e8>] packet_seq_show+0x19/0xa0
[ 194.508576] [<c0179f5c>] seq_read+0x19a/0x29e
[ 194.508583] [<c0191b25>] proc_reg_read+0x57/0x78
[ 194.508590] [<c0161c8a>] vfs_read+0x89/0x11d
[ 194.508596] [<c0162054>] sys_read+0x3d/0x64
[ 194.508600] [<c010261a>] sysenter_past_esp+0x5f/0xa5
[ 194.508605] =======================
[ 194.508607] Code: c0 85 c0 0f 84 64 03 00 00 9c 58 f6 c4 02 0f 85 b8 07 00 00 83 ff 07 0f 87 de 07 00 00 85 ff 8d 76 00 0f 85 4f 03 00 00 8b 4d c0 <8b> 71 04 85 f6 0f 84 41 03 00 00 89 f0 e8 d8 d7 ff ff 85 c0 0f
[ 194.508651] EIP: [<c0135d59>] __lock_acquire+0x5b/0xfc4 SS:ESP 0068:d816ce14
[ 194.508660] note: cat[5368] exited with preempt_count 2

.config attached.

Regards,

Mariusz


Attachments:
(No filename) (3.43 kB)
.config (40.76 kB)
Download all attachments

2007-12-16 03:07:33

by Herbert Xu

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: cat /proc/net/packet -> oops

Mariusz Kozlowski <[email protected]> wrote:
>
> git-ubi.patch
> GOOD
> #
> git-net.patch
> BAD
> ipsec-fix-reversed-icmp6-policy-check.patch
>
> but this seems to be far from precise :)

I suspect namespace borkage. But just because you pin-pointed
my patch I'll try to track it down :)

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2007-12-16 03:41:48

by Herbert Xu

[permalink] [raw]
Subject: [PACKET]: Fix /proc/net/packet crash due to bogus private pointer

On Sun, Dec 16, 2007 at 11:07:07AM +0800, Herbert Xu wrote:
>
> I suspect namespace borkage. But just because you pin-pointed
> my patch I'll try to track it down :)

Surprise surprise. The namespace seq patch missed two spots in
AF_PACKET.

[PACKET]: Fix /proc/net/packet crash due to bogus private pointer

The seq_open_net patch changed the meaning of seq->private.
Unfortunately it missed two spots in AF_PACKET, which still
used the old way of dereferencing seq->private, thus causing
weird and wonderful crashes when reading /proc/net/packet.

This patch fixes them.

Signed-off-by: Herbert Xu <[email protected]>

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 485af56..43e49f4 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1878,7 +1878,7 @@ static void *packet_seq_start(struct seq_file *seq, loff_t *pos)

static void *packet_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
- struct net *net = seq->private;
+ struct net *net = seq_file_net(seq);
++*pos;
return (v == SEQ_START_TOKEN)
? sk_head(&net->packet.sklist)
@@ -1887,7 +1887,7 @@ static void *packet_seq_next(struct seq_file *seq, void *v, loff_t *pos)

static void packet_seq_stop(struct seq_file *seq, void *v)
{
- struct net *net = seq->private;
+ struct net *net = seq_file_net(seq);
read_unlock(&net->packet.sklist_lock);
}


Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2007-12-16 09:11:09

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Sat, 15 Dec 2007 22:20:24 +0300 Alexey Dobriyan <[email protected]> wrote:

> FWIW, I got the following at reboot after some tests were finished:
>
> get_unused_fd: slot 3 not NULL!
> get_unised_fd: slot 4 not NULL!
> general protection fault: 0000 [1] PREEMPT SMP
> last sysfs file /sys/class/scsh_host/host1/link_power_management_policy
>
> and that's all.

Beats me - nobody has been fiddling with that code for a while. Worrisome.

2007-12-16 10:09:15

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Hello,

cat /proc/kpageflags on sparc64 causes the box to lock.
I can not write on any terminal - but I can issue sysrqs and switch
between consoles.

cat process hangs in read(3, ...

sysrq-w shows:

syslogd D 000000000069240c 0 2470 1
Call Trace:
[0000000000692224]
[0000000000692224]
[0000000000692224]
[0000000000692224]
[0000000000692224]
[0000000000692224]

2007-12-16 10:12:48

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

> cat /proc/kpageflags on sparc64 causes the box to lock.
> I can not write on any terminal - but I can issue sysrqs and switch
> between consoles.
>
> cat process hangs in read(3, ...
>
> sysrq-w shows:
>
> syslogd D 000000000069240c 0 2470 1
> Call Trace:
> [0000000000692224]
> [0000000000692224]
> [0000000000692224]
> [0000000000692224]
> [0000000000692224]
> [0000000000692224]

aggrh ... please ignore.

Sent by mistake when retyping info from sparc (no camera right now :/)

Will reply soon with correct data.

2007-12-16 10:40:13

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Hello

> Will reply soon with correct data.

Ok here it goes:

cat /proc/kpageflags on sparc64 causes the box to lock.
I can not write on any terminal - but I can issue sysrqs and switch
between consoles.

cat process hangs in read(3, ...

sysrq-w shows:

syslogd D 000000000069240c 0 2470 1
Call Trace:
[0000000000692224] __down+0x8c/0x100
[000000000069240c] __down_interruptible+0x174/0x1a0
[00000000006935d4] mutex_trylock+0xfc/0x1e0
[0000000000695c7c] lock_kernel+0x24/0x40
[00000000005b0cc0] tty_write+0x168/0x200
[00000000004d0b08] do_loop_readv_writev+0x30/0x60
[0000000000507540] compat_do_readv_writev+0x268/0x280
[00000000005075b0] compat_sys_writev+0x58/0x80
[00000000004062d4] linux_sparc_syscall32+0x3c/0x40
[00000000f7e3f408] 0xf7e3f410

then when I try to ssh to the sparc machine I fail but at sparc you
can see this:

BUG: soft lockup - CPU#0 stuck for 11s! [sshd:3227]
TSTATE: 0000009911009607 TPC: 0000000000430c2c TNPC:0000000000430c30 Y: 00000000 Not tainted
TCP: <__delay+0x34/0x60>
g0: 0000000000000000 g1: 00000042875103e3 g2: 0000000000430800 g3: 000000000001869c
g4: fffff800bf086100 g5: fffff8007f832000 g6: fffff800be4a0000 g7: 0000000000000004
o0: 00000042875103e3 o1: 0000000000000000 o2: 0000000000430c78 o3: 0000000000000000
o4: 7fffffffffffffff o5: ffffffffffffffff sp: fffff800be4a2e81 ret_pc: 0000000000430c24
RPC: <__delay+0x2c/0x60>
l0: 00000042875100df l1: 00000000007a4000 l2: 0000000000000000 l3: 00000000007d9000
l4: 0000000000000000 l5: 0000000000000001 l6: 0000000000000000 l7: 0000000000000000
i0: 0000000000000382 i1: fffff800be4a0400 i2: 0000000000445d3c i3: 0000000000000000
i4: 0000000000000002 i5: 000000000045388c i6: fffff800be4a2f41 i7: 0000000000430c6c
I7: <udelay+0x14/0x20>

When this happens box seems to react only to sysrq-b or manual reset.
Anything else is useless.

Regards,

Mariusz


Attachments:
(No filename) (1.84 kB)
.config (25.12 kB)
Download all attachments

2007-12-16 10:46:41

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: [PACKET]: Fix /proc/net/packet crash due to bogus private pointer

Hello,

> Surprise surprise. The namespace seq patch missed two spots in
> AF_PACKET.
>
> [PACKET]: Fix /proc/net/packet crash due to bogus private pointer
>
> The seq_open_net patch changed the meaning of seq->private.
> Unfortunately it missed two spots in AF_PACKET, which still
> used the old way of dereferencing seq->private, thus causing
> weird and wonderful crashes when reading /proc/net/packet.
>
> This patch fixes them.

True :) It fixes both my x86 and sprac64. Thanks.

Mariusz

2007-12-16 11:39:09

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

> cat /proc/kpageflags on sparc64 causes the box to lock.
> I can not write on any terminal - but I can issue sysrqs and switch
> between consoles.
>
> cat process hangs in read(3, ...

cat /proc/kpagecount produces similar symptoms. box is locked - sysrq-w sshd trace:

__down
__down_interruptible
kobject_get
lock_kernel
chrdev_open
__dentry_open
nameidata_to_filp
open_pathname
do_sys_open
sparc32_open
linux_sparc_syscall32

then again:

BUG: soft lockup - CPU#0 stuck for 11s! [sshd:3242]
...
TPC: spitfire_xcall_helper+0xa0/0x100
...
RPC: spitfire_xcall_helper+0xac/0x100
...
I7: flush_dcache_page_all+0x1a4/0x1e0

or:

BUG: soft lockup - CPU#0 stuck for 11s! [sshd:3242]
...
TPC: tick_get_tick+0xc/0x20
...
RPC: __handle_softirq_continue+0x20/0x24
...
I7: __delay+0x2c/0x60

Box is unusable. Easy to reproduce - every time.

Regards,

Mariusz

2007-12-16 18:27:53

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Sun, Dec 16, 2007 at 12:40:53PM +0100, Mariusz Kozlowski wrote:
> > cat /proc/kpageflags on sparc64 causes the box to lock.
> > I can not write on any terminal - but I can issue sysrqs and switch
> > between consoles.
> >
> > cat process hangs in read(3, ...
>
> cat /proc/kpagecount produces similar symptoms. box is locked - sysrq-w sshd trace:
>
> __down
> __down_interruptible
> kobject_get
> lock_kernel
> chrdev_open
> __dentry_open
> nameidata_to_filp
> open_pathname
> do_sys_open
> sparc32_open
> linux_sparc_syscall32

Perhaps this is related to sparsemem.

Can you change line 710 of fs/proc/proc_misc.c to:

ppage = NULL;

..and see if it still breaks?

--
Mathematics is the supreme nostalgia of our time.

2007-12-16 18:46:48

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

> > > cat /proc/kpageflags on sparc64 causes the box to lock.
> > > I can not write on any terminal - but I can issue sysrqs and switch
> > > between consoles.
> > >
> > > cat process hangs in read(3, ...
> >
> > cat /proc/kpagecount produces similar symptoms. box is locked - sysrq-w sshd trace:
> >
> > __down
> > __down_interruptible
> > kobject_get
> > lock_kernel
> > chrdev_open
> > __dentry_open
> > nameidata_to_filp
> > open_pathname
> > do_sys_open
> > sparc32_open
> > linux_sparc_syscall32
>
> Perhaps this is related to sparsemem.
>
> Can you change line 710 of fs/proc/proc_misc.c to:
>
> ppage = NULL;

Sure.

> ..and see if it still breaks?

Yes it does - the same way as eariler. Box is locked, processes stuck in D state
and after a while "BUG: soft lockup - CPU#0 stuck for 11s!".

2007-12-16 19:08:19

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Witam,

> > > > cat /proc/kpageflags on sparc64 causes the box to lock.
> > > > I can not write on any terminal - but I can issue sysrqs and switch
> > > > between consoles.
> > > >
> > > > cat process hangs in read(3, ...
> > >
> > > cat /proc/kpagecount produces similar symptoms. box is locked - sysrq-w sshd trace:
> > >
> > > __down
> > > __down_interruptible
> > > kobject_get
> > > lock_kernel
> > > chrdev_open
> > > __dentry_open
> > > nameidata_to_filp
> > > open_pathname
> > > do_sys_open
> > > sparc32_open
> > > linux_sparc_syscall32
> >
> > Perhaps this is related to sparsemem.
> >
> > Can you change line 710 of fs/proc/proc_misc.c to:
> >
> > ppage = NULL;
>
> Sure.
>
> > ..and see if it still breaks?
>
> Yes it does - the same way as eariler. Box is locked, processes stuck in D state
> and after a while "BUG: soft lockup - CPU#0 stuck for 11s!".

My mistake. I run cat /proc/kpageflags in the first place - so how could anything change :)

cat /proc/kpagecount on the other hand - with the change in line 710 - locks the box.
Sysrq works, changing consoles works, but there is no "BUG: soft lockup ..." message.
After a while the box becomes totaly unresponsive - even caps lock doesn't work, no
responses to ping.

2007-12-16 22:04:50

by David Miller

[permalink] [raw]
Subject: Re: [PACKET]: Fix /proc/net/packet crash due to bogus private pointer

From: Herbert Xu <[email protected]>
Date: Sun, 16 Dec 2007 11:41:20 +0800

> [PACKET]: Fix /proc/net/packet crash due to bogus private pointer
>
> The seq_open_net patch changed the meaning of seq->private.
> Unfortunately it missed two spots in AF_PACKET, which still
> used the old way of dereferencing seq->private, thus causing
> weird and wonderful crashes when reading /proc/net/packet.
>
> This patch fixes them.
>
> Signed-off-by: Herbert Xu <[email protected]>

Applied to net-2.6.25, thanks Herbert.

2007-12-17 01:14:25

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Dec 14, 2007 11:44 PM, Alan Stern <[email protected]> wrote:
> On Fri, 14 Dec 2007, Dave Young wrote:
>
> > Hi,
> > The behaviour of my mp3 player (also act as usb-storage device) seems
> > changed from rc5 to rc5-mm1.
>
> This can't be considered a bug, right?

I'm not sure.

> It's just that the player
> changed from one slightly non-standard behavior to a different slightly
> non-standard behavior.
>
>
> > <dmesg output under rc5>:
> > =========
> > usb 1-7: new high speed USB device using ehci_hcd and address 7
> > usb 1-7: configuration #1 chosen from 1 choice
> > scsi4 : SCSI emulation for USB Mass Storage devices
> > usb-storage: device found at 7
> > usb-storage: waiting for device to settle before scanning
> > scsi 4:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 4:0:0:0: [sdb] Write Protect is on
> > sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 4:0:0:0: [sdb] Write Protect is on
> > sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > sdb: sdb1
> > sd 4:0:0:0: [sdb] Attached SCSI removable disk
> > sd 4:0:0:0: Attached scsi generic sg1 type 0
> > usb-storage: device scan complete
> >
> > ==========
> > try mount it (or just blockdev --rereadpt), then write protect become off:
> > ==========
> >
> > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 4:0:0:0: [sdb] Write Protect is off
> > sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 4:0:0:0: [sdb] Write Protect is off
> > sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > sdb: sdb1
>
> This output won't appear if you simply mount the device. So how do you
> know that mounting turns off write protect?

This can be observed by eye:
dmesg -> mount -> dmesg

>
> > But under rc5-mm1, after mount command being executed, it is just
> > mouted as read only partition without set the write-protect to off
> >
> > I tried "blockdev --rereadpt", it do set the write-protect to off as rc5 kernel.
> >
> > Below is the output of dmesg under rc5-mm1
> > ==========
> > usb 1-8: new high speed USB device using ehci_hcd and address 6
> > usb 1-8: configuration #1 chosen from 1 choice
> > scsi3 : SCSI emulation for USB Mass Storage devices
> > usb-storage: device found at 6
> > usb-storage: waiting for device to settle before scanning
> > scsi 3:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> > sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 3:0:0:0: [sdb] Write Protect is on
> > sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > sd 3:0:0:0: [sdb] Assuming drive cache: write through
> > sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > sd 3:0:0:0: [sdb] Write Protect is on
> > sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > sd 3:0:0:0: [sdb] Assuming drive cache: write through
> > sdb: sdb1
>
> This looks exactly the same as the output above (except for various
> port, device, and bus numbers).

Yes, but lacks the part of "'Write Protect if off' and other lines".

>
> If you turn on CONFIG_USB_STORAGE_DEBUG for both kernels and compare
> the dmesg output for the mount command, that might highlight the
> difference.

Ok, I will test with do once have time, thanks.

Regards
dave

2007-12-17 02:12:40

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Sun, Dec 16, 2007 at 08:10:10PM +0100, Mariusz Kozlowski wrote:
> > > Can you change line 710 of fs/proc/proc_misc.c to:
> > >
> > > ppage = NULL;
> >
> > Sure.
> >
> > > ..and see if it still breaks?
> >
> > Yes it does - the same way as eariler. Box is locked, processes stuck in D state
> > and after a while "BUG: soft lockup - CPU#0 stuck for 11s!".
>
> My mistake. I run cat /proc/kpageflags in the first place - so how
> could anything change :)
>
> cat /proc/kpagecount on the other hand - with the change in line 710
> - locks the box. Sysrq works, changing consoles works, but there is
> no "BUG: soft lockup ..." message. After a while the box becomes
> totaly unresponsive - even caps lock doesn't work, no responses to
> ping.

Well I'm baffled. There's basically two things in that function that
do anything interesting: pfn_to_page and put_user. access_ok is
"return 1" on Sparc64. atomic_read is a simple read.

My usual approach at this point would be to litter it with printks and
see where its hanging.

But as the function doesn't actually show up in your stack trace,
something else is probably wrong. So I'd also try commenting out
pieces of that function until it started working.

--
Mathematics is the supreme nostalgia of our time.

2007-12-17 04:26:26

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

From: Matt Mackall <[email protected]>
Date: Sun, 16 Dec 2007 20:11:49 -0600

> But as the function doesn't actually show up in your stack trace,
> something else is probably wrong. So I'd also try commenting out
> pieces of that function until it started working.

Some piece of state is being indirectly corrupted and this
is showing up later in some unrelated operation.

Can someone send me this kpageflags patch under seperate
cover? I'll try figure out why it farts on sparc64.

2007-12-17 06:39:47

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Sun, 16 Dec 2007 20:26:11 -0800 (PST) David Miller <[email protected]> wrote:

> From: Matt Mackall <[email protected]>
> Date: Sun, 16 Dec 2007 20:11:49 -0600
>
> > But as the function doesn't actually show up in your stack trace,
> > something else is probably wrong. So I'd also try commenting out
> > pieces of that function until it started working.
>
> Some piece of state is being indirectly corrupted and this
> is showing up later in some unrelated operation.
>
> Can someone send me this kpageflags patch under seperate
> cover? I'll try figure out why it farts on sparc64.

hm, non trivial. It's the third-from-last patch in:

maps4-add-proportional-set-size-accounting-in-smaps.patch
maps4-rework-task_size-macros.patch
maps4-rework-task_size-macros-mips-fix.patch
maps4-move-is_swap_pte.patch
maps4-introduce-a-generic-page-walker.patch
maps4-use-pagewalker-in-clear_refs-and-smaps.patch
maps4-simplify-interdependence-of-maps-and-smaps.patch
maps4-move-clear_refs-code-to-task_mmuc.patch
maps4-regroup-task_mmu-by-interface.patch
maps4-add-proc-pid-pagemap-interface.patch
maps4-add-proc-kpagecount-interface.patch
maps4-add-proc-kpageflags-interface.patch
maps4-make-page-monitoring-proc-file-optional.patch
maps4-make-page-monitoring-proc-file-optional-fix.patch

from
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/broken-out

That patch series does apply OK to mainline though.

2007-12-17 14:56:24

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Sun, Dec 16, 2007 at 10:39:17PM -0800, Andrew Morton wrote:
> On Sun, 16 Dec 2007 20:26:11 -0800 (PST) David Miller <[email protected]> wrote:
>
> > From: Matt Mackall <[email protected]>
> > Date: Sun, 16 Dec 2007 20:11:49 -0600
> >
> > > But as the function doesn't actually show up in your stack trace,
> > > something else is probably wrong. So I'd also try commenting out
> > > pieces of that function until it started working.
> >
> > Some piece of state is being indirectly corrupted and this
> > is showing up later in some unrelated operation.
> >
> > Can someone send me this kpageflags patch under seperate
> > cover? I'll try figure out why it farts on sparc64.
>
> hm, non trivial. It's the third-from-last patch in:
>
> maps4-add-proportional-set-size-accounting-in-smaps.patch
> maps4-rework-task_size-macros.patch
> maps4-rework-task_size-macros-mips-fix.patch
> maps4-move-is_swap_pte.patch
> maps4-introduce-a-generic-page-walker.patch
> maps4-use-pagewalker-in-clear_refs-and-smaps.patch
> maps4-simplify-interdependence-of-maps-and-smaps.patch
> maps4-move-clear_refs-code-to-task_mmuc.patch
> maps4-regroup-task_mmu-by-interface.patch
> maps4-add-proc-pid-pagemap-interface.patch

Actually, you may only need these two:

> maps4-add-proc-kpagecount-interface.patch
> maps4-add-proc-kpageflags-interface.patch

--
Mathematics is the supreme nostalgia of our time.

2007-12-17 17:02:45

by Jesse Barnes

[permalink] [raw]
Subject: Re: broken suspend, sometimes (drm related) [Was: 2.6.24-rc5-mm1]

> next suspend/resume try:
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle 0000000000000000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d90c0, handle 8000000000000000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d90c0, handle 0000000000000000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d9800, handle 0000000000000000
> BLE drm_addmap_core b: map ffff81007c2d9800, handle ffffc20010380000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d9e80, handle ffff81007c2d9d40
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_core_ioremap: map ffff81007d0ab050, handle ffffc20010240000
> set status page addr 0x00033000
> BLE drm_core_ioremap: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_addmap_core a: map ffff81007bd7d440, handle 6632785c63766632
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007bd7d700, handle 6632785c63766632
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c16f840, handle ffff81007c16f680
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c16f2c0, handle ffff81007cc33e10
> BLE drm_addmap_ioctl a: map ffff81007c16f640, handle 0000000000000000
> BLE drm_core_ioremapfree a: map ffff81007d0ab050, handle ffffc20010240000
> BLE drm_core_ioremapfree b: map ffff81007d0ab050, handle ffffc20010240000
> BLE drm_core_ioremapfree a: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_core_ioremapfree b: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_rmmap_locked a: map ffff81007c2d9800, handle ffffc20010380000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> PM: Syncing filesystems ... done.
> PM: Preparing system for mem sleep
> Freezing user space processes ... (elapsed 0.00 seconds) done.
> Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
> PM: Entering mem sleep
> sd 2:0:0:0: [sdc] Synchronizing SCSI cache
> sd 2:0:0:0: [sdc] Stopping disk
> sd 1:0:0:0: [sdb] Synchronizing SCSI cache
> sd 1:0:0:0: [sdb] Stopping disk
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Stopping disk
> drm_sysfs_suspend
> BAD BAD BAD ffff81007c2d9800 0000000000000000
> suspend_device(): drm_sysfs_suspend+0x0/0x40() returns -5
> Could not suspend device card0: error -5
> sd 0:0:0:0: [sda] Starting disk
>
> I;m out of ideas, please give me a clue.

This sounds a lot like a problem we had recently. The driver wasn't
preserving its mappings across X startup/shutdown (drm open/close) and so
you'd see crashes like this. It should be fixed already in DRM git.

Jesse

2007-12-17 19:03:30

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Hello,

> > cat /proc/kpagecount on the other hand - with the change in line 710
> > - locks the box. Sysrq works, changing consoles works, but there is
> > no "BUG: soft lockup ..." message. After a while the box becomes
> > totaly unresponsive - even caps lock doesn't work, no responses to
> > ping.
>
> Well I'm baffled. There's basically two things in that function that
> do anything interesting: pfn_to_page and put_user. access_ok is
> "return 1" on Sparc64. atomic_read is a simple read.
>
> My usual approach at this point would be to litter it with printks and
> see where its hanging.

Ok. Maybe this will help. Don't know how to compare that to the results from yesterday
(test with ppage = NULL) - maybe I f.... something up. This time I added a bunch
of printks and got these results:

This is from 'cat /proc/kpageflags' (after this the box is locked):

01
pfn:0, src:0, KPMSIZE:8
23458
ppage:0000000200000000, pfn:1

and the relevant code:

static ssize_t kpageflags_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{

u64 __user *out = (u64 __user *)buf;
struct page *ppage;
unsigned long src = *ppos;
unsigned long pfn;
ssize_t ret = 0;
u64 kflags, uflags;

printk("0");

if (!access_ok(VERIFY_WRITE, buf, count))
return -EFAULT;

printk("1");
pfn = src / KPMSIZE;
printk("\npfn:%u, src:%u, KPMSIZE:%d\n", pfn, src, KPMSIZE);
count = min_t(unsigned long, count, (max_pfn * KPMSIZE) - src);

printk("2");
if (src & KPMMASK || count & KPMMASK)
return -EIO;

printk("3");
while (count > 0) {
printk("4");
ppage = pfn_to_page(pfn++);
printk("5");
if (!ppage) {
printk("6");
kflags = 0;
printk("7");
} else {
printk("8");
printk("\nppage:%p, pfn:%u\n", ppage, pfn);
kflags = ppage->flags; // <---------------- something bad happens
printk("9");
}

printk("a");



This is from 'cat /proc/kpagecount' (after this the box is locked)

01
pfn:0, src:0, KPMSIZE:8
23567a
ppage:0000000200000000, pfn:1

and this is the relevant code:

static ssize_t kpagecount_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{

u64 __user *out = (u64 __user *)buf;
struct page *ppage;
unsigned long src = *ppos;
unsigned long pfn;
ssize_t ret = 0;
u64 pcount;
printk("0");
if (!access_ok(VERIFY_WRITE, buf, count))
return -EFAULT;

printk("1");
pfn = src / KPMSIZE;
printk("\npfn:%u, src:%u, KPMSIZE:%d\n", pfn, src, KPMSIZE);

printk("2");
count = min_t(size_t, count, (max_pfn * KPMSIZE) - src);
printk("3");
if (src & KPMMASK || count & KPMMASK) {

printk("4");
return -EIO;
}
printk("5");
while (count > 0) {
printk("6");
ppage = pfn_to_page(pfn++);
printk("7");
if (!ppage) {
printk("8");
pcount = 0;
} else {
printk("a");
printk("\nppage:%p, pfn:%u\n", ppage, pfn);
pcount = atomic_read(&ppage->_count); // <---------------- something bad happens
printk("b");
}


Regards,

Mariusz

2007-12-17 22:45:31

by Valdis Klētnieks

[permalink] [raw]
Subject: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

OK, so I'm trying to 'dd' a CD and the drive on the laptop is having issues
reading the disk.

I try it once, and get an I/O error about 117M in - dd reports 1.7M/sec.

I try it again, and it reports it died at the same exact place, but in about
2 seconds flat, and reports 91M/sec transfer. OK, that's *weird*, I didn't
think that blocks read from /dev/cdrom would get cached, but OK. So I try
the obviously stupid thing:

# echo 1 >| /proc/sys/vm/drop_caches

Alas, that hangs gloriously - 'echo t > /proc/sysrq-trigger' tells me:

Dec 17 17:30:02 turing-police kernel: [20235.823201] bash D 0000000000000001 5288 15123 15085
Dec 17 17:30:02 turing-police kernel: [20235.823206] ffff81007ba7de28 0000000000000086 0000000000000000 0000000000000000
Dec 17 17:30:02 turing-police kernel: [20235.823210] ffff81007bbd9000 ffff81007d70e000 ffff81007bbd9248 00000001019e3e48
Dec 17 17:30:02 turing-police kernel: [20235.823214] ffffe20000f36028 ffffe200012b9978 ffffe20000eece48 ffffe20001164188
Dec 17 17:30:02 turing-police kernel: [20235.823218] Call Trace:
Dec 17 17:30:02 turing-police kernel: [20235.823224] [<ffffffff80523e20>] __down_read+0x87/0xa1
Dec 17 17:30:02 turing-police kernel: [20235.823229] [<ffffffff8024bc13>] down_read+0x9/0xe
Dec 17 17:30:02 turing-police kernel: [20235.823232] [<ffffffff802abafe>] drop_pagecache+0x3a/0x8c
Dec 17 17:30:02 turing-police kernel: [20235.823235] [<ffffffff802abb72>] drop_caches_sysctl_handler+0x22/0x38
Dec 17 17:30:02 turing-police kernel: [20235.823239] [<ffffffff802d2b70>] proc_sys_write+0x7e/0xa6
Dec 17 17:30:02 turing-police kernel: [20235.823244] [<ffffffff8028e18c>] vfs_write+0xc7/0x170
Dec 17 17:30:02 turing-police kernel: [20235.823248] [<ffffffff8028e772>] sys_write+0x47/0x70
Dec 17 17:30:02 turing-police kernel: [20235.823251] [<ffffffff8020c34c>] tracesys+0xdc/0xe1

Yowza. And no, I don't dare to try to reproduce it until Thursday at the
earliest, I need a mostly-stable machine the next 2 days. ;)


Attachments:
(No filename) (226.00 B)

2007-12-17 22:56:58

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Mon, 17 Dec 2007 17:44:11 -0500
[email protected] wrote:

> On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>
> OK, so I'm trying to 'dd' a CD and the drive on the laptop is having issues
> reading the disk.
>
> I try it once, and get an I/O error about 117M in - dd reports 1.7M/sec.
>
> I try it again, and it reports it died at the same exact place, but in about
> 2 seconds flat, and reports 91M/sec transfer. OK, that's *weird*, I didn't
> think that blocks read from /dev/cdrom would get cached, but OK.

It'll remain cached if something is holding the device open.

> So I try
> the obviously stupid thing:
>
> # echo 1 >| /proc/sys/vm/drop_caches
>
> Alas, that hangs gloriously - 'echo t > /proc/sysrq-trigger' tells me:
>
> Dec 17 17:30:02 turing-police kernel: [20235.823201] bash D 0000000000000001 5288 15123 15085
> Dec 17 17:30:02 turing-police kernel: [20235.823206] ffff81007ba7de28 0000000000000086 0000000000000000 0000000000000000
> Dec 17 17:30:02 turing-police kernel: [20235.823210] ffff81007bbd9000 ffff81007d70e000 ffff81007bbd9248 00000001019e3e48
> Dec 17 17:30:02 turing-police kernel: [20235.823214] ffffe20000f36028 ffffe200012b9978 ffffe20000eece48 ffffe20001164188
> Dec 17 17:30:02 turing-police kernel: [20235.823218] Call Trace:
> Dec 17 17:30:02 turing-police kernel: [20235.823224] [<ffffffff80523e20>] __down_read+0x87/0xa1
> Dec 17 17:30:02 turing-police kernel: [20235.823229] [<ffffffff8024bc13>] down_read+0x9/0xe
> Dec 17 17:30:02 turing-police kernel: [20235.823232] [<ffffffff802abafe>] drop_pagecache+0x3a/0x8c
> Dec 17 17:30:02 turing-police kernel: [20235.823235] [<ffffffff802abb72>] drop_caches_sysctl_handler+0x22/0x38
> Dec 17 17:30:02 turing-police kernel: [20235.823239] [<ffffffff802d2b70>] proc_sys_write+0x7e/0xa6
> Dec 17 17:30:02 turing-police kernel: [20235.823244] [<ffffffff8028e18c>] vfs_write+0xc7/0x170
> Dec 17 17:30:02 turing-police kernel: [20235.823248] [<ffffffff8028e772>] sys_write+0x47/0x70
> Dec 17 17:30:02 turing-police kernel: [20235.823251] [<ffffffff8020c34c>] tracesys+0xdc/0xe1
>

Something's holding s_umount for writing I guess. Possibly busted error
handling somewhere totally different.

2007-12-18 02:08:16

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Mon, 17 Dec 2007 14:56:44 PST, Andrew Morton said:

(Adding Al Viro to the list, he's listed as "file systems" and MAINTAINERS
doesn't list 'isofs' anyplace. Will Al or Andrew please vector to whoever
actually does that code?)

> > I try it again, and it reports it died at the same exact place, but in about
> > 2 seconds flat, and reports 91M/sec transfer. OK, that's *weird*, I didn't
> > think that blocks read from /dev/cdrom would get cached, but OK.
>
> It'll remain cached if something is holding the device open.

Does it need to be "device open", or are there other things as well? If the
drop_cache was hosed, that would result in the same symptoms, no?

> Something's holding s_umount for writing I guess. Possibly busted error
> handling somewhere totally different.

Aha - found what was holding it - an attempt to loopback mount the truncated
file (before I realized it was truncated) had failed - I had gotten a 'Killed'
back from the mount, but I didn't realize it had pulled an actual oops:

Dec 17 15:54:33 turing-police kernel: [14503.402385] attempt to access beyond end of device
Dec 17 15:54:33 turing-police kernel: [14503.402391] loop1: rw=0, want=1284500, limit=314240
Dec 17 15:54:33 turing-police kernel: [14503.402395] ISOFS: unable to read i-node block
Dec 17 15:54:33 turing-police kernel: [14503.402428] Unable to handle kernel NULL pointer dereference at 000000000000010b RIP:
Dec 17 15:54:33 turing-police kernel: [14503.402440] [<ffffffff802a096b>] iput+0x11/0x80
...
Dec 17 15:54:33 turing-police kernel: [14503.403008] Call Trace:
Dec 17 15:54:33 turing-police kernel: [14503.403026] [<ffffffff802ff73e>] isofs_fill_super+0x7e9/0xa6b
Dec 17 15:54:33 turing-police kernel: [14503.403045] [<ffffffff80523d28>] __down_write_nested+0x3d/0xa1
Dec 17 15:54:33 turing-police kernel: [14503.403061] [<ffffffff80523d97>] __down_write+0xb/0xd
Dec 17 15:54:33 turing-police kernel: [14503.403076] [<ffffffff8028fb63>] sget+0x397/0x3a9
Dec 17 15:54:33 turing-police kernel: [14503.403090] [<ffffffff8028f204>] set_bdev_super+0x0/0x14
Dec 17 15:54:33 turing-police kernel: [14503.403106] [<ffffffff80290301>] get_sb_bdev+0x109/0x157
Dec 17 15:54:33 turing-police kernel: [14503.403120] [<ffffffff802fef55>] isofs_fill_super+0x0/0xa6b
Dec 17 15:54:33 turing-police kernel: [14503.403138] [<ffffffff802fe2e9>] isofs_get_sb+0x13/0x15
Dec 17 15:54:33 turing-police kernel: [14503.403151] [<ffffffff80290075>] vfs_kern_mount+0x90/0x11a
Dec 17 15:54:33 turing-police kernel: [14503.403167] [<ffffffff8029015c>] do_kern_mount+0x47/0xe3
Dec 17 15:54:33 turing-police kernel: [14503.403183] [<ffffffff802a5012>] do_mount+0x717/0x78a
Dec 17 15:54:33 turing-police kernel: [14503.403199] [<ffffffff805242fc>] _read_lock_irq+0x9/0xb
Dec 17 15:54:33 turing-police kernel: [14503.403212] [<ffffffff8026cce0>] find_lock_page+0x8c/0x97
Dec 17 15:54:33 turing-police kernel: [14503.403227] [<ffffffff8026ecb6>] filemap_fault+0x1fa/0x3c6
Dec 17 15:54:33 turing-police kernel: [14503.403241] [<ffffffff8026cb6b>] unlock_page+0x2d/0x31
Dec 17 15:54:33 turing-police kernel: [14503.403254] [<ffffffff8027925c>] __do_fault+0x38d/0x3c3
Dec 17 15:54:33 turing-police kernel: [14503.403274] [<ffffffff8027ab68>] handle_mm_fault+0x36d/0x6e9
Dec 17 15:54:33 turing-police kernel: [14503.403293] [<ffffffff80271903>] __alloc_pages+0x68/0x2f6
Dec 17 15:54:33 turing-police kernel: [14503.403314] [<ffffffff802a510e>] sys_mount+0x89/0xcb
Dec 17 15:54:33 turing-police kernel: [14503.403328] [<ffffffff80214f34>] syscall_trace_enter+0x97/0x9b
Dec 17 15:54:33 turing-police kernel: [14503.403344] [<ffffffff8020c34c>] tracesys+0xdc/0xe1
Dec 17 15:54:33 turing-police kernel: [14503.403359]
Dec 17 15:54:33 turing-police kernel: [14503.403366]
Dec 17 15:54:33 turing-police kernel: [14503.403367] Code: 48 8b 87 10 01 00 00 48 83 bf 38 02 00 00 40 48 8b 40 38 75

I don't mind it failing the mount, but the oops seems excessive. I suspect
that *somewhere* in that stack trace, we're wanting something like a

if (!foo_ptr)
return -EIO;

but I admit not being competent enough to decide where that should be.


Attachments:
(No filename) (226.00 B)

2007-12-18 02:33:20

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Mon, Dec 17, 2007 at 09:07:56PM -0500, [email protected] wrote:
> On Mon, 17 Dec 2007 14:56:44 PST, Andrew Morton said:
>
> (Adding Al Viro to the list, he's listed as "file systems" and MAINTAINERS
> doesn't list 'isofs' anyplace. Will Al or Andrew please vector to whoever
> actually does that code?)
>
> > > I try it again, and it reports it died at the same exact place, but in about
> > > 2 seconds flat, and reports 91M/sec transfer. OK, that's *weird*, I didn't
> > > think that blocks read from /dev/cdrom would get cached, but OK.
> >
> > It'll remain cached if something is holding the device open.
>
> Does it need to be "device open", or are there other things as well? If the
> drop_cache was hosed, that would result in the same symptoms, no?
>
> > Something's holding s_umount for writing I guess. Possibly busted error
> > handling somewhere totally different.
>
> Aha - found what was holding it - an attempt to loopback mount the truncated
> file (before I realized it was truncated) had failed - I had gotten a 'Killed'
> back from the mount, but I didn't realize it had pulled an actual oops:
>
> Dec 17 15:54:33 turing-police kernel: [14503.402385] attempt to access beyond end of device
> Dec 17 15:54:33 turing-police kernel: [14503.402391] loop1: rw=0, want=1284500, limit=314240
> Dec 17 15:54:33 turing-police kernel: [14503.402395] ISOFS: unable to read i-node block
> Dec 17 15:54:33 turing-police kernel: [14503.402428] Unable to handle kernel NULL pointer dereference at 000000000000010b RIP:
> Dec 17 15:54:33 turing-police kernel: [14503.402440] [<ffffffff802a096b>] iput+0x11/0x80
> ...
> Dec 17 15:54:33 turing-police kernel: [14503.403008] Call Trace:
> Dec 17 15:54:33 turing-police kernel: [14503.403026] [<ffffffff802ff73e>] isofs_fill_super+0x7e9/0xa6b
> Dec 17 15:54:33 turing-police kernel: [14503.403045] [<ffffffff80523d28>] __down_write_nested+0x3d/0xa1
> Dec 17 15:54:33 turing-police kernel: [14503.403061] [<ffffffff80523d97>] __down_write+0xb/0xd
> Dec 17 15:54:33 turing-police kernel: [14503.403076] [<ffffffff8028fb63>] sget+0x397/0x3a9
> Dec 17 15:54:33 turing-police kernel: [14503.403090] [<ffffffff8028f204>] set_bdev_super+0x0/0x14
> Dec 17 15:54:33 turing-police kernel: [14503.403106] [<ffffffff80290301>] get_sb_bdev+0x109/0x157
> Dec 17 15:54:33 turing-police kernel: [14503.403120] [<ffffffff802fef55>] isofs_fill_super+0x0/0xa6b
> Dec 17 15:54:33 turing-police kernel: [14503.403138] [<ffffffff802fe2e9>] isofs_get_sb+0x13/0x15
> Dec 17 15:54:33 turing-police kernel: [14503.403151] [<ffffffff80290075>] vfs_kern_mount+0x90/0x11a
> Dec 17 15:54:33 turing-police kernel: [14503.403167] [<ffffffff8029015c>] do_kern_mount+0x47/0xe3
> Dec 17 15:54:33 turing-police kernel: [14503.403183] [<ffffffff802a5012>] do_mount+0x717/0x78a
> Dec 17 15:54:33 turing-police kernel: [14503.403199] [<ffffffff805242fc>] _read_lock_irq+0x9/0xb
> Dec 17 15:54:33 turing-police kernel: [14503.403212] [<ffffffff8026cce0>] find_lock_page+0x8c/0x97
> Dec 17 15:54:33 turing-police kernel: [14503.403227] [<ffffffff8026ecb6>] filemap_fault+0x1fa/0x3c6
> Dec 17 15:54:33 turing-police kernel: [14503.403241] [<ffffffff8026cb6b>] unlock_page+0x2d/0x31
> Dec 17 15:54:33 turing-police kernel: [14503.403254] [<ffffffff8027925c>] __do_fault+0x38d/0x3c3
> Dec 17 15:54:33 turing-police kernel: [14503.403274] [<ffffffff8027ab68>] handle_mm_fault+0x36d/0x6e9
> Dec 17 15:54:33 turing-police kernel: [14503.403293] [<ffffffff80271903>] __alloc_pages+0x68/0x2f6
> Dec 17 15:54:33 turing-police kernel: [14503.403314] [<ffffffff802a510e>] sys_mount+0x89/0xcb
> Dec 17 15:54:33 turing-police kernel: [14503.403328] [<ffffffff80214f34>] syscall_trace_enter+0x97/0x9b
> Dec 17 15:54:33 turing-police kernel: [14503.403344] [<ffffffff8020c34c>] tracesys+0xdc/0xe1
> Dec 17 15:54:33 turing-police kernel: [14503.403359]
> Dec 17 15:54:33 turing-police kernel: [14503.403366]
> Dec 17 15:54:33 turing-police kernel: [14503.403367] Code: 48 8b 87 10 01 00 00 48 83 bf 38 02 00 00 40 48 8b 40 38 75
>
> I don't mind it failing the mount, but the oops seems excessive. I suspect
> that *somewhere* in that stack trace, we're wanting something like a
>
> if (!foo_ptr)
> return -EIO;
>
> but I admit not being competent enough to decide where that should be.
>

Hi,
Could you please try the below patch:

Signed-off-by: Dave Young <[email protected]>

---
fs/isofs/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -upr linux/fs/isofs/inode.c linux.new/fs/isofs/inode.c
--- linux/fs/isofs/inode.c 2007-12-18 10:31:12.000000000 +0800
+++ linux.new/fs/isofs/inode.c 2007-12-18 10:31:56.000000000 +0800
@@ -1414,7 +1414,7 @@ struct inode *isofs_iget(struct super_bl
ret = isofs_read_inode(inode);
if (ret < 0) {
iget_failed(inode);
- inode = ERR_PTR(ret);
+ return NULL;
} else {
unlock_new_inode(inode);
}

2007-12-18 02:53:32

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Tue, 18 Dec 2007 10:37:32 +0800 Dave Young <[email protected]> wrote:

> On Mon, Dec 17, 2007 at 09:07:56PM -0500, [email protected] wrote:
> > On Mon, 17 Dec 2007 14:56:44 PST, Andrew Morton said:
> >
> > (Adding Al Viro to the list, he's listed as "file systems" and MAINTAINERS
> > doesn't list 'isofs' anyplace. Will Al or Andrew please vector to whoever
> > actually does that code?)
> >
> > > > I try it again, and it reports it died at the same exact place, but in about
> > > > 2 seconds flat, and reports 91M/sec transfer. OK, that's *weird*, I didn't
> > > > think that blocks read from /dev/cdrom would get cached, but OK.
> > >
> > > It'll remain cached if something is holding the device open.
> >
> > Does it need to be "device open", or are there other things as well? If the
> > drop_cache was hosed, that would result in the same symptoms, no?
> >
> > > Something's holding s_umount for writing I guess. Possibly busted error
> > > handling somewhere totally different.
> >
> > Aha - found what was holding it - an attempt to loopback mount the truncated
> > file (before I realized it was truncated) had failed - I had gotten a 'Killed'
> > back from the mount, but I didn't realize it had pulled an actual oops:
> >
> > Dec 17 15:54:33 turing-police kernel: [14503.402385] attempt to access beyond end of device
> > Dec 17 15:54:33 turing-police kernel: [14503.402391] loop1: rw=0, want=1284500, limit=314240
> > Dec 17 15:54:33 turing-police kernel: [14503.402395] ISOFS: unable to read i-node block
> > Dec 17 15:54:33 turing-police kernel: [14503.402428] Unable to handle kernel NULL pointer dereference at 000000000000010b RIP:
> > Dec 17 15:54:33 turing-police kernel: [14503.402440] [<ffffffff802a096b>] iput+0x11/0x80
> > ...
> > Dec 17 15:54:33 turing-police kernel: [14503.403008] Call Trace:
> > Dec 17 15:54:33 turing-police kernel: [14503.403026] [<ffffffff802ff73e>] isofs_fill_super+0x7e9/0xa6b
> > Dec 17 15:54:33 turing-police kernel: [14503.403045] [<ffffffff80523d28>] __down_write_nested+0x3d/0xa1
> > Dec 17 15:54:33 turing-police kernel: [14503.403061] [<ffffffff80523d97>] __down_write+0xb/0xd
> > Dec 17 15:54:33 turing-police kernel: [14503.403076] [<ffffffff8028fb63>] sget+0x397/0x3a9
> > Dec 17 15:54:33 turing-police kernel: [14503.403090] [<ffffffff8028f204>] set_bdev_super+0x0/0x14
> > Dec 17 15:54:33 turing-police kernel: [14503.403106] [<ffffffff80290301>] get_sb_bdev+0x109/0x157
> > Dec 17 15:54:33 turing-police kernel: [14503.403120] [<ffffffff802fef55>] isofs_fill_super+0x0/0xa6b
> > Dec 17 15:54:33 turing-police kernel: [14503.403138] [<ffffffff802fe2e9>] isofs_get_sb+0x13/0x15
> > Dec 17 15:54:33 turing-police kernel: [14503.403151] [<ffffffff80290075>] vfs_kern_mount+0x90/0x11a
> > Dec 17 15:54:33 turing-police kernel: [14503.403167] [<ffffffff8029015c>] do_kern_mount+0x47/0xe3
> > Dec 17 15:54:33 turing-police kernel: [14503.403183] [<ffffffff802a5012>] do_mount+0x717/0x78a
> > Dec 17 15:54:33 turing-police kernel: [14503.403199] [<ffffffff805242fc>] _read_lock_irq+0x9/0xb
> > Dec 17 15:54:33 turing-police kernel: [14503.403212] [<ffffffff8026cce0>] find_lock_page+0x8c/0x97
> > Dec 17 15:54:33 turing-police kernel: [14503.403227] [<ffffffff8026ecb6>] filemap_fault+0x1fa/0x3c6
> > Dec 17 15:54:33 turing-police kernel: [14503.403241] [<ffffffff8026cb6b>] unlock_page+0x2d/0x31
> > Dec 17 15:54:33 turing-police kernel: [14503.403254] [<ffffffff8027925c>] __do_fault+0x38d/0x3c3
> > Dec 17 15:54:33 turing-police kernel: [14503.403274] [<ffffffff8027ab68>] handle_mm_fault+0x36d/0x6e9
> > Dec 17 15:54:33 turing-police kernel: [14503.403293] [<ffffffff80271903>] __alloc_pages+0x68/0x2f6
> > Dec 17 15:54:33 turing-police kernel: [14503.403314] [<ffffffff802a510e>] sys_mount+0x89/0xcb
> > Dec 17 15:54:33 turing-police kernel: [14503.403328] [<ffffffff80214f34>] syscall_trace_enter+0x97/0x9b
> > Dec 17 15:54:33 turing-police kernel: [14503.403344] [<ffffffff8020c34c>] tracesys+0xdc/0xe1
> > Dec 17 15:54:33 turing-police kernel: [14503.403359]
> > Dec 17 15:54:33 turing-police kernel: [14503.403366]
> > Dec 17 15:54:33 turing-police kernel: [14503.403367] Code: 48 8b 87 10 01 00 00 48 83 bf 38 02 00 00 40 48 8b 40 38 75
> >
> > I don't mind it failing the mount, but the oops seems excessive. I suspect
> > that *somewhere* in that stack trace, we're wanting something like a
> >
> > if (!foo_ptr)
> > return -EIO;
> >
> > but I admit not being competent enough to decide where that should be.
> >
>
> Hi,
> Could you please try the below patch:
>
> Signed-off-by: Dave Young <[email protected]>
>
> ---
> fs/isofs/inode.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -upr linux/fs/isofs/inode.c linux.new/fs/isofs/inode.c
> --- linux/fs/isofs/inode.c 2007-12-18 10:31:12.000000000 +0800
> +++ linux.new/fs/isofs/inode.c 2007-12-18 10:31:56.000000000 +0800
> @@ -1414,7 +1414,7 @@ struct inode *isofs_iget(struct super_bl
> ret = isofs_read_inode(inode);
> if (ret < 0) {
> iget_failed(inode);
> - inode = ERR_PTR(ret);
> + return NULL;
> } else {
> unlock_new_inode(inode);
> }
>

Yup.

David, this is concerning. More such error-path bugs in that code will
take years and years to get found and fixed. The best way to eliminate
them is a line-by-line re-review of the patchset.

2007-12-18 15:14:08

by Valdis Klētnieks

[permalink] [raw]
Subject: 2.6.24-rc5-mm1 - IPv6 throws section mismatches.

On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

git-net.patch (I'm guessing one of Daniel's commits, but not sure which one)
causes some complaints:

LD vmlinux.o
MODPOST vmlinux.o
WARNING: vmlinux.o(.init.text+0x2263f): Section mismatch: reference to .exit.text:tcpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22644): Section mismatch: reference to .exit.text:udplitev6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22649): Section mismatch: reference to .exit.text:udpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22658): Section mismatch: reference to .exit.text:addrconf_cleanup (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x226bc): Section mismatch: reference to .exit.text:rawv6_exit (between 'inet6_init' and 'ac6_proc_init')

Looks like the problem is that tcpv6_exit and friends are called from
net/ipv6/af_inet6.c:inet6_init() - which is declared as:

static int __init inet6_init(void)

I can see how calling an __exit from an __init would be Bad Juju...


Attachments:
(No filename) (226.00 B)

2007-12-18 15:14:59

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

(Adding Dave Howells, his name is on iget-stop-isofs-from-using-read_inode.patch)

On Tue, 18 Dec 2007 10:37:32 +0800, Dave Young said:

> > I don't mind it failing the mount, but the oops seems excessive. I suspect
> > that *somewhere* in that stack trace, we're wanting something like a
> >
> > if (!foo_ptr)
> > return -EIO;
> >
> > but I admit not being competent enough to decide where that should be.
> >
>
> Hi,
> Could you please try the below patch:
>
> Signed-off-by: Dave Young <[email protected]>
>
> ---
> fs/isofs/inode.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

With that patch applied, I took the ISO image (which I ended up reading on
another machine and copying over the net to get a complete usable image),
and dd'ed just the first 150M into another file, and tried to loopback mount
it. And I got:

# mount -o ro,loop /path/to/cd.partial.image /mnt/loop
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

And my dmesg says:

[ 33.622073] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 33.622125] attempt to access beyond end of device
[ 33.622129] loop0: rw=0, want=1284500, limit=300000
[ 33.622133] ISOFS: unable to read i-node block
Here is where we would oops before - now it errors out more reasonably:
[ 33.622140] ISOFS: changing to secondary root
[ 33.622148] attempt to access beyond end of device
[ 33.622151] loop0: rw=0, want=1284508, limit=300000
[ 33.622155] ISOFS: unable to read i-node block
[ 33.622159] isofs_fill_super: get root inode failed

So that fixes *this* bug. I looked in the -rc5-mm1 broken-out/, saw
the vast multitudes of 'iget-stop-<foofs>-from-using' patches, and decided
that somebody else will probably have to audit them for sanity.

In the iget-* series, there's some 184 'return ERR_PTR(-E<FOO>);' for some FOO,
and 3 other uses:

% grep ERR_PTR iget* | grep -v return
iget-stop-isofs-from-using-read_inode.patch:+ inode = ERR_PTR(ret);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:+ parent = ERR_PTR(-ENOMEM);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:- parent = ERR_PTR(-EACCES);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:- parent = ERR_PTR(-ENOMEM);

isofs is the only place we don't return a constant 'ERR_PTR(-EFOO)', but
cast somebody else's return value. I wish I understood what that tells us. ;)



Attachments:
(No filename) (226.00 B)

2007-12-18 15:17:55

by Daniel Lezcano

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - IPv6 throws section mismatches.

[email protected] wrote:
> On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>
> git-net.patch (I'm guessing one of Daniel's commits, but not sure which one)
> causes some complaints:
>
> LD vmlinux.o
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.init.text+0x2263f): Section mismatch: reference to .exit.text:tcpv6_exit (between 'inet6_init' and 'ac6_proc_init')
> WARNING: vmlinux.o(.init.text+0x22644): Section mismatch: reference to .exit.text:udplitev6_exit (between 'inet6_init' and 'ac6_proc_init')
> WARNING: vmlinux.o(.init.text+0x22649): Section mismatch: reference to .exit.text:udpv6_exit (between 'inet6_init' and 'ac6_proc_init')
> WARNING: vmlinux.o(.init.text+0x22658): Section mismatch: reference to .exit.text:addrconf_cleanup (between 'inet6_init' and 'ac6_proc_init')
> WARNING: vmlinux.o(.init.text+0x226bc): Section mismatch: reference to .exit.text:rawv6_exit (between 'inet6_init' and 'ac6_proc_init')
>
> Looks like the problem is that tcpv6_exit and friends are called from
> net/ipv6/af_inet6.c:inet6_init() - which is declared as:
>
> static int __init inet6_init(void)
>
> I can see how calling an __exit from an __init would be Bad Juju...
>

Yep, thanks Valdis for pointing that.

I sent a patch several days ago which fix that to DaveM and he applied
it to the latest net-2.6.25

--






















































Sauf indication contraire ci-dessus:
Compagnie IBM France
Si?ge Social : Tour Descartes, 2, avenue Gambetta, La D?fense 5, 92400
Courbevoie
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 542.737.118 ?
SIREN/SIRET : 552 118 465 02430

2007-12-19 01:22:39

by David Howells

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

Andrew Morton <[email protected]> wrote:

> > - inode = ERR_PTR(ret);
> > + return NULL;
> > } else {
> > unlock_new_inode(inode);
> > }
> >
>
> Yup.

Nope. The correct fix is to make the various callers use IS_ERR() to check
the result of this function rather than checking for a NULL return.

> David, this is concerning. More such error-path bugs in that code will take
> years and years to get found and fixed.

Yes, I know. I've looked over the patches several times, however I know there
may be bugs in there because I may have made assumptions about what I've
written that cause me to overlook things. It's a danger of checking your own
code:-(

> The best way to eliminate them is a line-by-line re-review of the patchset.

And ideally by someone other than me. Some of them have been reviewed by
other people, but I'm not sure that all have.

However, I've just had another look through. ISOFS appears to be the only one
in which I'd missed updating the callers. I've sent you a patch for it.

Note that I expressed reservations about three filesystems in the cover note
(FAT, HPPFS and HOSTFS), but nothing seems to have come of it.

David

2007-12-19 01:34:01

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Dec 19, 2007 9:22 AM, David Howells <[email protected]> wrote:
> Andrew Morton <[email protected]> wrote:
>
> > > - inode = ERR_PTR(ret);
> > > + return NULL;
> > > } else {
> > > unlock_new_inode(inode);
> > > }
> > >
> >
> > Yup.
>
> Nope. The correct fix is to make the various callers use IS_ERR() to check
> the result of this function rather than checking for a NULL return.
>
> > David, this is concerning. More such error-path bugs in that code will take
> > years and years to get found and fixed.
>
> Yes, I know. I've looked over the patches several times, however I know there
> may be bugs in there because I may have made assumptions about what I've
> written that cause me to overlook things. It's a danger of checking your own
> code:-(
>
> > The best way to eliminate them is a line-by-line re-review of the patchset.
>
> And ideally by someone other than me. Some of them have been reviewed by
> other people, but I'm not sure that all have.
>
> However, I've just had another look through. ISOFS appears to be the only one
> in which I'd missed updating the callers. I've sent you a patch for it.
>
> Note that I expressed reservations about three filesystems in the cover note
> (FAT, HPPFS and HOSTFS), but nothing seems to have come of it.
>
Hi,

The oops is at iput, I use 'return NULL ' is because I don't want to
change the the behaviour of iput in fs/inode.c.

Regards
dave

2007-12-19 02:06:16

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Wed, 19 Dec 2007 01:22:21 +0000 David Howells <[email protected]> wrote:

> Andrew Morton <[email protected]> wrote:
>
> > > - inode = ERR_PTR(ret);
> > > + return NULL;
> > > } else {
> > > unlock_new_inode(inode);
> > > }
> > >
> >
> > Yup.
>
> Nope. The correct fix is to make the various callers use IS_ERR() to check
> the result of this function rather than checking for a NULL return.
>
> > David, this is concerning. More such error-path bugs in that code will take
> > years and years to get found and fixed.
>
> Yes, I know. I've looked over the patches several times, however I know there
> may be bugs in there because I may have made assumptions about what I've
> written that cause me to overlook things. It's a danger of checking your own
> code:-(
>
> > The best way to eliminate them is a line-by-line re-review of the patchset.
>
> And ideally by someone other than me. Some of them have been reviewed by
> other people, but I'm not sure that all have.
>
> However, I've just had another look through. ISOFS appears to be the only one
> in which I'd missed updating the callers. I've sent you a patch for it.
>
> Note that I expressed reservations about three filesystems in the cover note
> (FAT, HPPFS and HOSTFS), but nothing seems to have come of it.
>

Nobody seems to look after hppfs. I'll resend the fat and hostfs patches to
maintainers for a review, please.

2007-12-19 03:31:55

by Jeff Dike

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

On Tue, Dec 18, 2007 at 06:04:58PM -0800, Andrew Morton wrote:
> Nobody seems to look after hppfs. I'll resend the fat and hostfs patches to
> maintainers for a review, please.

It's mine - I'll take a look at it.

Jeff

--
Work email - jdike at linux dot intel dot com

2007-12-19 07:49:44

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Dec 17, 2007 9:14 AM, Dave Young <[email protected]> wrote:
> On Dec 14, 2007 11:44 PM, Alan Stern <[email protected]> wrote:
> > On Fri, 14 Dec 2007, Dave Young wrote:
> >
> > > Hi,
> > > The behaviour of my mp3 player (also act as usb-storage device) seems
> > > changed from rc5 to rc5-mm1.
> >
> > This can't be considered a bug, right?
>
> I'm not sure.
>
>
> > It's just that the player
> > changed from one slightly non-standard behavior to a different slightly
> > non-standard behavior.
> >
> >
> > > <dmesg output under rc5>:
> > > =========
> > > usb 1-7: new high speed USB device using ehci_hcd and address 7
> > > usb 1-7: configuration #1 chosen from 1 choice
> > > scsi4 : SCSI emulation for USB Mass Storage devices
> > > usb-storage: device found at 7
> > > usb-storage: waiting for device to settle before scanning
> > > scsi 4:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> > > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 4:0:0:0: [sdb] Write Protect is on
> > > sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 4:0:0:0: [sdb] Write Protect is on
> > > sd 4:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > > sdb: sdb1
> > > sd 4:0:0:0: [sdb] Attached SCSI removable disk
> > > sd 4:0:0:0: Attached scsi generic sg1 type 0
> > > usb-storage: device scan complete
> > >
> > > ==========
> > > try mount it (or just blockdev --rereadpt), then write protect become off:
> > > ==========
> > >
> > > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 4:0:0:0: [sdb] Write Protect is off
> > > sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> > > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > > sd 4:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 4:0:0:0: [sdb] Write Protect is off
> > > sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
> > > sd 4:0:0:0: [sdb] Assuming drive cache: write through
> > > sdb: sdb1
> >
> > This output won't appear if you simply mount the device. So how do you
> > know that mounting turns off write protect?
>
> This can be observed by eye:
> dmesg -> mount -> dmesg
>
> >
> > > But under rc5-mm1, after mount command being executed, it is just
> > > mouted as read only partition without set the write-protect to off
> > >
> > > I tried "blockdev --rereadpt", it do set the write-protect to off as rc5 kernel.
> > >
> > > Below is the output of dmesg under rc5-mm1
> > > ==========
> > > usb 1-8: new high speed USB device using ehci_hcd and address 6
> > > usb 1-8: configuration #1 chosen from 1 choice
> > > scsi3 : SCSI emulation for USB Mass Storage devices
> > > usb-storage: device found at 6
> > > usb-storage: waiting for device to settle before scanning
> > > scsi 3:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> > > sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 3:0:0:0: [sdb] Write Protect is on
> > > sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > > sd 3:0:0:0: [sdb] Assuming drive cache: write through
> > > sd 3:0:0:0: [sdb] 245248 512-byte hardware sectors (126 MB)
> > > sd 3:0:0:0: [sdb] Write Protect is on
> > > sd 3:0:0:0: [sdb] Mode Sense: 03 00 80 00
> > > sd 3:0:0:0: [sdb] Assuming drive cache: write through
> > > sdb: sdb1
> >
> > This looks exactly the same as the output above (except for various
> > port, device, and bus numbers).
>
> Yes, but lacks the part of "'Write Protect if off' and other lines".
>
> >
> > If you turn on CONFIG_USB_STORAGE_DEBUG for both kernels and compare
> > the dmesg output for the mount command, that might highlight the
> > difference.
>
> Ok, I will test with do once have time, thanks.
>

There's not useful infomation with DEBUG on.

I tested on another machine with kernel 2.6.24-rc2. And the result is
diffrent again.
Here is the result:

1. on 2.6.24-rc2, when I plugin the player the kernel reports below messages:

usb-storage: waiting for device to settle before scanning
/*[lets mark the below part as part 1]*/
scsi 0:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
sd 0:0:0:0: [sda] Write Protect is on
sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
sd 0:0:0:0: [sda] Write Protect is on
sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
/*[lets mark the below part as part 2]*/
sd 0:0:0:0: [sda] Attached SCSI removable disk
usb-storage: device scan complete
sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1

2. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
disk it reports the part 2 and mount the partition as rw

3. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
disk it just mount the partition as ro with nothing more messages.

Regards
dave

2007-12-19 16:07:22

by Alan Stern

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Wed, 19 Dec 2007, Dave Young wrote:

> I tested on another machine with kernel 2.6.24-rc2. And the result is
> diffrent again.
> Here is the result:
>
> 1. on 2.6.24-rc2, when I plugin the player the kernel reports below messages:
>
> usb-storage: waiting for device to settle before scanning
> /*[lets mark the below part as part 1]*/
> scsi 0:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> sd 0:0:0:0: [sda] Write Protect is on
> sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> sd 0:0:0:0: [sda] Write Protect is on
> sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sda: sda1
> /*[lets mark the below part as part 2]*/
> sd 0:0:0:0: [sda] Attached SCSI removable disk
> usb-storage: device scan complete
> sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> sd 0:0:0:0: [sda] Write Protect is off
> sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> sd 0:0:0:0: [sda] Write Protect is off
> sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sda: sda1

This is not normal. When you plug in a storage device you should get
all of the messages in your part 1 plus the first two lines in your
part 2, but not the rest of part 2.

> 2. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> disk it reports the part 2 and mount the partition as rw
>
> 3. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> disk it just mount the partition as ro with nothing more messages.

You must have a typo there. Those can't both be true for 2.6.24-rc5.
In fact you shouldn't see part 2 at all.

Here's what I get when I plug in a USB mass-storage device under
2.6.24-rc5:

[ 87.903014] usb-storage: device found at 2
[ 87.909570] scsi 0:0:0:0: Direct-Access Memorex TD 2B 1.09 PQ: 0 ANSI: 0 CCS
[ 87.913144] usb-storage: device scan complete
[ 88.804031] sd 0:0:0:0: [sda] 243712 512-byte hardware sectors (125 MB)
[ 88.805507] sd 0:0:0:0: [sda] Write Protect is off
[ 88.805577] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
[ 88.805639] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 88.809526] sd 0:0:0:0: [sda] 243712 512-byte hardware sectors (125 MB)
[ 88.810421] sd 0:0:0:0: [sda] Write Protect is off
[ 88.810488] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
[ 88.810575] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 88.810641] sda: sda1
[ 88.812450] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 89.041014] sd 0:0:0:0: Attached scsi generic sg0 type 0

Mounting the disk produces no extra output at all. I get the same
result under 2.6.23 and earlier operating systems. You should see
approximately the same thing.

Alan Stern

2007-12-20 00:43:39

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Dec 20, 2007 12:07 AM, Alan Stern <[email protected]> wrote:
>
> On Wed, 19 Dec 2007, Dave Young wrote:
>
> > I tested on another machine with kernel 2.6.24-rc2. And the result is
> > diffrent again.
> > Here is the result:
> >
> > 1. on 2.6.24-rc2, when I plugin the player the kernel reports below messages:
> >
> > usb-storage: waiting for device to settle before scanning
> > /*[lets mark the below part as part 1]*/
> > scsi 0:0:0:0: Direct-Access Newman mp3 PQ: 0 ANSI: 0 CCS
> > sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> > sd 0:0:0:0: [sda] Write Protect is on
> > sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
> > sd 0:0:0:0: [sda] Assuming drive cache: write through
> > sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> > sd 0:0:0:0: [sda] Write Protect is on
> > sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
> > sd 0:0:0:0: [sda] Assuming drive cache: write through
> > sda: sda1
> > /*[lets mark the below part as part 2]*/
> > sd 0:0:0:0: [sda] Attached SCSI removable disk
> > usb-storage: device scan complete
> > sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> > sd 0:0:0:0: [sda] Write Protect is off
> > sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> > sd 0:0:0:0: [sda] Assuming drive cache: write through
> > sd 0:0:0:0: [sda] 245248 512-byte hardware sectors (126 MB)
> > sd 0:0:0:0: [sda] Write Protect is off
> > sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> > sd 0:0:0:0: [sda] Assuming drive cache: write through
> > sda: sda1
>
> This is not normal. When you plug in a storage device you should get
> all of the messages in your part 1 plus the first two lines in your
> part 2, but not the rest of part 2.
>
> > 2. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > disk it reports the part 2 and mount the partition as rw
> >
> > 3. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > disk it just mount the partition as ro with nothing more messages.
>
> You must have a typo there. Those can't both be true for 2.6.24-rc5.
> In fact you shouldn't see part 2 at all.
>
> Here's what I get when I plug in a USB mass-storage device under
> 2.6.24-rc5:
>
> [ 87.903014] usb-storage: device found at 2
> [ 87.909570] scsi 0:0:0:0: Direct-Access Memorex TD 2B 1.09 PQ: 0 ANSI: 0 CCS
> [ 87.913144] usb-storage: device scan complete
> [ 88.804031] sd 0:0:0:0: [sda] 243712 512-byte hardware sectors (125 MB)
> [ 88.805507] sd 0:0:0:0: [sda] Write Protect is off
> [ 88.805577] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> [ 88.805639] sd 0:0:0:0: [sda] Assuming drive cache: write through
> [ 88.809526] sd 0:0:0:0: [sda] 243712 512-byte hardware sectors (125 MB)
> [ 88.810421] sd 0:0:0:0: [sda] Write Protect is off
> [ 88.810488] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
> [ 88.810575] sd 0:0:0:0: [sda] Assuming drive cache: write through
> [ 88.810641] sda: sda1
> [ 88.812450] sd 0:0:0:0: [sda] Attached SCSI removable disk
> [ 89.041014] sd 0:0:0:0: Attached scsi generic sg0 type 0
>
> Mounting the disk produces no extra output at all. I get the same
> result under 2.6.23 and earlier operating systems. You should see
> approximately the same thing.

Hi, Alan

I'm sure about my post. I'm not so famillar with usb.
It looks weird. Seems that my device will be firstly recoganized as a
mp3 player and then a usb storage, so the system will report part 1 &
part 2 under previous kernels.

Regards
dave

2007-12-20 03:34:30

by Alan Stern

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Note carefully. This:

> > > 2. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > > disk it reports the part 2 and mount the partition as rw

contradicts this:

> > > 3. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > > disk it just mount the partition as ro with nothing more messages.

So which is correct?

> Hi, Alan
>
> I'm sure about my post.

But your post contradicts itself. It can't be correct.

> I'm not so famillar with usb.
> It looks weird. Seems that my device will be firstly recoganized as a
> mp3 player and then a usb storage, so the system will report part 1 &
> part 2 under previous kernels.

I think those "part 2" messages aren't caused by the kernel at all, but
instead by some program running on your computer. You could try
booting into single-user mode and see if the behavior changes.

Also there's no question -- the device does behave strangely. It
shouldn't change the write-protect setting all by itself.

Alan Stern

2007-12-20 04:32:51

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Dec 20, 2007 11:34 AM, Alan Stern <[email protected]> wrote:
> Note carefully. This:
>
> > > > 2. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > > > disk it reports the part 2 and mount the partition as rw
>
> contradicts this:
>
> > > > 3. on 2.6.24-rc5 kernel reports only the part 1, after try mount the
> > > > disk it just mount the partition as ro with nothing more messages.

Oh, sorry. It's a typo. should be 2.6.24-rc5-mm1

>
> So which is correct?
>
> > Hi, Alan
> >
> > I'm sure about my post.
>
> But your post contradicts itself. It can't be correct.
>
> > I'm not so famillar with usb.
> > It looks weird. Seems that my device will be firstly recoganized as a
> > mp3 player and then a usb storage, so the system will report part 1 &
> > part 2 under previous kernels.
>
> I think those "part 2" messages aren't caused by the kernel at all, but
> instead by some program running on your computer. You could try
> booting into single-user mode and see if the behavior changes.

No doubt for me. Under osx plugin this device will popup a dialog(I
don't remember the content), after press ok then the disk icon go
away, and then being remount again.

>
> Also there's no question -- the device does behave strangely. It
> shouldn't change the write-protect setting all by itself.

Yes, I think so too.
>
> Alan Stern
>
>

2007-12-20 12:54:18

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

From: Matt Mackall <[email protected]>
Date: Mon, 17 Dec 2007 08:55:54 -0600

> On Sun, Dec 16, 2007 at 10:39:17PM -0800, Andrew Morton wrote:
> Actually, you may only need these two:
>
> > maps4-add-proc-kpagecount-interface.patch
> > maps4-add-proc-kpageflags-interface.patch

Yes these two were enough, and exporting fs/proc/base.c's
mem_lseek().

As hard as I try, I can't reproduce this at all. I tried
both on my workstation and my niagara boxes.

It must be other needle in the 30MB+ -mm haystack. :-(

2007-12-20 16:56:20

by Jason Wessel

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>
> - If something goes wrong with a PCI device's probing or initialisation, try
> reverting pci-disable-decoding-during-sizing-of-bars.patch.
>
> - git-sched was dropped due to breaking suspend-to-RAM.
>
> - git-block has been restored after having had a few problems
>
> - git-newsetup.patch was dropped due to conflicts with git-x86
>
> - git-perfmon.patch is still dropped for the same reason
>
> - git-kgdb.patch is still dropped for the same reason
>
>
Andrew,

I re-based the for_mm branch at:
http://git.kernel.org/?p=linux/kernel/git/jwessel/linux-2.6-kgdb.git;a=shortlog;h=for_mm
against the git-x86/mm branch from the x86-git tree. If there are other
patch trees I need to pull in and patch against to allow for kgdb to be
included into -mm please let me know.

I would like to submit another review request for kgdb into the mainline
as well as resolve the issues with the -mm tree + kgdb.

Thanks,
Jason.

2007-12-20 17:46:16

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Thu, Dec 20, 2007 at 04:53:59AM -0800, David Miller wrote:
> From: Matt Mackall <[email protected]>
> Date: Mon, 17 Dec 2007 08:55:54 -0600
>
> > On Sun, Dec 16, 2007 at 10:39:17PM -0800, Andrew Morton wrote:
> > Actually, you may only need these two:
> >
> > > maps4-add-proc-kpagecount-interface.patch
> > > maps4-add-proc-kpageflags-interface.patch
>
> Yes these two were enough, and exporting fs/proc/base.c's
> mem_lseek().
>
> As hard as I try, I can't reproduce this at all. I tried
> both on my workstation and my niagara boxes.

That's good to know, I was having a very hard time imagining how the
kpagecount code could be going south.

> It must be other needle in the 30MB+ -mm haystack. :-(

Have we seen a config for the broken machine? Perhaps that'll help us
make a guess..

--
Mathematics is the supreme nostalgia of our time.

2007-12-20 19:45:18

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Hello,

> > > Actually, you may only need these two:
> > >
> > > > maps4-add-proc-kpagecount-interface.patch
> > > > maps4-add-proc-kpageflags-interface.patch
> >
> > Yes these two were enough, and exporting fs/proc/base.c's
> > mem_lseek().
> >
> > As hard as I try, I can't reproduce this at all. I tried
> > both on my workstation and my niagara boxes.
>
> That's good to know, I was having a very hard time imagining how the
> kpagecount code could be going south.
>
> > It must be other needle in the 30MB+ -mm haystack. :-(

I'm afraid you are wrong. Eariler kernel are affected as well. At reading your mail I was
thinking of applying those two patches to 2.6.24-rc5 and do bisection on the rest of -mm series.
Unfortunately clean 2.6.24-rc5 with these two patches is affected as well (new processes
stuck in D state etc). So I tried vanilla 2.6.23 patched by these two patches (and
mem_lseek export from fs/proc/base.c). Now at least I got a trace produced by 'cat /proc/kpagecount'
which you can find below. Also, in spite of the oops, the box doesn't get locked (as with -mm)
and is still usable.

[ 126.060976] TSTATE: 0000009980009603 TPC: 0000000000428a84 TNPC: 0000000000428a88 Y: 00000000 Not tainted
[ 126.063486] TPC: <cpu_idle+0x2c/0xe0>
[ 126.065986] g0: 0000000000000009 g1: 0000048000004000 g2: 000000000000000f g3: 00000000007204c0
[ 126.068636] g4: 00000000007244c0 g5: fffff8007f878000 g6: 00000000007204c0 g7: 0000000000724958
[ 126.071232] o0: 0000000000000001 o1: 00000000007204c8 o2: 0000000000000001 o3: 0000000000000000
[ 126.073924] o4: 6000000000000000 o5: 000000000078f140 sp: 00000000007239b1 ret_pc: 0000000000428a78
[ 126.076569] RPC: <cpu_idle+0x20/0xe0>
[ 126.079185] l0: 0000000000720000 l1: 0000000000000002 l2: 0000000000000001 l3: 000000000075d400
[ 126.081934] l4: 000000000075d400 l5: fffff80080015b10 l6: fffff80080005b08 l7: 0000000000000001
[ 126.084637] i0: 0000000000000001 i1: 0000000000720094 i2: 0000000000000000 i3: 0000000000000000
[ 126.087375] i4: 00000000007204c0 i5: 0000000000000002 i6: 0000000000723a71 i7: 0000000000665a24
[ 126.090135] I7: <rest_init+0x6c/0x80>
[ 145.121228] Unable to handle kernel NULL pointer dereference
[ 145.124515] tsk->{mm,active_mm}->context = 0000000000000d41
[ 145.127778] tsk->{mm,active_mm}->pgd = fffff800bd8d2000
[ 145.127801] \|/ ____ \|/
[ 145.127808] "@'/ .. \`@"
[ 145.127815] /_| \__/ |_\
[ 145.127821] \__U_/
[ 145.127831] cat(3111): Oops [#1]
[ 145.127849]
[ 145.127853] =================================
[ 145.127861] [ INFO: inconsistent lock state ]
[ 145.127873] 2.6.23 #1
[ 145.127880] ---------------------------------
[ 145.127891] inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
[ 145.127906] cat/3111 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 145.127918] (regdump_lock){+...}, at: [<00000000004281d0>] __show_regs+0x18/0x320
[ 145.127951] {in-hardirq-W} state was registered at:
[ 145.127960] [<0000000000669780>] _spin_lock+0x28/0x40
[ 145.127983] [<00000000004281d0>] __show_regs+0x18/0x320
[ 145.128000] [<00000000004284e4>] show_regs+0xc/0x20
[ 145.128016] [<00000000005ac9d8>] sysrq_handle_showregs+0x20/0x40
[ 145.128041] [<00000000005ac7fc>] __handle_sysrq+0x84/0x160
[ 145.128060] [<00000000005ac8f8>] handle_sysrq+0x20/0x40
[ 145.128078] [<00000000005a4f08>] kbd_event+0x670/0xb60
[ 145.128110] [<00000000005ea0c0>] input_event+0x1e8/0x560
[ 145.128140] [<00000000005efa2c>] sunkbd_interrupt+0x114/0x140
[ 145.128167] [<00000000005e6270>] serio_interrupt+0x38/0xa0
[ 145.128186] [<00000000005b2e58>] sunsu_kbd_ms_interrupt+0xa0/0x140
[ 145.128212] [<000000000049f6f8>] handle_IRQ_event+0x20/0x80
[ 145.128251] [<000000000049f808>] __do_IRQ+0xb0/0x140
[ 145.128268] [<000000000042f48c>] handler_irq+0x94/0xc0
[ 145.128306] [<0000000000426f30>] sunos_sys_table+0x560/0x728
[ 145.128324] [<0000000000428a78>] cpu_idle+0x20/0xe0
[ 145.128341] [<0000000000665a24>] rest_init+0x6c/0x80
[ 145.128375] [<000000000076ec24>] start_kernel+0x2ec/0x340
[ 145.128405] [<000000000066599c>] tlb_fixup_done+0xa0/0xbc
[ 145.128425] [<0000000000000000>] 0x8
[ 145.128443] irq event stamp: 1209
[ 145.128451] hardirqs last enabled at (1209): [<0000000000404b74>] __handle_softirq_continue+0x20/0x24
[ 145.128480] hardirqs last disabled at (1207): [<0000000000474494>] __do_softirq+0xbc/0x140
[ 145.128506] softirqs last enabled at (1208): [<00000000004744dc>] __do_softirq+0x104/0x140
[ 145.128526] softirqs last disabled at (1203): [<00000000004745a0>] do_softirq+0x88/0xa0
[ 145.128546]
[ 145.128551] other info that might help us debug this:
[ 145.128562] no locks held by cat/3111.
[ 145.128570]
[ 145.128574] stack backtrace:
[ 145.128582] Call Trace:
[ 145.128590] [00000000004907a0] print_usage_bug+0x148/0x160
[ 145.128624] [00000000004917f4] mark_lock+0x6dc/0x780
[ 145.128641] [000000000049286c] __lock_acquire+0x734/0x12a0
[ 145.128659] [0000000000493430] lock_acquire+0x58/0x80
[ 145.128676] [0000000000669780] _spin_lock+0x28/0x40
[ 145.128691] [00000000004281d0] __show_regs+0x18/0x320
[ 145.128706] [0000000000429ba0] die_if_kernel+0x68/0x2c0
[ 145.128722] [0000000000452ab0] unhandled_fault+0x78/0xe0
[ 145.128749] [0000000000452d14] do_sparc64_fault+0x17c/0x620
[ 145.128765] [000000000040798c] sparc64_realfault_common+0x18/0x20
[ 145.128787] [fffff800bdca3e80] 0xfffff800bdca3e88
[ 145.128799] [000000000050affc] proc_reg_read+0x64/0xa0
[ 145.128828] [00000000004ccb4c] vfs_read+0x74/0x120
[ 145.128856] [00000000004ccf4c] sys_read+0x34/0x60
[ 145.128872] [0000000000406314] linux_sparc_syscall+0x3c/0x44
[ 145.128898] [0000000000012ff4] 0x12ffc
[ 145.128915] TSTATE: 0000004411009603 TPC: 00000000005119ac TNPC: 00000000005119b0 Y: 00000000 Not tainted
[ 145.128940] TPC: <kpagecount_read+0x94/0xe0>
[ 145.128951] g0: 0000000000000000 g1: 0000000000000058 g2: 0000000000000000 g3: 0000000000028008
[ 145.128966] g4: fffff800bfc3a460 g5: fffff8007f878000 g6: fffff800bdca0000 g7: 0000000000000000
[ 145.128982] o0: 0000000000000001 o1: 0000000000000001 o2: 000000000050afe4 o3: 0000000000000000
[ 145.128997] o4: 0000000000000002 o5: 0000000000b80320 sp: fffff800bdca3391 ret_pc: fffff800bdca3e80
[ 145.129013] RPC: <0xfffff800bdca3e88>
[ 145.129023] l0: fffff800bfc3a460 l1: 0000000000669d3c l2: 0000000000000001 l3: 000000000075d400
[ 145.129039] l4: 000000000075d400 l5: fffff80080015b10 l6: fffff80080005b08 l7: 0000000000000001
[ 145.129054] i0: 0000000000028010 i1: 0000000000028000 i2: 0000000000001ff8 i3: 0000000000000002
[ 145.129070] i4: 0000000000000058 i5: 0000000000000000 i6: fffff800bdca3451 i7: 000000000050affc
[ 145.129088] I7: <proc_reg_read+0x64/0xa0>
[ 145.129119] Caller[000000000050affc]: proc_reg_read+0x64/0xa0
[ 145.129139] Caller[00000000004ccb4c]: vfs_read+0x74/0x120
[ 145.129156] Caller[00000000004ccf4c]: sys_read+0x34/0x60
[ 145.129173] Caller[0000000000406314]: linux_sparc_syscall+0x3c/0x44
[ 145.129193] Caller[0000000000012ff4]: 0x12ffc
[ 145.129205] Instruction DUMP: 82070002 02c04003 86063ff8 <ce406008> cef0e000 82100000 8610001b b406bff8 80a06000

> Have we seen a config for the broken machine? Perhaps that'll help us
> make a guess..

Please find it attached (version 2.6.23).

The box is sun ultra 60 with 2 cpus.

# lspci
0000:00:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module
0000:00:01.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
0000:00:01.1 Ethernet controller: Sun Microsystems Computer Corp. Happy Meal (rev 01)
0000:00:03.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 14)
0000:00:03.1 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 14)
0001:00:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module

# cat /proc/cpuinfo
cpu : TI UltraSparc II (BlackBird)
fpu : UltraSparc II integrated FPU
prom : OBP 3.17.0 1998/10/23 11:26
type : sun4u
ncpus probed : 2
ncpus active : 2
D$ parity tl1 : 0
I$ parity tl1 : 0
Cpu0ClkTck : 000000001ad1c43b
Cpu2ClkTck : 000000001ad1c43b
MMU Type : Spitfire
State:
CPU0: online
CPU2: online

# cat /proc/meminfo
MemTotal: 1015648 kB
MemFree: 961840 kB
Buffers: 5680 kB
Cached: 18096 kB
SwapCached: 0 kB
Active: 22440 kB
Inactive: 10288 kB
SwapTotal: 497992 kB
SwapFree: 497992 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 9168 kB
Mapped: 4288 kB
Slab: 10368 kB
SReclaimable: 4008 kB
SUnreclaim: 6360 kB
PageTables: 424 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 1005816 kB
Committed_AS: 27272 kB
VmallocTotal: 4194304 kB
VmallocUsed: 136 kB
VmallocChunk: 4194168 kB

# cat /proc/interrupts
CPU0 CPU2
0: 24567 16248 <NULL> timer
1: 0 0 sun4u PSYCHO_PCIERR
2: 0 0 sun4u PSYCHO_UE
3: 0 0 sun4u PSYCHO_CE
8: 291 0 sun4u su(kbd)
9: 0 0 sun4u su(mouse)
14: 1061 0 sun4u eth0
15: 2034 0 sun4u sym53c8xx
16: 0 30 sun4u sym53c8xx
17: 0 0 sun4u PSYCHO_PCIERR

I'll try earilier kernels and see what happens.

Regards,

Mariusz


Attachments:
(No filename) (9.35 kB)
config-sparc64-2.6.23 (18.91 kB)
Download all attachments

2007-12-20 20:58:11

by Rik van Riel

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - SCSI/blkdev probing hang

On Thu, 13 Dec 2007 02:40:50 -0800
Andrew Morton <[email protected]> wrote:

>

2.6.24-rc5-mm1 seems to have a hang related to the SCSI or block
device probing code.

This is on a dual quad-core x86-64 system with megaraid_sas controller.

scsi 0:2:0:0: Direct-Access DELL PERC 5/i 1.03 PQ: 0 ANSI: 5
general protection fault: 0000 [1] SMP
last sysfs file: /sys/class/firmware/timeout
CPU 7
Modules linked in: ata_piix libata dm_snapshot dm_zero dm_mirror dm_mod shpchp megaraid_sas sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd
Pid: 678, comm: scsi_scan_0 Not tainted 2.6.24-rc5-mm1 #1
RIP: 0010:[<ffffffff81058183>] [<ffffffff81058183>] mark_lock+0x1b/0x472
RSP: 0018:ffff81043ba29c20 EFLAGS: 00010002
RAX: 0000000000000010 RBX: ffff81043b9ee8f0 RCX: ffff81043b9ee804
RDX: 6b6b6b6b6b6b6b6b RSI: ffff81043b9ee8f0 RDI: ffff81043b9ee000
RBP: ffff81043b9ee000 R08: 0000000000000002 R09: 0000000000000000
R10: ffffffff81129055 R11: 0000000281128c8d R12: 0000000000000004
R13: 0000000000000001 R14: 0000000000000002 R15: ffff81043e508028
FS: 0000000000000000(0000) GS:ffff81043e4e6a28(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 000000361969afa0 CR3: 0000000000201000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process scsi_scan_0 (pid: 678, threadinfo ffff81043ba28000, task ffff81043b9ee000)
Stack: ffff81043b9ee8f0 6b6b6b6b6b6b6b6b ffff81043b9ee000<6>ata1.00: ATAPI: HL-DT-STCD-RW/DVD-ROM GCC-T10N, A102, max UDMA/33
ffffffff81059139
000000003ba29c50 0000000000000002 0000000000000000 ffffffff81058623
ffff81043b504660 0000000000000246 ffff81043e508028 ffff81043b504660
Call Trace:
[<ffffffff81059139>] __lock_acquire+0x4d7/0xc8e
[<ffffffff81058623>] mark_held_locks+0x49/0x67
[<ffffffff81059ce2>] lock_acquire+0x5a/0x73
[<ffffffff81129055>] kobject_add+0xca/0x194
[<ffffffff8126d56c>] mutex_lock_nested+0x2a1/0x2b0
[<ffffffff8126e997>] _spin_lock+0x26/0x52
[<ffffffff81129055>] kobject_add+0xca/0x194
[<ffffffff811a318c>] device_add+0x9a/0x56e
[<ffffffff8805c327>] :scsi_mod:scsi_alloc_target+0x2cd/0x343
[<ffffffff8805c492>] :scsi_mod:__scsi_scan_target+0x66/0x5c6
[<ffffffff810587f0>] trace_hardirqs_on+0x115/0x138
[<ffffffff8805ca37>] :scsi_mod:scsi_scan_channel+0x45/0x70
[<ffffffff8805cb37>] :scsi_mod:scsi_scan_host_selected+0xd5/0x110
ata1.00: configured for UDMA/33
ata2: port disabled. ignoring.
[<ffffffff8805cbe5>] :scsi_mod:do_scan_async+0x0/0x152
[<ffffffff8805cbf9>] :scsi_mod:do_scan_async+0x14/0x152
[<ffffffff8805cbe5>] :scsi_mod:do_scan_async+0x0/0x152
[<ffffffff8104d4e8>] kthread+0x47/0x73
[<ffffffff8126e418>] trace_hardirqs_on_thunk+0x35/0x3a
[<ffffffff8100cee8>] child_rip+0xa/0x12
[<ffffffff8100c5ff>] restore_args+0x0/0x30
[<ffffffff811e0908>] menu_reflect+0x0/0x75
[<ffffffff8104d371>] kthreadd+0x115/0x13a
[<ffffffff8104d4a1>] kthread+0x0/0x73
[<ffffffff8100cede>] child_rip+0x0/0x12


Code: 48 85 42 30 0f 85 2e 04 00 00 f0 ff 0d 2c ce 34 00 79 0d f3
RIP [<ffffffff81058183>] mark_lock+0x1b/0x472
RSP <ffff81043ba29c20>
general protection fault: 0000 [2] SMP
last sysfs file: /sys/class/firmware/timeout
CPU 3
Modules linked in: ata_piix libata dm_snapshot dm_zero dm_mirror dm_mod shpchp megaraid_sas sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd
Pid: 743, comm: insmod Tainted: G D 2.6.24-rc5-mm1 #1
RIP: 0010:[<ffffffff81130cca>] [<ffffffff81130cca>] __list_add+0x2b/0x5b
RSP: 0000:ffff81043b4319c8 EFLAGS: 00010246
RAX: 6b6b6b6b6b6b6b6b RBX: ffff81043bec4a68 RCX: 0000000000000000
RDX: 6b6b6b6b6b6b6b6b RSI: ffff81043e508000 RDI: ffff81043bec4a78
RBP: ffff81043ba794b0 R08: 0000000000000002 R09: 0000000000000000
R10: ffffffff81129055 R11: ffffffff8102093a R12: ffff81043bec4aa8
R13: 00000000fffffffe R14: 0000000000000000 R15: ffff81043ba79090
FS: 00007fc3239ae6f0(0000) GS:ffff81043fc01d48(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00000036196d5140 CR3: 000000043bb4c000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process insmod (pid: 743, threadinfo ffff81043b430000, task ffff81043b42e000)
Stack: ffff81043ba79090 ffffffff81129066 ffff81043ba79098 ffff81043bec48b8
ffff81043bec4aa8 ffff81043bec48b8 0000000000000000 ffffffff811a318c
ffff81043ba79098 ffff81043ba79300 ffff81043bec4a68 ffff81043ba79098
Call Trace:
[<ffffffff81129066>] kobject_add+0xdb/0x194
[<ffffffff811a318c>] device_add+0x9a/0x56e
[<ffffffff8805c327>] :scsi_mod:scsi_alloc_target+0x2cd/0x343
[<ffffffff8805cd92>] :scsi_mod:__scsi_add_device+0x5b/0xd9
[<ffffffff880c78d4>] :libata:ata_scsi_scan_host+0xa8/0x28b
[<ffffffff880c4698>] :libata:ata_host_register+0x256/0x280
[<ffffffff880c9bfd>] :libata:ata_pci_init_one+0x231/0x285
[<ffffffff880e38cc>] :ata_piix:piix_init_one+0x512/0x53d
[<ffffffff81012f31>] native_sched_clock+0x47/0x70
[<ffffffff8126e8ae>] _spin_unlock+0x17/0x20
[<ffffffff8113a0f7>] pci_device_probe+0xb3/0xfd
[<ffffffff811a5412>] driver_probe_device+0xee/0x16b
[<ffffffff811a55d7>] __driver_attach+0x90/0xcc
[<ffffffff811a5547>] __driver_attach+0x0/0xcc
[<ffffffff811a5547>] __driver_attach+0x0/0xcc
[<ffffffff811a4733>] bus_for_each_dev+0x47/0x72
[<ffffffff811a4ff9>] bus_add_driver+0xc4/0x20b
[<ffffffff811a5845>] driver_register+0x59/0xcd
[<ffffffff8113a36c>] __pci_register_driver+0x57/0x8b
[<ffffffff880eb01e>] :ata_piix:piix_init+0x1e/0x32
[<ffffffff81061b2a>] sys_init_module+0x15e5/0x173b
[<ffffffff8100bfae>] system_call+0x7e/0x83

2007-12-20 21:23:19

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - SCSI/blkdev probing hang

On Thu, 20 Dec 2007 15:57:45 -0500
Rik van Riel <[email protected]> wrote:

> 2.6.24-rc5-mm1 seems to have a hang related to the SCSI or block
> device probing code.
>
> This is on a dual quad-core x86-64 system with megaraid_sas controller.
>
> scsi 0:2:0:0: Direct-Access DELL PERC 5/i 1.03 PQ: 0 ANSI: 5
> general protection fault: 0000 [1] SMP
> last sysfs file: /sys/class/firmware/timeout
> CPU 7
> Modules linked in: ata_piix libata dm_snapshot dm_zero dm_mirror dm_mod shpchp megaraid_sas sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd
> Pid: 678, comm: scsi_scan_0 Not tainted 2.6.24-rc5-mm1 #1
> RIP: 0010:[<ffffffff81058183>] [<ffffffff81058183>] mark_lock+0x1b/0x472

Could be that someone passed a garbage pointer into lockdep.

> RSP: 0018:ffff81043ba29c20 EFLAGS: 00010002
> RAX: 0000000000000010 RBX: ffff81043b9ee8f0 RCX: ffff81043b9ee804
> RDX: 6b6b6b6b6b6b6b6b RSI: ffff81043b9ee8f0 RDI: ffff81043b9ee000
> RBP: ffff81043b9ee000 R08: 0000000000000002 R09: 0000000000000000
> R10: ffffffff81129055 R11: 0000000281128c8d R12: 0000000000000004
> R13: 0000000000000001 R14: 0000000000000002 R15: ffff81043e508028
> FS: 0000000000000000(0000) GS:ffff81043e4e6a28(0000) knlGS:0000000000000000
> CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> CR2: 000000361969afa0 CR3: 0000000000201000 CR4: 00000000000006e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process scsi_scan_0 (pid: 678, threadinfo ffff81043ba28000, task ffff81043b9ee000)
> Stack: ffff81043b9ee8f0 6b6b6b6b6b6b6b6b ffff81043b9ee000<6>ata1.00: ATAPI: HL-DT-STCD-RW/DVD-ROM GCC-T10N, A102, max UDMA/33
> ffffffff81059139
> 000000003ba29c50 0000000000000002 0000000000000000 ffffffff81058623
> ffff81043b504660 0000000000000246 ffff81043e508028 ffff81043b504660
> Call Trace:
> [<ffffffff81059139>] __lock_acquire+0x4d7/0xc8e
> [<ffffffff81058623>] mark_held_locks+0x49/0x67
> [<ffffffff81059ce2>] lock_acquire+0x5a/0x73
> [<ffffffff81129055>] kobject_add+0xca/0x194
> [<ffffffff8126d56c>] mutex_lock_nested+0x2a1/0x2b0
> [<ffffffff8126e997>] _spin_lock+0x26/0x52
> [<ffffffff81129055>] kobject_add+0xca/0x194
> [<ffffffff811a318c>] device_add+0x9a/0x56e
> [<ffffffff8805c327>] :scsi_mod:scsi_alloc_target+0x2cd/0x343
> [<ffffffff8805c492>] :scsi_mod:__scsi_scan_target+0x66/0x5c6
> [<ffffffff810587f0>] trace_hardirqs_on+0x115/0x138
> [<ffffffff8805ca37>] :scsi_mod:scsi_scan_channel+0x45/0x70
> [<ffffffff8805cb37>] :scsi_mod:scsi_scan_host_selected+0xd5/0x110
> ata1.00: configured for UDMA/33
> ata2: port disabled. ignoring.
> [<ffffffff8805cbe5>] :scsi_mod:do_scan_async+0x0/0x152
> [<ffffffff8805cbf9>] :scsi_mod:do_scan_async+0x14/0x152
> [<ffffffff8805cbe5>] :scsi_mod:do_scan_async+0x0/0x152
> [<ffffffff8104d4e8>] kthread+0x47/0x73
> [<ffffffff8126e418>] trace_hardirqs_on_thunk+0x35/0x3a
> [<ffffffff8100cee8>] child_rip+0xa/0x12
> [<ffffffff8100c5ff>] restore_args+0x0/0x30
> [<ffffffff811e0908>] menu_reflect+0x0/0x75
> [<ffffffff8104d371>] kthreadd+0x115/0x13a
> [<ffffffff8104d4a1>] kthread+0x0/0x73
> [<ffffffff8100cede>] child_rip+0x0/0x12
>

It could be a scsi problem, or it could be all the kobject changes in
Greg's driver tree. Or a combination of the two.

Don't know, sorry.

2007-12-21 00:17:36

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

From: Mariusz Kozlowski <[email protected]>
Date: Thu, 20 Dec 2007 20:47:55 +0100

> [ 145.128915] TSTATE: 0000004411009603 TPC: 00000000005119ac TNPC: 00000000005119b0 Y: 00000000 Not tainted
> [ 145.128940] TPC: <kpagecount_read+0x94/0xe0>

My suspicion at this point is that with certain RAM layouts, simply
iterating over PFN's is simply not working out.

pfn_to_page() seems to be doing no range checking, and with sparsemem
vmemmap, which sparc64 always uses, this can be problematic.

It just blindly goes "vmemmap + pfn" which is asking for trouble, in
particular when the physical RAM layout really is sparse.

Maybe it's enough to add a pfn_valid() check here? If pfn_valid()
means there is a vmemmap translation setup for that page struct too,
it would work.

2007-12-20 23:11:46

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

On Thu, 20 Dec 2007 10:55:51 -0600
Jason Wessel <[email protected]> wrote:

> Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
> >
> > - If something goes wrong with a PCI device's probing or initialisation, try
> > reverting pci-disable-decoding-during-sizing-of-bars.patch.
> >
> > - git-sched was dropped due to breaking suspend-to-RAM.
> >
> > - git-block has been restored after having had a few problems
> >
> > - git-newsetup.patch was dropped due to conflicts with git-x86
> >
> > - git-perfmon.patch is still dropped for the same reason
> >
> > - git-kgdb.patch is still dropped for the same reason
> >
> >
> Andrew,
>
> I re-based the for_mm branch at:
> http://git.kernel.org/?p=linux/kernel/git/jwessel/linux-2.6-kgdb.git;a=shortlog;h=for_mm
> against the git-x86/mm branch from the x86-git tree. If there are other
> patch trees I need to pull in and patch against to allow for kgdb to be
> included into -mm please let me know.

The x86 merge worked OK.


Here's what it looks like:

patching file Documentation/DocBook/Makefile
Hunk #1 FAILED at 11.
1 out of 1 hunk FAILED -- saving rejects to file Documentation/DocBook/Makefile.rej
patching file Documentation/DocBook/kgdb.tmpl
patching file Documentation/kernel-parameters.txt
Hunk #1 succeeded at 816 (offset 7 lines).
patching file MAINTAINERS
Hunk #1 succeeded at 2279 (offset 52 lines).
patching file Makefile
patching file arch/arm/kernel/Makefile
patching file arch/arm/kernel/kgdb-jmp.S
patching file arch/arm/kernel/kgdb.c
patching file arch/arm/kernel/setup.c
patching file arch/arm/kernel/traps.c
patching file arch/arm/mach-ixp2000/core.c
patching file arch/arm/mach-ixp2000/ixdp2x01.c
patching file arch/arm/mach-ixp4xx/coyote-setup.c
patching file arch/arm/mach-ixp4xx/ixdp425-setup.c
patching file arch/arm/mach-omap1/serial.c
patching file arch/arm/mach-omap2/serial.c
patching file arch/arm/mach-pnx4008/core.c
patching file arch/arm/mach-pxa/Makefile
Hunk #1 FAILED at 43.
1 out of 1 hunk FAILED -- saving rejects to file arch/arm/mach-pxa/Makefile.rej
patching file arch/arm/mach-pxa/kgdb-serial.c
patching file arch/arm/mach-versatile/core.c
patching file arch/arm/mm/extable.c
patching file arch/ia64/kernel/Makefile
patching file arch/ia64/kernel/kgdb-jmp.S
patching file arch/ia64/kernel/kgdb.c
patching file arch/ia64/kernel/smp.c
patching file arch/ia64/kernel/traps.c
Hunk #1 FAILED at 155.
1 out of 1 hunk FAILED -- saving rejects to file arch/ia64/kernel/traps.c.rej
patching file arch/ia64/mm/extable.c
patching file arch/ia64/mm/fault.c
patching file arch/mips/Kconfig
Hunk #2 succeeded at 323 (offset -6 lines).
Hunk #4 succeeded at 419 (offset -7 lines).
Hunk #5 succeeded at 531 (offset 21 lines).
Hunk #6 succeeded at 608 (offset -21 lines).
Hunk #7 succeeded at 670 (offset 21 lines).
Hunk #8 succeeded at 914 (offset -24 lines).
patching file arch/mips/Kconfig.debug
patching file arch/mips/au1000/common/Makefile
patching file arch/mips/au1000/common/dbg_io.c
patching file arch/mips/basler/excite/Makefile
patching file arch/mips/basler/excite/excite_dbg_io.c
patching file arch/mips/basler/excite/excite_irq.c
patching file arch/mips/basler/excite/excite_setup.c
patching file arch/mips/jmr3927/rbhma3100/Makefile
patching file arch/mips/jmr3927/rbhma3100/kgdb_io.c
patching file arch/mips/kernel/Makefile
patching file arch/mips/kernel/gdb-low.S
patching file arch/mips/kernel/gdb-stub.c
patching file arch/mips/kernel/irq.c
patching file arch/mips/kernel/kgdb-jmp.c
patching file arch/mips/kernel/kgdb-setjmp.S
patching file arch/mips/kernel/kgdb.c
patching file arch/mips/kernel/kgdb_handler.S
patching file arch/mips/kernel/traps.c
patching file arch/mips/mips-boards/atlas/Makefile
patching file arch/mips/mips-boards/atlas/atlas_gdb.c
patching file arch/mips/mips-boards/atlas/atlas_setup.c
patching file arch/mips/mips-boards/generic/Makefile
patching file arch/mips/mips-boards/generic/gdb_hook.c
patching file arch/mips/mips-boards/generic/init.c
patching file arch/mips/mips-boards/malta/malta_setup.c
patching file arch/mips/mm/extable.c
patching file arch/mips/pci/fixup-atlas.c
patching file arch/mips/philips/pnx8550/common/Makefile
patching file arch/mips/philips/pnx8550/common/gdb_hook.c
patching file arch/mips/philips/pnx8550/common/setup.c
patching file arch/mips/pmc-sierra/yosemite/Makefile
patching file arch/mips/pmc-sierra/yosemite/dbg_io.c
patching file arch/mips/pmc-sierra/yosemite/irq.c
patching file arch/mips/sgi-ip22/ip22-setup.c
patching file arch/mips/sgi-ip27/Makefile
patching file arch/mips/sgi-ip27/ip27-dbgio.c
patching file arch/mips/sibyte/bcm1480/irq.c
patching file arch/mips/sibyte/cfe/setup.c
Hunk #3 succeeded at 298 (offset -3 lines).
patching file arch/mips/sibyte/sb1250/irq.c
patching file arch/mips/sibyte/sb1250/kgdb_sibyte.c
patching file arch/mips/sibyte/swarm/Makefile
patching file arch/mips/sibyte/swarm/dbg_io.c
patching file arch/mips/tx4927/common/Makefile
Hunk #1 succeeded at 9 with fuzz 1.
patching file arch/mips/tx4927/common/tx4927_dbgio.c
patching file arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c
Hunk #1 FAILED at 77.
Hunk #2 succeeded at 863 (offset -29 lines).
Hunk #4 succeeded at 891 (offset -29 lines).
1 out of 4 hunks FAILED -- saving rejects to file arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c.rej
patching file arch/mips/tx4938/common/Makefile
Hunk #1 FAILED at 7.
1 out of 1 hunk FAILED -- saving rejects to file arch/mips/tx4938/common/Makefile.rej
patching file arch/mips/tx4938/common/dbgio.c
patching file arch/mips/tx4938/toshiba_rbtx4938/setup.c
Hunk #1 FAILED at 31.
Hunk #2 succeeded at 871 (offset -2 lines).
1 out of 3 hunks FAILED -- saving rejects to file arch/mips/tx4938/toshiba_rbtx4938/setup.c.rej
patching file arch/powerpc/Kconfig.debug
patching file arch/powerpc/kernel/Makefile
patching file arch/powerpc/kernel/kgdb.c
patching file arch/powerpc/kernel/kgdb_setjmp32.S
patching file arch/powerpc/kernel/kgdb_setjmp64.S
patching file arch/powerpc/kernel/legacy_serial.c
patching file arch/powerpc/kernel/setup_32.c
patching file arch/powerpc/mm/fault.c
patching file arch/powerpc/platforms/powermac/setup.c
Hunk #1 succeeded at 97 (offset -1 lines).
patching file arch/powerpc/sysdev/mv64x60_dev.c
patching file arch/ppc/Kconfig.debug
patching file arch/ppc/kernel/Makefile
patching file arch/ppc/kernel/kgdb.c
patching file arch/ppc/kernel/kgdb_setjmp32.S
patching file arch/ppc/kernel/ppc-stub.c
patching file arch/ppc/kernel/setup.c
Hunk #1 succeeded at 46 (offset -1 lines).
patching file arch/ppc/mm/fault.c
patching file arch/ppc/platforms/4xx/bamboo.c
patching file arch/ppc/platforms/4xx/bubinga.c
patching file arch/ppc/platforms/4xx/ebony.c
patching file arch/ppc/platforms/4xx/luan.c
patching file arch/ppc/platforms/4xx/ocotea.c
patching file arch/ppc/platforms/4xx/taishan.c
patching file arch/ppc/platforms/4xx/xilinx_ml300.c
patching file arch/ppc/platforms/4xx/xilinx_ml403.c
patching file arch/ppc/platforms/4xx/yucca.c
patching file arch/ppc/platforms/83xx/mpc834x_sys.c
Hunk #3 succeeded at 316 (offset -20 lines).
patching file arch/ppc/platforms/85xx/mpc8540_ads.c
patching file arch/ppc/platforms/85xx/mpc8560_ads.c
patching file arch/ppc/platforms/85xx/mpc85xx_cds_common.c
patching file arch/ppc/platforms/85xx/sbc8560.c
patching file arch/ppc/platforms/85xx/tqm85xx.c
Hunk #4 succeeded at 379 (offset -21 lines).
patching file arch/ppc/platforms/chestnut.c
patching file arch/ppc/platforms/ev64260.c
patching file arch/ppc/platforms/hdpu.c
patching file arch/ppc/platforms/lopec.c
patching file arch/ppc/platforms/pplus.c
patching file arch/ppc/platforms/radstone_ppc7d.c
patching file arch/ppc/platforms/sandpoint.c
patching file arch/ppc/platforms/spruce.c
patching file arch/ppc/syslib/Makefile
patching file arch/ppc/syslib/gen550.h
patching file arch/ppc/syslib/gen550_kgdb.c
patching file arch/ppc/syslib/ibm44x_common.c
patching file arch/ppc/syslib/mv64x60.c
patching file arch/ppc/syslib/mv64x60_dbg.c
patching file arch/ppc/syslib/ppc4xx_setup.c
patching file arch/ppc/syslib/ppc83xx_setup.c
Hunk #2 succeeded at 43 with fuzz 1 (offset -1 lines).
Hunk #4 succeeded at 103 (offset -1 lines).
patching file arch/ppc/syslib/ppc85xx_setup.c
patching file arch/sh/Kconfig.debug
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file arch/sh/Kconfig.debug.rej
patching file arch/sh/kernel/Makefile
Hunk #1 FAILED at 13.
1 out of 1 hunk FAILED -- saving rejects to file arch/sh/kernel/Makefile.rej
patching file arch/sh/kernel/kgdb-jmp.S
patching file arch/sh/kernel/kgdb.c
patching file arch/sh/kernel/kgdb_jmp.S
patching file arch/sh/kernel/kgdb_stub.c
can't find file to patch at input line 12787
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c
|index a3a67d1..484bd0b 100644
|--- a/arch/sh/kernel/time.c
|+++ b/arch/sh/kernel/time.c
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
patching file arch/sh/kernel/traps.c
Hunk #1 FAILED at 25.
Hunk #2 FAILED at 85.
Hunk #3 FAILED at 697.
Hunk #4 FAILED at 770.
4 out of 4 hunks FAILED -- saving rejects to file arch/sh/kernel/traps.c.rej
can't find file to patch at input line 12860
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/sh/mm/extable.c b/arch/sh/mm/extable.c
|index c1cf446..88e34ff 100644
|--- a/arch/sh/mm/extable.c
|+++ b/arch/sh/mm/extable.c
--------------------------
No file to patch. Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 12885
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
|index 60d74f7..7619c01 100644
|--- a/arch/sh/mm/fault.c
|+++ b/arch/sh/mm/fault.c
--------------------------
No file to patch. Skipping patch.
4 out of 4 hunks ignored
patching file arch/x86/kernel/Makefile_32
Hunk #1 succeeded at 48 (offset 7 lines).
patching file arch/x86/kernel/Makefile_64
Hunk #1 succeeded at 43 (offset 7 lines).
patching file arch/x86/kernel/kgdb-jmp_32.S
patching file arch/x86/kernel/kgdb-jmp_64.S
patching file arch/x86/kernel/kgdb_32.c
patching file arch/x86/kernel/kgdb_64.c
patching file arch/x86/kernel/setup_32.c
patching file arch/x86/kernel/traps_32.c
Hunk #1 succeeded at 886 (offset 1 line).
Hunk #3 succeeded at 1128 (offset 1 line).
patching file arch/x86/kernel/traps_64.c
Hunk #1 succeeded at 549 (offset 1 line).
patching file arch/x86/mm/fault_32.c
patching file arch/x86/mm/fault_64.c
patching file drivers/char/keyboard.c
patching file drivers/net/Makefile
Hunk #1 succeeded at 244 (offset 3 lines).
patching file drivers/net/kgdboe.c
patching file drivers/serial/8250.c
patching file drivers/serial/8250_kgdb.c
patching file drivers/serial/Kconfig
patching file drivers/serial/Makefile
Hunk #2 succeeded at 53 (offset 1 line).
patching file drivers/serial/amba-pl011.c
patching file drivers/serial/cpm_uart/Makefile
patching file drivers/serial/cpm_uart/cpm_uart.h
patching file drivers/serial/cpm_uart/cpm_uart_core.c
patching file drivers/serial/cpm_uart/cpm_uart_cpm1.c
Hunk #1 succeeded at 60 (offset -4 lines).
Hunk #3 succeeded at 222 (offset -4 lines).
patching file drivers/serial/cpm_uart/cpm_uart_cpm2.c
Hunk #1 succeeded at 298 (offset -6 lines).
patching file drivers/serial/cpm_uart/cpm_uart_kgdb.c
patching file drivers/serial/mpsc_kgdb.c
patching file drivers/serial/pl011_kgdb.c
patching file drivers/serial/pxa.c
patching file drivers/serial/serial_core.c
Hunk #5 succeeded at 2179 (offset 1 line).
patching file drivers/serial/serial_txx9.c
patching file drivers/serial/serial_txx9_kgdb.c
patching file drivers/serial/sh-sci.c
patching file include/asm-arm/kgdb.h
patching file include/asm-generic/kgdb.h
patching file include/asm-ia64/kdebug.h
patching file include/asm-ia64/kgdb.h
patching file include/asm-mips/asmmacro-32.h
patching file include/asm-mips/asmmacro-64.h
patching file include/asm-mips/kdebug.h
patching file include/asm-mips/kgdb.h
patching file include/asm-mips/ptrace.h
patching file include/asm-powerpc/kgdb.h
patching file include/asm-ppc/kgdb.h
patching file include/asm-ppc/machdep.h
patching file include/asm-ppc/mv64x60.h
patching file include/asm-ppc/mv64x60_defs.h
patching file include/asm-sh/kgdb.h
patching file include/asm-x86/kdebug.h
patching file include/asm-x86/kgdb.h
patching file include/asm-x86/kgdb_32.h
patching file include/asm-x86/kgdb_64.h
patching file include/asm-x86/system.h
patching file include/linux/clocksource.h
patching file include/linux/kgdb.h
patching file include/linux/module.h
patching file include/linux/netpoll.h
patching file include/linux/serial_8250.h
patching file kernel/Makefile
patching file kernel/kgdb.c
patching file kernel/module.c
Hunk #1 succeeded at 64 (offset -2 lines).
Hunk #3 succeeded at 728 (offset -2 lines).
Hunk #5 succeeded at 1313 (offset -8 lines).
Hunk #7 succeeded at 2027 (offset -8 lines).
Hunk #8 FAILED at 2098.
Hunk #9 succeeded at 2185 (offset 3 lines).
1 out of 9 hunks FAILED -- saving rejects to file kernel/module.c.rej
patching file kernel/sched.c
Hunk #1 succeeded at 61 (offset 2 lines).
Hunk #2 succeeded at 6955 (offset 109 lines).
patching file kernel/softlockup.c
Hunk #1 succeeded at 15 (offset 1 line).
Hunk #3 succeeded at 109 (offset -3 lines).
patching file kernel/time/clocksource.c
patching file lib/Kconfig.debug
patching file lib/Kconfig.kgdb
patching file net/core/netpoll.c
Hunk #1 succeeded at 528 (offset -7 lines).
Failed to apply git-kgdb

Conflicts with the arm, ia64, mips, sh and driver trees (at least). I
fixed most of them but gave up on sh, where there has been major code
motion.

> I would like to submit another review request for kgdb into the mainline
> as well as resolve the issues with the -mm tree + kgdb.

Please do - just email out the patches with carefully-chosen cc's. It's
not a hugely productive time of year and responses may be spotty and slow
but you should just persist - send them every couple of weeks and let's
drive this nail home.

2007-12-21 01:07:30

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Thu, Dec 20, 2007 at 04:17:26PM -0800, David Miller wrote:
> From: Mariusz Kozlowski <[email protected]>
> Date: Thu, 20 Dec 2007 20:47:55 +0100
>
> > [ 145.128915] TSTATE: 0000004411009603 TPC: 00000000005119ac TNPC: 00000000005119b0 Y: 00000000 Not tainted
> > [ 145.128940] TPC: <kpagecount_read+0x94/0xe0>
>
> My suspicion at this point is that with certain RAM layouts, simply
> iterating over PFN's is simply not working out.

That was my original suspicion, which is why I asked Mariusz to
effectively comment out the actual PFN lookup up-thread. I didn't send
him a patch to do that, so I guess my instructions on how to hack it
may have been misunderstood.

> pfn_to_page() seems to be doing no range checking, and with sparsemem
> vmemmap, which sparc64 always uses, this can be problematic.
>
> It just blindly goes "vmemmap + pfn" which is asking for trouble, in
> particular when the physical RAM layout really is sparse.
>
> Maybe it's enough to add a pfn_valid() check here? If pfn_valid()
> means there is a vmemmap translation setup for that page struct too,
> it would work.

Here's a test patch:

Index: mm/fs/proc/proc_misc.c
===================================================================
--- mm.orig/fs/proc/proc_misc.c 2007-12-20 19:04:35.000000000 -0600
+++ mm/fs/proc/proc_misc.c 2007-12-20 19:06:01.000000000 -0600
@@ -707,7 +707,10 @@ static ssize_t kpagecount_read(struct fi
return -EIO;

while (count > 0) {
- ppage = pfn_to_page(pfn++);
+ ppage = 0;
+ if (pfn_valid(pfn))
+ ppage = pfn_to_page(pfn);
+ pfn++;
if (!ppage)
pcount = 0;
else
@@ -773,7 +776,10 @@ static ssize_t kpageflags_read(struct fi
return -EIO;

while (count > 0) {
- ppage = pfn_to_page(pfn++);
+ ppage = 0;
+ if (pfn_valid(pfn))
+ ppage = pfn_to_page(pfn);
+ pfn++;
if (!ppage)
kflags = 0;
else


--
Mathematics is the supreme nostalgia of our time.

2007-12-21 03:15:22

by David Miller

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

From: Matt Mackall <[email protected]>
Date: Thu, 20 Dec 2007 19:06:55 -0600

> @@ -707,7 +707,10 @@ static ssize_t kpagecount_read(struct fi
> return -EIO;
>
> while (count > 0) {
> - ppage = pfn_to_page(pfn++);
> + ppage = 0;
> + if (pfn_valid(pfn))
> + ppage = pfn_to_page(pfn);
> + pfn++;
> if (!ppage)
> pcount = 0;
> else

Yes that should work, please use "NULL" in the final
version of the patch instead of "0" so that sparse is
happy.

Thanks.

2007-12-21 13:46:43

by Jason Wessel

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1

Andrew Morton wrote:
> On Thu, 20 Dec 2007 10:55:51 -0600
> Jason Wessel <[email protected]> wrote:
>
>
>> Andrew Morton wrote:
>>
>>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/
>>>
>>> - git-kgdb.patch is still dropped for the same reason
>>>
>>>
[snip] Regarding the merge output targeting -mm
> Conflicts with the arm, ia64, mips, sh and driver trees (at least). I
> fixed most of them but gave up on sh, where there has been major code
> motion.
>
>

Andrew,

Given the churn in patches I think the best approach is to put kgdb
after you have cut a -mm1 so it can go in -mm2 or as a fix or however
you would like to manage it. The churn should be a whole lot less once
the new kgdb arch support gets merged.

I updated the for_mm branch to be against 2.6.24-rc5-mm1, and it will
merge cleanly. I can update again once the next mm branch is available.


Thanks,
Jason.

2007-12-21 21:48:35

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

Hello,

> > > [ 145.128915] TSTATE: 0000004411009603 TPC: 00000000005119ac TNPC: 00000000005119b0 Y: 00000000 Not tainted
> > > [ 145.128940] TPC: <kpagecount_read+0x94/0xe0>
> >
> > My suspicion at this point is that with certain RAM layouts, simply
> > iterating over PFN's is simply not working out.
>
> That was my original suspicion, which is why I asked Mariusz to
> effectively comment out the actual PFN lookup up-thread. I didn't send
> him a patch to do that, so I guess my instructions on how to hack it
> may have been misunderstood.

No. I just made a trivial mistake :-/ Sorry for confusion. I guess I need to
verify things three times before sending an email next time.

> > pfn_to_page() seems to be doing no range checking, and with sparsemem
> > vmemmap, which sparc64 always uses, this can be problematic.
> >
> > It just blindly goes "vmemmap + pfn" which is asking for trouble, in
> > particular when the physical RAM layout really is sparse.
> >
> > Maybe it's enough to add a pfn_valid() check here? If pfn_valid()
> > means there is a vmemmap translation setup for that page struct too,
> > it would work.
>
> Here's a test patch:

Tested on 2.6.23 and 2.6.24-rc5-mm1. The patch fixes the bug.

Thanks a lot to both of you.

Mariusz

2007-12-22 05:01:42

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1: problems with cat /proc/kpageflags

On Fri, 21 Dec 2007 22:51:45 +0100 Mariusz Kozlowski <[email protected]> wrote:

> > Here's a test patch:
>
> Tested on 2.6.23 and 2.6.24-rc5-mm1. The patch fixes the bug.
>
> Thanks a lot to both of you.

Thank you for testing -mm (especially on sparc64) and for reporting
the bug and for testing the fix.

2007-12-24 15:13:06

by Rik van Riel

[permalink] [raw]
Subject: Re: 2.6.24-rc5-mm1 - SCSI/blkdev probing hang

On Thu, 20 Dec 2007 13:22:12 -0800
Andrew Morton <[email protected]> wrote:
> On Thu, 20 Dec 2007 15:57:45 -0500
> Rik van Riel <[email protected]> wrote:
>
> > 2.6.24-rc5-mm1 seems to have a hang related to the SCSI or block
> > device probing code.

> It could be a scsi problem, or it could be all the kobject changes in
> Greg's driver tree. Or a combination of the two.
>
> Don't know, sorry.

Whatever it was, it's gone now.

2.6.24-rc6-mm1 boots on my system.