public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.17-rc4-mm1
@ 2006-05-15  7:56 Andrew Morton
  2006-05-15 10:09 ` 2.6.17-rc4-mm1 Eric Dumazet
                   ` (8 more replies)
  0 siblings, 9 replies; 37+ messages in thread
From: Andrew Morton @ 2006-05-15  7:56 UTC (permalink / raw)
  To: linux-kernel


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

- This tree contains a large number of new bugs^H^H^H^Hpatches.

  - klibc (Kernel libc), as git-klibc.patch (Peter Anvin)

  - Header cleanups for compatibility-with-userspace feasibility and for
    the addition of the `make hdrinstall' target, as git-hdrcleanup.patch and
    git-hdrinstall.patch (David Woodhouse)

  - The cachefs patches are back (local-disk-based caching of network
    filesystem files) (David Howells)

  - Added the ecryptfs filesystem

  - per-task delay accounting patches: more advanced process accounting,
    plus an extensible interface for extended accounting.  

  - Many memory-management updates

  - Plenty of other things

  So if problems are found, please put extra effort into Cc:ing the correct
  mailing list and/or developer on any reports, thanks.




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 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 majordomo@vger.kernel.org

- 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.



Changes since 2.6.17-rc3-mm1:


 origin.patch
 git-acpi.patch
 git-agpgart.patch
 git-alsa.patch
 git-block.patch
 git-cfq.patch
 git-cifs.patch
 git-dvb.patch
 git-gfs2.patch
 git-ia64.patch
 git-ieee1394.patch
 git-infiniband.patch
 git-intelfb.patch
 git-klibc.patch
 git-hdrcleanup.patch
 git-hdrinstall.patch
 git-libata-all.patch
 git-mips.patch
 git-mtd.patch
 git-netdev-all.patch
 git-nfs.patch
 git-ocfs2.patch
 git-powerpc.patch
 git-rbtree.patch
 git-sas.patch
 git-pcmcia.patch
 git-scsi-target.patch
 git-supertrak.patch
 git-watchdog.patch
 git-cryptodev.patch
 git-viro-bird-m32r.patch
 git-viro-bird-m68k.patch
 git-viro-bird-frv.patch
 git-viro-bird-upf.patch
 git-viro-bird-volatile.patch
 git-klibc-build-hacks.patch

 git trees

-s390-make-qeth-buildable.patch
-md-avoid-oops-when-attempting-to-fix-read-errors-on-raid10.patch
-md-fixed-refcounting-locking-when-attempting-read-error-correction-in-raid10.patch
-md-change-enotsupp-to-eopnotsupp.patch
-md-improve-detection-of-lack-of-barrier-support-in-raid1.patch
-md-fix-rdev-nr_pending-count-when-retrying-barrier-requests.patch
-x86_64-add-compat_sys_vmsplice-and-use-it-in.patch
-i386-x86-64-fix-acpi-disabled-lapic-handling.patch
-i386-fix-overflow-in-e820_all_mapped.patch
-i386-remove-apic=-warning.patch
-silence-initcall-warnings.patch
-uml-fix-iomem-list-traversal.patch
-uml-skas0-support-for-2g-2g-hosts.patch
-uml-remove-null-checks-and-add-some-codingstyle.patch
-uml-clean-up-after-madvise_remove.patch
-uml-update-defconfig.patch
-uml-error-handling-fixes.patch
-page-migration-fix-fallback-behavior-for-dirty-pages.patch
-altix-correct-ioc3-port-order.patch
-sparsemem-interaction-with-memory-add-bug-fixes.patch
-spufs-fix-for-config_numa.patch
-powerpc-allow-devices-to-register-with-numa-topology.patch
-powerpc-cell-add-numa-id-to-struct-spu.patch
-s390-fix-ipd-handling.patch
-s390-bug-in-setup_rt_frame.patch
-rtc-rtc-dev-tweak-for-64-bit-kernel.patch
-genrtc-fix-read-on-64-bit-platforms.patch
-amd-alchemy-uart-claim-memory-range.patch
-make-pc-speaker-driver-work-on-x86-64.patch
-timer-tsc-check-suspend-notifier-change.patch
-acpi-memory-leakages-in-drivers-acpi-thermalc.patch
-audit-deal-with-deadlocks-in-audit_free.patch
-audit-sockaddr-patch.patch
-audit-move-call-of-audit_free-into-do_exit.patch
-audit-drop-gfp_mask-in-audit_log_exit.patch
-audit-drop-task-argument-of-audit_syscall_entryexit.patch
-audit-no-need-to-wank-with-task_lock-and-pinning-task-down-in-audit_syscall_exit.patch
-audit-support-for-context-based-audit-filtering.patch
-audit-support-for-context-based-audit-filtering-2.patch
-audit-audit-inode-patch.patch
-audit-change-lspp-ipc-auditing.patch
-audit-reworked-patch-for-labels-on-user-space-messages.patch
-audit-more-user-space-subject-labels.patch
-audit-rework-of-ipc-auditing.patch
-audit-audit-filter-performance.patch
-gregkh-driver-class-device-add-attribute_group-creation.patch
-gregkh-driver-netdev-create-attribute_groups-with-class_device_add.patch
-netdev-hotplug-napi-race-cleanup.patch
-dvb-core-ule-fixes-and-rfc4326-additions-kernel-2616.patch
-pwc-dec23-oops-fix.patch
-scx200_acb-fix-for-cs5535-eratta.patch
-sem2mutex-drivers-ieee1394.patch
-drivers-ieee1394-ohci1394c-function-calls-without-effect.patch
-forcedeth-fix-multi-irq-issues.patch
-via-rhine-zero-pad-short-packets-on-rhine-i-ethernet-cards.patch
-mv643xx_eth-provide-sysfs-class-device-symlink.patch
-powerpc-pseries-avoid-crash-in-pci-code-if-mem-system-not-up.patch
-git-rbtree-uml-fix.patch
-serial-locking-cleanup.patch
-ieee80211_wxc-remove-dead-code.patch
-x86_64-mm-avoid-irq0-ioapic-pin-collision.patch
-x86_64-mm-fix-die_lock-nesting.patch
-x86_64-mm-add-nmi_exit-to-die_nmi.patch
-x86_64-mm-compat-printk-fix.patch
-x86_64-mm-new-northbridge-fix.patch
-uml-fix-patch-mismerge.patch
-uml-search-from-uml_net-in-a-more-reasonable-path.patch
-uml-use-kbuild-tracking-for-all-files-and-fix-compilation-output.patch
-uml-fix-compilation-and-execution-with-hardened-gcc.patch
-uml-cleanup-unprofile-expression-and-build-infrastructure.patch
-uml-export-symbols-added-by-gcc-hardened.patch
-reduce-nr-of-ptr-derefs-in-fs-jffs2-summaryc.patch
-remove-fs-jffs2-histoh.patch
-cleanup-default-value-of-mtd_pcmcia_anonymous.patch
-rcu-introduce-rcu_needs_cpu-interface.patch
-rcu-introduce-rcu_needs_cpu-interface-fix.patch
-s390-exploit-rcu_needs_cpu-interface.patch
-handle-config_lbd-and-config_lsf-in-one-place.patch

 Merged into mainline or a subsystem tree

+selinux-check-for-failed-kmalloc-in-security_sid_to_context.patch
+fs-openc-unexport-sys_openat.patch
+autofs4-nfy_none-wait-race-fix.patch
+autofs4-nfy_none-wait-race-fix-tidy.patch
+fix-capi-reload-by-unregistering-the-correct-major.patch
+tpm-update-module-dependencies.patch
+pcmcia-oopses-fixes.patch
+via-quirk-fixup-additional-pci-ids.patch
+smbfs-chroot-issue-cve-2006-1864.patch
+rcu-introduce-rcu_needs_cpu-interface.patch
+rcu-introduce-rcu_needs_cpu-interface-fix.patch
+s390-exploit-rcu_needs_cpu-interface.patch
+setup_per_zone_pages_min-overflow-fix.patch
+s390-lcs-incorrect-test.patch
+initramfs-fix-cpio-hardlink-check.patch
+s390-add-vmsplice-system-call.patch
+symbol_put_addr-locks-kernel.patch
+contact-info-update.patch
+smbfs-fix-slab-corruption-in-samba-error-path.patch
+add-slab_is_available-routine-for-boot-code.patch
+led-improve-kconfig-information.patch
+backlight-lcd-class-fix-sysfs-_store-error-handling.patch
+led-add-maintainer-entry-for-the-led-subsystem.patch
+led-fix-sysfs-store-function-error-handling.patch
+v9fs-twalk-memory-leak.patch
+v9fs-signal-handling-fixes.patch
+fix-can_share_swap_page-when-config_swap.patch
+add-core-solo-and-core-duo-support-to-oprofile.patch
+tpm-fix-constant.patch
+final-rio-polish.patch
+final-rio-polish-fix.patch
+tpm_register_hardware-gcc-41-warning-fix.patch
+fs-compatc-fix-if-a-=-b-typo.patch
+root-mount-failure-emit-filesystems-attempted.patch
+revert-vfs-propagate-mnt_flags-into-do_loopback-vfsmount.patch
+smbus-unhiding-kills-thermal-management.patch
+fix-hotplug-kconfig-help.patch
+zone-init-check-and-report-unaligned-zone-boundaries.patch
+x86-align-highmem-zone-boundaries-with-numa.patch
+zone-allow-unaligned-zone-boundaries.patch
+gigaset-endian-fix.patch
+fix-typos-in-documentation-memory-barrierstxt.patch
+ide_cs-add-ibm-microdrive-to-known-ids.patch
+nfs-fix-error-handling-on-access_ok-in-compat_sys_nfsservctl.patch
+devices-txt-remove-pktcdvd-entry.patch
+jffs2-warning-fixes.patch
+dl2k-build-fix.patch

 2.6.17 queue

+acpi-dock-driver-v4.patch
+acpi-dock-driver-interface-fixups.patch

 Updates and fixes against acpi-dock-driver.patch

+asus_acpi-w3000-support.patch

 Asus ACPI driver update

+uninorth-agp-warning-fixes.patch
+alpha-agp-warning-fix.patch

 AGP fixes

+blk_start_queue-must-be-called-with-irq-disabled-add-warning.patch

 block layer debug check

+cifs-do-not-overwrite-aops-elements.patch

 CIFS was being bad.

+dprintk-adjustments-to-cpufreq-nforce2.patch
+dprintk-adjustments-to-cpufreq-speedstep-centrino.patch
+cpufreq-dprintk-adjustments.patch

 cpufreq driover cleanups and fixes

+gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
+gregkh-driver-driver-core-config_debug_pm-covers-drivers-base-power-too.patch
+gregkh-driver-platform_bus-learns-about-modalias.patch
+gregkh-driver-driver-core-remove-exports.patch
+gregkh-driver-kevent-add-new-uevent.patch
+gregkh-driver-driver-core-allow-sysdev_class-have-attributes.patch
+gregkh-driver-driver-core-fix-platform_device_add-to-use-device_add.patch
+gregkh-driver-driver-core-add-sys-hypervisor-when-needed.patch
+gregkh-driver-kobject-warn.patch
+gregkh-driver-warn-when-statically-allocated-kobjects-are-used.patch

 Driver tree updates

+gregkh-driver-platform_bus-learns-about-modalias-warning-fix.patch
+gregkh-driver-warn-when-statically-allocated-kobjects-are-used-fix.patch

 Fix them.

+drivers-base-firmware_classc-cleanups.patch
+s3c24xx-gpio-based-spi-driver.patch
+s3c24xx-hardware-spi-driver.patch
+s3c24xx-hardware-spi-driver-tidy.patch

 Other driver tree things.

+scx200_acb-use-pci-i-o-resource-when-appropriate-fix.patch

 Fix scx200_acb-use-pci-i-o-resource-when-appropriate.patch

+w1-warning-fix.patch

 Fix warning

-disable-atykb-warning.patch
+remove-silly-messages-from-input-layer.patch

 New version

+via-pmu-add-input-device.patch
+via-pmu-add-input-device-tidy.patch
+fix-mem-leak-in-sidewinder-driver.patch

 Input things.

+add-dependency-on-kernelrelease-to-the-package-targets.patch

 kbuild feature

+kbuild-export-type-enhancement-to-modpostc.patch
+kbuild-prevent-building-modules-that-wont-load.patch
+kbuild-export-symbol-usage-report-generator.patch

 More kbuild work

+git-klibc-alpha-fixes.patch
+git-klibc-ident-fix.patch
+git-klibc-build-hacks.patch

+git-hdrcleanup-fixup.patch
+git-hdrcleanup-vs-git-klibc-on-ia64.patch
+git-hdrcleanup-vs-git-klibc-on-ia64-2.patch

+git-hdrinstall-fixup.patch

 Various fixes against the new git trees

+sdhci-truncated-pointer-fix.patch

 MMC fix

+nand_base-modular-fix.patch
+git-mtd-non-arm-fix.patch
+git-mtd-isnt-arm-only.patch

 MTD fixes

+drivers-char-hw_randomc-remove-asserts.patch

 hw_random cleanup

+fix-phy-id-for-lxt971a-lxt972a.patch

 net driver fix

+clean-up-initcall-warning-for-netconsole.patch
+remove-dead-entry-in-net-wan-kconfig.patch
+ppp_async-hang-fix.patch
+selinux-add-security-class-for-appletalk-sockets.patch
+fix-mem-leak-in-netfilter.patch
+neighbourc-pneigh_get_next-skips-published-entry.patch

 networking

+nfs-permit-filesystem-to-override-root-dentry-on-mount.patch
+nfs-permit-filesystem-to-perform-statfs-with-a-known-root-dentry.patch
+ipath-vs-nfs-permit-filesystem-to-override-root-dentry-on-mount.patch
+git-gfs2-vs-nfs-permit-filesystem-to-override-root-dentry-on-mount.patch
+nfs-abstract-out-namespace-initialisation.patch
+nfs-add-dentry-materialisation-op.patch
+nfs-split-fs-nfs-inodec-into-inode-superblock-and-namespace-bits.patch
+nfs-share-nfs-superblocks-per-protocol-per-server-per-fsid.patch
+nfs-share-nfs-superblocks-per-protocol-per-server-per-fsid-fix.patch
+nfs-share-nfs-superblocks-per-protocol-per-server-per-fsid-warning-fixes.patch
+fs-cache-provide-a-filesystem-specific-syncable-page-bit.patch
+fs-cache-add-notification-of-page-becoming-writable-to-vma-ops.patch
+fs-cache-avoid-enfile-checking-for-kernel-specific-open-files.patch
+fs-cache-generic-filesystem-caching-facility.patch
+fs-cache-make-kafs-use-fs-cache.patch
+fs-cache-cachefiles-a-cache-that-backs-onto-a-mounted-filesystem.patch
+fs-cache-cachefiles-a-cache-that-backs-onto-a-mounted-filesystem-export-__audit_inode_child.patch
+fs-cache-cachefiles-a-cache-that-backs-onto-a-mounted-filesystem-warning-fixes.patch
+fs-cache-vs-vfs-add-lock-owner-argument-to-flush-operation.patch
+fs-cache-release-page-private-in-failed-readahead.patch
+fs-cache-release-page-private-in-failed-readahead-uninlining.patch
+fs-cache-release-page-private-in-failed-readahead-uninlining-2.patch
+nfs-use-local-caching.patch
+nfs-use-local-caching-fix.patch

 cachefs

+powerpc-pseries-increment-fail-counter-in-pci-recovery.patch
+powerpc-kbuild-warning-fix.patch

 powerpc fixes

+fix-pciehp-compile-issue-when-config_acpi-is-not.patch
+i386-export-memory-more-than-4g-through-proc-iomem.patch
+fix-recovery-path-from-errors-during-pcie_init.patch
+move-various-pci-ids-to-header-file.patch

 PCI fixes

-pci-add-pci_assign_resource_fixed-allow-fixed-address-fix.patch

 Folded into pci-add-pci_assign_resource_fixed-allow-fixed-address.patch

+kconfigurable-resources-core-changes.patch
+kconfigurable-resources-core-changes-i386-fix.patch
+kconfigurable-resources-core-changes-fix.patch
+kconfigurable-resources-driver-pci-changes.patch
+kconfigurable-resources-driver-others-changes.patch
+kconfigurable-resources-arch-dependent-changes-arch-a-i.patch
+kconfigurable-resources-arch-dependent-changes-arch-a-i-fix.patch
+kconfigurable-resources-arch-dependent-changes-arch-j-p.patch
+kconfigurable-resources-arch-dependent-changes-arch-q-z.patch
+typesh-sector_t-and-blkcnt_t-arent-for-userspace.patch

 Make the newly-64-bit resource.start and resource.end Kconfigurably 32-bit.

+ti-pcixx12-cardbus-controller-support.patch

 Cardbus controller device support

+drivers-scsi-use-array_size-macro.patch
+lpfc-sparse-null-warnings.patch
+mpt_interrupt-should-return-irq_none-when.patch
+aic7-cleanup-module_parm_desc-strings.patch
+qla2xxx-lock-ordering-fix.patch
+qla2xxx-lock-ordering-fix-warning-fix.patch
+random-remove-redundant-sa_sample_random-from-ninjascsi.patch
+megaraid-gcc-41-warning-fix.patch
+buslogic-gcc-41-warning-fixes.patch
+add-scsi_add_host-failure-handling-for-nsp32.patch

 scsi things

+gregkh-usb-usb-console-fix-disconnection-issues.patch
+gregkh-usb-usb-clean-out-an-unnecessary-null-check-from-ub.patch
+gregkh-usb-usbatm-remove-pointless-inline.patch
+gregkh-usb-usbatm-remove-no-longer-needed-include.patch
+gregkh-usb-usb-phidget-interfacekit-make-inputs-pollable-and-new-device-support.patch
+gregkh-usb-usb-shuttle_usbat-fix-handling-of-scatter-gather-buffers.patch
+gregkh-usb-usb-shuttle_usbat-hardcode-detection-of-hp-cdrw-devices.patch
+gregkh-usb-usb-shuttle_usbat-hardcode-flash-detection-for-now.patch
+gregkh-usb-usb-usb-storage-alauda-fix-transport-info-mismerge.patch
+gregkh-usb-usb-net2280-add-a-shutdown-routine.patch
+gregkh-usb-usb-uhci-store-the-endpoint-type-in-the-qh-structure.patch
+gregkh-usb-usb-uhci-fix-obscure-bug-in-enqueue.patch
+gregkh-usb-usb-hid-hidbp-input-drivers-fix-various-usb-input-hid-input.c-bugs-that-make-apple-mighty-mouse-work-poorly.patch

 USB tree updates

-fix-sco-on-some-bluetooth-adapters.patch
+fix-sco-on-some-bluetooth-adapters-2.patch

 New version

+x86_64-mm-add-end-endproc-annotations-to-entrys.patch
+x86_64-mm-i386-numa-summit-check.patch
+x86_64-mm-fix-unlikely-profiling--vsyscalls-on-x86_64.patch
+x86_64-mm-fix-b44-checks.patch
+x86_64-mm-nommu-warning.patch
+x86_64-mm-nmi-watchdog-header-cleanup.patch
+x86_64-mm-add-performance-counter-reservation-framework-for-up-kernels.patch
+x86_64-mm-utilize-performance-counter-reservation-framework-in-oprofile.patch
+x86_64-mm-add-smp-support-on-x86_64-to-reservation-framework.patch
+x86_64-mm-add-smp-support-on-i386-to-reservation-framework.patch
+x86_64-mm-cleanup-nmi-interrupt-path.patch
+x86_64-mm-remove-un-set_nmi_callback-and-reserve-release_lapic_nmi-functions.patch
+x86_64-mm-add-abilty-to-enable-disable-nmi-watchdog-from-sysfs.patch

 x86_64 tree updates

+x86_64-mm-remove-un-set_nmi_callback-and-reserve-release_lapic_nmi-functions-x86-fix.patch
+x86_64-mm-remove-un-set_nmi_callback-and-reserve-release_lapic_nmi-functions-x86-fix-fix.patch
+x86_64-mm-remove-un-set_nmi_callback-and-reserve-release_lapic_nmi-functions-x86_64-fix.patch
+x86_64-mm-serialize-assign_irq_vector-use-of-static-variables-fix.patch
+add-abilty-to-enable-disable-nmi-watchdog-from-procfs.patch

 Fix them.

-gregkh-devfs-devfs-die-die-die.patch
-gregkh-devfs-devfs-remove-documentation.patch
-gregkh-devfs-devfs-scrub-partitions.patch
-gregkh-devfs-devfs-scrub-init.patch
-gregkh-devfs-devfs-remove-serial-subsystem.patch
-gregkh-devfs-devfs-remove-ide-subsystem.patch
-gregkh-devfs-devfs-remove-sound-subsystem.patch
-gregkh-devfs-devfs-remove-devfs-tape.patch
-gregkh-devfs-devfs-remove-devfs_mk_dir.patch
-gregkh-devfs-devfs-remove-devfs_mk_symlink.patch
-gregkh-devfs-devfs-remove-devfs_mk_bdev.patch
-gregkh-devfs-devfs-remove-devfs_mk_cdev.patch
-gregkh-devfs-devfs-remove-devfs_remove.patch
-gregkh-devfs-devfs-remove-devfs_fs_kernel.h.patch
-gregkh-devfs-devfs-remove-misc-devfs_name.patch
-gregkh-devfs-devfs-remove-genhd-devfs_name.patch
-gregkh-devfs-devfs-remove-videodev-devfs_name.patch
-gregkh-devfs-devfs-remove-line-devfs_name.patch
-gregkh-devfs-devfs-remove-tty-devfs_name.patch
-gregkh-devfs-devfs-tty_driver_no_devfs.patch
-gregkh-devfs-devfs-minor-cleanups.patch
-gregkh-devfs-devfs-feature-removal.patch

 Dropped - too much overlap with the klibc work

+pgdat-allocation-for-new-node-add-specify-node-id-tidy-cleanup.patch
+fix-compile-error-undefined-reference-for-sparc64.patch

 Fix pgdat-allocation-for-new-node-add-specify-node-id.patch some more

+pgdat-allocation-and-update-for-ia64-of-memory-hotplughold-pgdat-address-at-system-running.patch
+pgdat-allocation-and-update-for-ia64-of-memory-hotplug-update-pgdat-address-array.patch
+pgdat-allocation-and-update-for-ia64-of-memory-hotplugallocate-pgdat-and-per-node-data.patch
+page-migration-cleanup-extract-try_to_unmap-from-migration-functions-update-comments-7.patch
+page-migration-cleanup-move-fallback-handling-into-special-function-update-comments-9.patch
+swapless-pm-add-r-w-migration-entries-fix.patch
+swapless-pm-add-r-w-migration-entries-ifdefs.patch
+swapless-pm-add-r-w-migration-entries-update-comments.patch
+swapless-pm-add-r-w-migration-entries-update-comments-4.patch
+swapless-pm-add-r-w-migration-entries-update-comments-6.patch
+swapless-page-migration-modify-core-logic-remove-useless-mapping-checks.patch
+more-page-migration-use-migration-entries-for-file-pages-fix.patch
+more-page-migration-use-migration-entries-for-file-pages-update-comments-5.patch
+more-page-migration-use-migration-entries-for-file-pages-update-comments-8.patch
+more-page-migration-use-migration-entries-for-file-pages-remove_migration_ptes.patch
+more-page-migration-use-migration-entries-for-file-pages-replace-call-to-pageout-with-writepage-2.patch
+page-migration-update-documentation.patch
+aop_truncated_page-victims-in-read_pages-belong-in-the-lru.patch
+introduce-mechanism-for-registering-active-regions-of-memory.patch
+have-power-use-add_active_range-and-free_area_init_nodes.patch
+have-x86-use-add_active_range-and-free_area_init_nodes.patch
+have-x86_64-use-add_active_range-and-free_area_init_nodes.patch
+#have-ia64-use-add_active_range-and-free_area_init_nodes.patch
+tracking-dirty-pages-in-shared-mappings-v4.patch
+tracking-dirty-pages-in-shared-mappings-v4-fix2.patch
+tracking-dirty-pages-in-shared-mappings-v4-fix3.patch
+throttle-writers-of-shared-mappings.patch
+throttle-writers-of-shared-mappings-tidy.patch
+optimize-follow_pages.patch
+slab-verify-pointers-before-free.patch
+sparsemem-record-nid-during-memory-present.patch

 Memory management updates

+fix-x86-microcode-driver-handling-of-multiple-matching.patch
+i386-break-out-of-recursion-in-stackframe-walk.patch
+dont-trigger-full-rebuild-via-config_x86_mce.patch

 x86 updates

-x86_64-disable-tsc-with-seccomp.patch

 Dropped

+remove-duplicate-symbol-exports-on-alpha.patch

 Cleanup

+swsusp-documentation-updates.patch
+swsusp-fix-typo-in-cr0-handling.patch

 swsusp updates

-s390-hypervisor-file-system.patch
-s390-hypervisor-file-system-fixes.patch

 Dropped (what I had was out of date and it got all confusing.  Need a resend)

+add-raw-driver-kconfig-entry-for-s390.patch

 Enable raw driver on s390

+percpu-counter-data-type-changes-to-suppport-fix-fix-fix.patch

 Fix percpu-counter-data-type-changes-to-suppport.patch some more

+make-rcu-api-inaccessible-to-non-gpl-linux-kernel-modules.patch
+doc-add-audit-acct-to-docbook.patch
+ip2-fix-sections.patch
+sgi-ioc4-detect-io-card-variant.patch
+two-additions-to-linux-documentation-ioctl-numbertxt.patch
+when-config_base_samll=1-the-kernel-261611-cascade-in-kernel-timerc-may-enter-the-infinite-loop.patch
+codingstyle-add-typedefs-chapter.patch
+fs-bufferc-possible-cleanups.patch
+rtc-rtc-dev-uie-emulation.patch
+drivers-md-raid6algosc-fix-a-null-dereference.patch
+adjust-handle_irr_event-return-type.patch
+sparse-fixes-for-synclink_cs.patch
+jbd-split-checkpoint-lists.patch
+jbd-split-checkpoint-lists-tidy.patch
+add-__iowrite64_copy.patch
+add-pci_cap_id_vndr.patch
+mark-address_space_operations-const.patch
+mark-address_space_operations-const-fix.patch
+mark-address_space_operations-const-fix-2.patch
+more-bug_on-conversion.patch
+make-kernel-ignore-bogus-partitions.patch
+drivers-block-loopc-dont-return-garbage-if-loop_set_status-not-called.patch
+docs-update-sparsetxt-with-check_endian.patch
+drivers-acorn-char-pcf8583-vs-rtc-subsystem.patch
+rewritten-backlight-infrastructure-for-portable-apple-computers.patch
+ensure-null-deref-cant-possibly-happen-in-is_exported.patch
+bluetooth-fix-potential-null-ptr-deref-in-dtl1_cscdtl1_hci_send_frame.patch
+bloat-o-meter-gcc-4-fix.patch
+random-remove-sa_sample_random-from-floppy-driver.patch
+random-make-cciss-use-add_disk_randomness.patch
+random-change-cpqarray-to-use-add_disk_randomness.patch
+random-remove-bogus-sa_sample_random-from-at91-compact-flash-driver.patch
+random-remove-redundant-sa_sample_random-from-touchscreen-drivers.patch
+define-__raw_get_cpu_var-and-use-it.patch
+allow-for-per-cpu-data-being-in-tdata-and-tbss-sections.patch
+allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-fix.patch
+allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-tidy.patch
+deprecate-smbfs-in-favour-of-cifs.patch
+allow-raw_notifier-callouts-to-unregister-themselves.patch
+hptiop-highpoint-rocketraid-3xxx-controller-driver.patch
+hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking.patch
+hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking-updates.patch
+hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking-updates-updates-2.patch
+fix-kbuild-dependencies-for-synclink-drivers.patch
+fs-freevxfs-cleanup-of-spelling-errors.patch
+pnp-card_probe-fix-memory-leak.patch
+fix-unlikely-memory-leak-in-dac960-driver.patch
+ufs-ufs_trunc_indirect-infinite-cycle.patch
+ufs-right-block-allocation.patch
+ufs-right-block-allocation-fixes.patch
+sunsu-license-fix.patch

 Patches ;)

+per-task-delay-accounting-setup.patch
+per-task-delay-accounting-setup-fix-1.patch
+per-task-delay-accounting-setup-fix-2.patch
+per-task-delay-accounting-sync-block-i-o-and-swapin-delay-collection.patch
+per-task-delay-accounting-sync-block-i-o-and-swapin-delay-collection-fix-1.patch
+per-task-delay-accounting-cpu-delay-collection-via-schedstats.patch
+per-task-delay-accounting-cpu-delay-collection-via-schedstats-fix-1.patch
+per-task-delay-accounting-utilities-for-genetlink-usage.patch
+per-task-delay-accounting-taskstats-interface.patch
+per-task-delay-accounting-taskstats-interface-fix-1.patch
+per-task-delay-accounting-delay-accounting-usage-of-taskstats-interface.patch
+per-task-delay-accounting-delay-accounting-usage-of-taskstats-interface-use-portable-cputime-api-in-__delayacct_add_tsk.patch
+per-task-delay-accounting-documentation.patch
+per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays.patch
+per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays-warning-fix.patch

 per-task delay accounting

+time-use-clocksource-abstraction-for-ntp-adjustments-optimize-out-some-mults-since-gcc-cant-avoid-them.patch
+time-i386-clocksource-drivers-fix-spelling-typos.patch
+generic-time-add-macro-to-simplify-hide-mask.patch

 Updates to the x86 time management patches

-mmc-multi-sector-writes.patch

 Dropped

+capi-crash--race-condition.patch

 i4l semifix

+kconfig-select-things-at-the-closest-tristate-instead-of-bool.patch

 nfsd Kconfig fix

+sched-comment-bitmap-size-accounting.patch
+unnecessary-long-index-i-in-sched.patch

 CPU scheduler work

+mm-implement-swap-prefetching-fix.patch
+mm-implement-swap-prefetching-sched-batch.patch

 swap-prefetch fixes

+pi-futex-patchset-v4-fix.patch
+document-futex-pi-design.patch
+document-futex-pi-design-fix.patch
+document-futex-pi-design-fix-fix.patch
+futex_requeue-optimization.patch

 pi-futex updates

+de_thread-fix-lockless-do_each_thread.patch

 task maangment fix

+coredump-kill-ptrace-related-stuff-fix.patch

 Fix coredump-kill-ptrace-related-stuff.patch

+ecryptfs-fs-makefile-and-fs-kconfig.patch
+ecryptfs-documentation.patch
+ecryptfs-makefile.patch
+ecryptfs-main-module-functions.patch
+ecryptfs-main-module-functions-vs-nfs-permit-filesystem-to-override-root-dentry-on-mount.patch
+ecryptfs-header-declarations.patch
+ecryptfs-superblock-operations.patch
+ecryptfs-dentry-operations.patch
+ecryptfs-file-operations.patch
+ecryptfs-inode-operations.patch
+ecryptfs-mmap-operations.patch
+mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch
+ecryptfs-keystore.patch
+ecryptfs-crypto-functions.patch
+ecryptfs-debug-functions.patch
+ecryptfs-alpha-build-fix.patch

 ecryptfs

+reiser4-add-missing-txn_restart-before-get_nonexclusive_access-calls.patch
+reiser4-check-radix-tree-emptiness-properly.patch
+reiser4-check-radix-tree-emptiness-properly-2.patch

 reiser4 updates

+reiser4-vs-nfs-permit-filesystem-to-override-root-dentry-on-mount.patch
+reiser4-vs-nfs-permit-filesystem-to-perform-statfs-with-a-known-root-dentry.patch

 Fix reiser4 damage due to other patches

+ide-fix-hpt37x-timing-tables.patch
+ide-optimize-hpt37x-timing-tables.patch
+ide-fix-hpt3xx-hotswap-support.patch
+ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch
+ide-hpt3xx-fix-pci-clock-detection.patch
+ide-pdc202xx_old-remove-the-obsolete-busproc.patch
+piix-fix-82371mx-enablebits.patch
+piix-remove-check-for-broken-mw-dma-mode-0.patch
+piix-slc90e66-pio-mode-fallback-fix.patch
+make-number-of-ide-interfaces-configurable.patch

 IDE driver fixes

+nvidiafb-add-support-for-geforce-6100-and-related-chipsets.patch
+fbdev-add-1366x768-wxga-mode-to-mode-database.patch
+intelfb-use-firmware-edid-for-mode-database.patch
+vesafb-fix-return-code-of-vesafb_setcolreg.patch
+vesafb-prefer-vga-registers-over-pmi.patch
+vt-delay-the-update-of-the-visible-console.patch
+atyfb-fix-dead-code.patch
+fbdev-coverity-bug-85.patch
+fbdev-coverity-bug-90.patch

 fbdev driver updates

+md-bitmap-fix-online-removal-of-file-backed-bitmaps.patch
+md-bitmap-remove-bitmap-writeback-daemon.patch
+md-bitmap-cleaner-separation-of-page-attribute-handlers-in-md-bitmap.patch
+md-bitmap-use-set_bit-etc-for-bitmap-page-attributes.patch
+md-bitmap-remove-unnecessary-page-reference-manipulations-from-md-bitmap-code.patch
+md-bitmap-remove-dead-code-from-md-bitmap.patch
+md-bitmap-tidy-up-i_writecount-handling-in-md-bitmap.patch
+md-bitmap-change-md-bitmap-file-handling-to-use-bmap-to-file-blocks.patch

 RAID updates

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

 Dropped due to rejects

-exit-dont-call-sleeping-things-when-oopsing.patch

 Dropped due to lack of interest



All 992 patches:

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



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 10:09 ` Eric Dumazet
  2006-05-15 11:03   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 13:12 ` 2.6.17-rc4-mm1 Reuben Farrelly
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 37+ messages in thread
From: Eric Dumazet @ 2006-05-15 10:09 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hi Andrew

It seems latest kernels have a problem in kmem_cache_destroy()

On a dual opteron machine (NUMA), its quite easy do trigger the bug : 
doing a oprofile session like :

opcontrol --setup --event=CPU_CLK_UNHALTED:100000 
--vmlinux=/usr/src/linux-2.6.17-rc4-mm1/vmlinux
...
opcontrol --dump
...
opcontrol --deinit    <<<-- Triggers the bug

slab error in kmem_cache_destroy(): cache `dcookie_cache': Can't free 
all objects

Call Trace: <ffffffff80278aa4>{kmem_cache_destroy+212}
       <ffffffff802bc559>{dcookie_unregister+345} 
<ffffffff803bbe7a>{event_buffer_release+26}
       <ffffffff8027cee2>{__fput+98} <ffffffff80279ecd>{filp_close+93}
       <ffffffff8023003e>{put_files_struct+110} 
<ffffffff8023143a>{do_exit+650}
       <ffffffff802f58f1>{__up_write+33} 
<ffffffff80231bb8>{do_group_exit+200}
       <ffffffff802097ce>{system_call+126}

# grep dcookie_cache /proc/slabinfo
dcookie_cache          0      0     32  101    1 : tunables  120   60    
8 : slabdata      0      0      0


This problem is annoying, because in the oprofile case, we must reboot 
the machine to be able to start a new profile session.

Eric




^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 10:09 ` 2.6.17-rc4-mm1 Eric Dumazet
@ 2006-05-15 11:03   ` Andrew Morton
  2006-05-15 11:42     ` 2.6.17-rc4-mm1 Pekka Enberg
  2006-05-15 13:28     ` 2.6.17-rc4-mm1 Eric Dumazet
  0 siblings, 2 replies; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 11:03 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: linux-kernel

Eric Dumazet <dada1@cosmosbay.com> wrote:
>
> Hi Andrew
> 
> It seems latest kernels have a problem in kmem_cache_destroy()

Mainline, or just -mm?

> On a dual opteron machine (NUMA), its quite easy do trigger the bug : 
> doing a oprofile session like :
> 
> opcontrol --setup --event=CPU_CLK_UNHALTED:100000 
> --vmlinux=/usr/src/linux-2.6.17-rc4-mm1/vmlinux
> ...
> opcontrol --dump
> ...
> opcontrol --deinit    <<<-- Triggers the bug
> 
> slab error in kmem_cache_destroy(): cache `dcookie_cache': Can't free 
> all objects
> 
> Call Trace: <ffffffff80278aa4>{kmem_cache_destroy+212}
>        <ffffffff802bc559>{dcookie_unregister+345} 
> <ffffffff803bbe7a>{event_buffer_release+26}
>        <ffffffff8027cee2>{__fput+98} <ffffffff80279ecd>{filp_close+93}
>        <ffffffff8023003e>{put_files_struct+110} 
> <ffffffff8023143a>{do_exit+650}
>        <ffffffff802f58f1>{__up_write+33} 
> <ffffffff80231bb8>{do_group_exit+200}
>        <ffffffff802097ce>{system_call+126}
> 
> # grep dcookie_cache /proc/slabinfo
> dcookie_cache          0      0     32  101    1 : tunables  120   60    
> 8 : slabdata      0      0      0
> 
> 
> This problem is annoying, because in the oprofile case, we must reboot 
> the machine to be able to start a new profile session.
> 

sony:/home/akpm# opcontrol --setup --event=CPU_CLK_UNHALTED:100000  --vmlinux=/boot/vmlinux-2.6.17-rc4-mm1
sony:/home/akpm# opcontrol --start
Using 2.6+ OProfile kernel interface.
Reading module info.
Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.
sony:/home/akpm# opcontrol --dump 
sony:/home/akpm# opcontrol --stop
Stopping profiling.
sony:/home/akpm# opcontrol --deinit
Stopping profiling.
Killing daemon.
Unloading oprofile module
sony:/home/akpm# dmesg

   <nothing>

Can you provide a more detailed method for reproducing this?

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 11:03   ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 11:42     ` Pekka Enberg
  2006-05-15 13:28     ` 2.6.17-rc4-mm1 Eric Dumazet
  1 sibling, 0 replies; 37+ messages in thread
From: Pekka Enberg @ 2006-05-15 11:42 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Eric Dumazet, linux-kernel

Hi Andrew,

Eric Dumazet <dada1@cosmosbay.com> wrote:
> > It seems latest kernels have a problem in kmem_cache_destroy()

On 5/15/06, Andrew Morton <akpm@osdl.org> wrote:
> Mainline, or just -mm?

Could be in mainline. See the following thread:
http://lkml.org/lkml/2006/4/27/69. Can't reproduce locally so waiting
for git bisect results from the original reporter...

                                     Pekka

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 10:09 ` 2.6.17-rc4-mm1 Eric Dumazet
@ 2006-05-15 13:12 ` Reuben Farrelly
  2006-05-15 22:09   ` 2.6.17-rc4-mm1 Neil Brown
  2006-05-15 16:40 ` 2.6.17-rc4-mm1 Michal Piotrowski
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 37+ messages in thread
From: Reuben Farrelly @ 2006-05-15 13:12 UTC (permalink / raw)
  To: Andrew Morton, Neil Brown; +Cc: linux-kernel



On 15/05/2006 7:56 p.m., Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> 
> - This tree contains a large number of new bugs^H^H^H^Hpatches.

Indeed.  This is the first -mm in a fair while that has crapped itself on boot 
on my box.

NeilB - is this yours?

usbcore: registered new driver libusual
usbcore: registered new driver hiddev
input: Belkin Components Belkin OmniView KVM Switch as /class/input/input0
input: USB HID v1.00 Keyboard [Belkin Components Belkin OmniView KVM Switch] on 
usb-0000:00:1d.0-1.1
input: Belkin Components Belkin OmniView KVM Switch as /class/input/input1
input: USB HID v1.00 Mouse [Belkin Components Belkin OmniView KVM Switch] on 
usb-0000:00:1d.0-1.1
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
mice: PS/2 mouse device common for all mice
md: raid1 personality registered for level 1
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
EDAC MC: Ver: 2.0.0 May 15 2006
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 208k freed
Red Hat nash version 5.0.39 starting
Mounting proc filesystem
Mounting sysfs filesystem
Creating /dev
Creating initial device nodes
Setting up hotplug.
Creating block device nodes.
Loading ide-disk.ko module
md: Autodetecting RAID arrays.
md: autorun ...
md: considering sdc11 ...
md:  adding sdc11 ...
md: sdc10 has different UUID to sdc11
md: sdc7 has different UUID to sdc11
md: sdc6 has different UUID to sdc11
md: sdc5 has different UUID to sdc11
md: sdc3 has different UUID to sdc11
md: sdc2 has different UUID to sdc11
md:  adding sda11 ...
md: sda10 has different UUID to sdc11
md: sda7 has different UUID to sdc11
md: sda6 has different UUID to sdc11
md: sda5 has different UUID to sdc11
md: sda3 has different UUID to sdc11
md: sda2 has different UUID to sdc11
md: created md5
md: bind<sda11>
md: bind<sdc11>
md: running: <sdc11><sda11>
raid1: raid set md5 active with 0 out of 2 mirrors
md: considering sdc10 ...
md:  adding sdc10 ...
md: sdc7 has different UUID to sdc10
md: sdc6 has different UUID to sdc10
md: sdc5 has different UUID to sdc10
md: sdc3 has different UUID to sdc10
md: sdc2 has different UUID to sdc10
md:  adding sda10 ...
md: sda7 has different UUID to sdc10
md: sda6 has different UUID to sdc10
md: sda5 has different UUID to sdc10
md: sda3 has different UUID to sdc10
md: sda2 has different UUID to sdc10
md: created md6
md: bind<sda10>
md: bind<sdc10>
md: running: <sdc10><sda10>
raid1: raid set md6 active with 0 out of 2 mirrors
md: considering sdc7 ...
md:  adding sdc7 ...
md: sdc6 has different UUID to sdc7
md: sdc5 has different UUID to sdc7
md: sdc3 has different UUID to sdc7
md: sdc2 has different UUID to sdc7
md:  adding sda7 ...
md: sda6 has different UUID to sdc7
md: sda5 has different UUID to sdc7
md: sda3 has different UUID to sdc7
md: sda2 has different UUID to sdc7
md: created md4
md: bind<sda7>
md: bind<sdc7>
md: running: <sdc7><sda7>
raid1: raid set md4 active with 0 out of 2 mirrors
Unable to handle kernel NULL pointer dereference at 0000000000000010 RIP:
<ffffffff8040e828>{bitmap_create+152}
PGD 3ed90067 PUD 3ed91067 PMD 0
Oops: 0000 [1] SMP
last sysfs file: /block/fd0/removable
CPU 0
Modules linked in: ide_disk
Pid: 1, comm: init Not tainted 2.6.17-rc4-mm1 #1
RIP: 0010:[<ffffffff8040e828>] <ffffffff8040e828>{bitmap_create+152}
RSP: 0000:ffff81003f603ad8  EFLAGS: 00010246
RAX: 0000000000000008 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff810037d424c0
RBP: ffff810037d423c0 R08: 0000000000005d7a R09: 0000000000000000
R10: ffff810037d423c0 R11: 0000000000000100 R12: 00000000fffffff4
R13: ffff81003ed65000 R14: 00000000000f3180 R15: ffff81003ed650d0
FS:  000000000066e890(0063) GS:ffffffff8060e000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000010 CR3: 000000003ed89000 CR4: 00000000000006e0
Process init (pid: 1, threadinfo ffff81003f602000, task ffff81003f601530)
Stack: ffff810037d94fc0 ffffffff80406ee6 0000000100000001 000000013edb40c0
        ffff81003edb40c0 ffff81003ed65018 ffff810037d44f40 ffff810037d427c0
        ffff81003ed65000 ffffffff80404a16
Call Trace: <ffffffff80406ee6>{md_register_thread+167}
        <ffffffff80404a16>{run+942} <ffffffff804080c8>{do_md_run+1208}
        <ffffffff804067ae>{bind_rdev_to_array+494} 
<ffffffff8034d826>{kobject_register+51}
        <ffffffff804069c4>{mddev_find+122} <ffffffff8040865d>{autorun_devices+731}
        <ffffffff80224627>{alloc_inode+246} <ffffffff8040b445>{md_ioctl+165}
        <ffffffff802d641d>{sysfs_make_dirent+27} 
<ffffffff80259cac>{kobject_uevent+220}
        <ffffffff802d5cc4>{sysfs_add_file+118} 
<ffffffff8034690c>{blkdev_driver_ioctl+92}
        <ffffffff80346fd8>{blkdev_ioctl+1704} 
<ffffffff802b536f>{check_disk_change+31}
        <ffffffff8040c84b>{md_open+92} <ffffffff802b5df6>{blkdev_open+0}
        <ffffffff802b5df6>{blkdev_open+0} <ffffffff802b5adb>{do_open+651}
        <ffffffff802b583d>{bdget+277} <ffffffff802b5df6>{blkdev_open+0}
        <ffffffff802b5e17>{blkdev_open+33} <ffffffff8021d712>{__dentry_open+258}
        <ffffffff802b51a8>{block_ioctl+27} <ffffffff802429a1>{do_ioctl+33}
        <ffffffff8022fb0c>{vfs_ioctl+636} <ffffffff8024d8b8>{sys_ioctl+91}
        <ffffffff8025ea72>{system_call+126}

Code: 48 8b 43 10 48 8b 40 10 48 8b b8 10 01 00 00 e8 cf cd e4 ff
RIP <ffffffff8040e828>{bitmap_create+152} RSP <ffff81003f603ad8>
CR2: 0000000000000010
  <0>Kernel panic - not syncing: Attempted to kill init!
  <0>Rebooting in 60 seconds..


-rc3-mm1 doesn't have this problem, but rc4-mm1 does.  It seems like the right 
devices are found and added but no md is created for them.

Here's some output with -rc3-mm1 which is ok:

[root@tornado ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc3[1] sda3[0]
       4891712 blocks [2/2] [UU]
       bitmap: 2/150 pages [8KB], 16KB chunk

md2 : active raid1 sdc5[1] sda5[0]
       4891648 blocks [2/2] [UU]
       bitmap: 19/150 pages [76KB], 16KB chunk

md3 : active raid1 sdc6[1] sda6[0]
       104320 blocks [2/2] [UU]
       bitmap: 1/13 pages [4KB], 4KB chunk

md4 : active raid1 sdc7[1] sda7[0]
       497856 blocks [2/2] [UU]
       bitmap: 3/61 pages [12KB], 4KB chunk

md6 : active raid1 sdc10[1] sda10[0]
       20008832 blocks [2/2] [UU]

md5 : active raid1 sdc11[1] sda11[0]
       20008832 blocks [2/2] [UU]

md0 : active raid1 sdc2[1] sda2[0]
       24410688 blocks [2/2] [UU]
       bitmap: 16/187 pages [64KB], 64KB chunk

unused devices: <none>
[root@tornado ~]#

Box is an x86_64 with raid-1/SATA.

Thanks,
Reuben

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 11:03   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 11:42     ` 2.6.17-rc4-mm1 Pekka Enberg
@ 2006-05-15 13:28     ` Eric Dumazet
  1 sibling, 0 replies; 37+ messages in thread
From: Eric Dumazet @ 2006-05-15 13:28 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 597 bytes --]

Andrew Morton a écrit :
> Eric Dumazet <dada1@cosmosbay.com> wrote:
>   
>> Hi Andrew
>>
>> It seems latest kernels have a problem in kmem_cache_destroy()
>>     
>
> Mainline, or just -mm?
>
>   
Mainline and mm it seems, only if NUMA is ON, on 2.6.17 only (2.6.16.XX 
is OK)

I added some printks and it seems slab_partials is not empty in 
__node_shrink() for node 0

I am not a mm/slab.c expert but the following patch cures the problem 
for me :

[PATCH] slab : NUMA may need __cache_shrink() doing two loops.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>





[-- Attachment #2: __cache_shrink.patch --]
[-- Type: text/plain, Size: 1096 bytes --]

--- linux-2.6.17-rc4/mm/slab.c	2006-05-15 14:58:09.000000000 +0200
+++ linux-2.6.17-rc4-ed/mm/slab.c	2006-05-15 15:23:07.000000000 +0200
@@ -2225,25 +2225,32 @@
 		spin_lock_irq(&l3->list_lock);
 	}
 	ret = !list_empty(&l3->slabs_full) || !list_empty(&l3->slabs_partial);
+	if (ret)
+		printk(KERN_ERR "__node_shrink(name=%s,node=%d) ret=%d\n",
+			cachep->name, node, ret);
 	return ret;
 }
 
 static int __cache_shrink(struct kmem_cache *cachep)
 {
-	int ret = 0, i = 0;
+	int ret, i;
 	struct kmem_list3 *l3;
+	int loopcount = 0;
 
-	drain_cpu_caches(cachep);
+	do {
+		ret = 0;
+		drain_cpu_caches(cachep);
 
-	check_irq_on();
-	for_each_online_node(i) {
-		l3 = cachep->nodelists[i];
-		if (l3) {
-			spin_lock_irq(&l3->list_lock);
-			ret += __node_shrink(cachep, i);
-			spin_unlock_irq(&l3->list_lock);
+		check_irq_on();
+		for_each_online_node(i) {
+			l3 = cachep->nodelists[i];
+			if (l3) {
+				spin_lock_irq(&l3->list_lock);
+				ret += __node_shrink(cachep, i);
+				spin_unlock_irq(&l3->list_lock);
+			}
 		}
-	}
+	} while (ret && ++loopcount < 2);
 	return (ret ? 1 : 0);
 }
 

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 10:09 ` 2.6.17-rc4-mm1 Eric Dumazet
  2006-05-15 13:12 ` 2.6.17-rc4-mm1 Reuben Farrelly
@ 2006-05-15 16:40 ` Michal Piotrowski
  2006-05-15 17:04   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 16:49 ` 2.6.17-rc4-mm1 Alexey Dobriyan
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 16:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: perex, alsa-devel, linux-kernel

Hi,

On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
>
> - This tree contains a large number of new bugs^H^H^H^Hpatches.
[snip]
>  git-alsa.patch

BUG: sleeping function called from invalid context at
/usr/src/linux-mm/sound/core/info.c:117
in_atomic():1, irqs_disabled():0
 <c1003ef9> show_trace+0xd/0xf   <c100440c> dump_stack+0x17/0x19
  <c10178ce> __might_sleep+0x93/0x9d   <f988eeb5> snd_iprintf+0x1b/0x84 [snd]
  <f988d808> snd_card_module_info_read+0x34/0x4e [snd]   <f988f197>
snd_info_entry_open+0x20f/0x2cc [snd]
 <c1067a17> __dentry_open+0x133/0x260   <c1067bb7> nameidata_to_filp+0x1c/0x2e
 <c1067bf7> do_filp_open+0x2e/0x35   <c1068bf2> do_sys_open+0x54/0xd7
 <c1068ca1> sys_open+0x16/0x18   <c11dab67> sysenter_past_esp+0x54/0x75
Non-volatile memory driver v1.2

Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg
Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2006-05-15 16:40 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 16:49 ` Alexey Dobriyan
  2006-05-15 17:01   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 17:48 ` 2.6.17-rc4-mm1 Michal Piotrowski
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 37+ messages in thread
From: Alexey Dobriyan @ 2006-05-15 16:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Phillip Hellewell

>   - Added the ecryptfs filesystem

  CC [M]  fs/ecryptfs/super.o
fs/ecryptfs/super.c: In function `ecryptfs_statfs':
fs/ecryptfs/super.c:129: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type
fs/ecryptfs/super.c: At top level:
fs/ecryptfs/super.c:207: warning: initialization from incompatible pointer type

* ->statfs wants vfsmount as first argument
* ecryptfs_statfs() is inlined


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 16:49 ` 2.6.17-rc4-mm1 Alexey Dobriyan
@ 2006-05-15 17:01   ` Andrew Morton
  2006-05-15 18:01     ` 2.6.17-rc4-mm1 Alexey Dobriyan
  2006-05-15 19:29     ` 2.6.17-rc4-mm1 Michael Halcrow
  0 siblings, 2 replies; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 17:01 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: linux-kernel, phillip, Michael Halcrow, David Howells

Alexey Dobriyan <adobriyan@gmail.com> wrote:
>
> >   - Added the ecryptfs filesystem
> 
>   CC [M]  fs/ecryptfs/super.o
> fs/ecryptfs/super.c: In function `ecryptfs_statfs':
> fs/ecryptfs/super.c:129: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type
> fs/ecryptfs/super.c: At top level:
> fs/ecryptfs/super.c:207: warning: initialization from incompatible pointer type

hm, I wonder why I didn't notice that.

> * ->statfs wants vfsmount as first argument
> * ecryptfs_statfs() is inlined

yup.  Fixed a bunch of those, let one slip through.

I don't immediately see how to fix this one, actually:

static inline int ecryptfs_statfs(struct super_block *sb, struct kstatfs *buf)
{
	return vfs_statfs(ecryptfs_superblock_to_lower(sb), buf);
}

Once we've run ecryptfs_superblock_to_lower() to get the "lower
superblock", we need to turn that back into a vfsmount for vfs_statfs()..

(and that function needn't have been inlined - it's only ever called
indirectly)

I think I'll be dropping the fs-cache patches (again) fairly soon.  They're
intrusive, quite some effort to carry, they're not getting adequate review
(afaict) and there doesn't seem to be a lot of demand for them, sorry.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 16:40 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 17:04   ` Andrew Morton
  2006-05-15 17:30     ` 2.6.17-rc4-mm1 Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 17:04 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: perex, alsa-devel, linux-kernel, Takashi Iwai

"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
>
> Hi,
> 
> On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> >
> > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> [snip]
> >  git-alsa.patch
> 
> BUG: sleeping function called from invalid context at
> /usr/src/linux-mm/sound/core/info.c:117
> in_atomic():1, irqs_disabled():0
>  <c1003ef9> show_trace+0xd/0xf   <c100440c> dump_stack+0x17/0x19
>   <c10178ce> __might_sleep+0x93/0x9d   <f988eeb5> snd_iprintf+0x1b/0x84 [snd]
>   <f988d808> snd_card_module_info_read+0x34/0x4e [snd]   <f988f197>
> snd_info_entry_open+0x20f/0x2cc [snd]
>  <c1067a17> __dentry_open+0x133/0x260   <c1067bb7> nameidata_to_filp+0x1c/0x2e
>  <c1067bf7> do_filp_open+0x2e/0x35   <c1068bf2> do_sys_open+0x54/0xd7
>  <c1068ca1> sys_open+0x16/0x18   <c11dab67> sysenter_past_esp+0x54/0x75
> Non-volatile memory driver v1.2
> 
> Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg
> Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config

heh, yes, Takashi baited his hook and pulled in a big one.

snd_card_module_info_read() calls snd_iprintf() under read_lock()..

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:04   ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 17:30     ` Takashi Iwai
  2006-05-15 17:56       ` 2.6.17-rc4-mm1 Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2006-05-15 17:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, perex, alsa-devel, linux-kernel

At Mon, 15 May 2006 10:04:29 -0700,
Andrew Morton wrote:
> 
> "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> >
> > Hi,
> > 
> > On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > >
> > > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> > [snip]
> > >  git-alsa.patch
> > 
> > BUG: sleeping function called from invalid context at
> > /usr/src/linux-mm/sound/core/info.c:117
> > in_atomic():1, irqs_disabled():0
> >  <c1003ef9> show_trace+0xd/0xf   <c100440c> dump_stack+0x17/0x19
> >   <c10178ce> __might_sleep+0x93/0x9d   <f988eeb5> snd_iprintf+0x1b/0x84 [snd]
> >   <f988d808> snd_card_module_info_read+0x34/0x4e [snd]   <f988f197>
> > snd_info_entry_open+0x20f/0x2cc [snd]
> >  <c1067a17> __dentry_open+0x133/0x260   <c1067bb7> nameidata_to_filp+0x1c/0x2e
> >  <c1067bf7> do_filp_open+0x2e/0x35   <c1068bf2> do_sys_open+0x54/0xd7
> >  <c1068ca1> sys_open+0x16/0x18   <c11dab67> sysenter_past_esp+0x54/0x75
> > Non-volatile memory driver v1.2
> > 
> > Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg
> > Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> 
> heh, yes, Takashi baited his hook and pulled in a big one.
> 
> snd_card_module_info_read() calls snd_iprintf() under read_lock()..

Ouch, I checked only spinlocks but forgot rwlocks.  Will fix them.


Thanks.

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2006-05-15 16:49 ` 2.6.17-rc4-mm1 Alexey Dobriyan
@ 2006-05-15 17:48 ` Michal Piotrowski
  2006-05-15 18:00   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 18:05 ` 2.6.17-rc4-mm1 Jesper Juhl
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 17:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hi,

On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
>
> - This tree contains a large number of new bugs^H^H^H^Hpatches.
>
[snip]
> +kbuild-export-symbol-usage-report-generator.patch

When I try make exportcheck with O=/dir I get this error
[michal@ltg01-fedora linux-mm]$ make O=../linux-mm-obj/ exportcheck
EXPORTFILE=../linux-mm-obj/export.dat
  Using /usr/src/linux-mm as source for kernel
[..]
Can't open perl script
"/usr/src/linux-mm-obj/scripts/export_report.pl": No such file or
directory
make[2]: *** [__modpost] Error 2
make[1]: *** [modules] Error 2
make: *** [exportcheck] Error 2

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:30     ` 2.6.17-rc4-mm1 Takashi Iwai
@ 2006-05-15 17:56       ` Takashi Iwai
  2006-05-15 18:11         ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 18:50         ` 2.6.17-rc4-mm1 Michal Piotrowski
  0 siblings, 2 replies; 37+ messages in thread
From: Takashi Iwai @ 2006-05-15 17:56 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, perex, alsa-devel, linux-kernel

At Mon, 15 May 2006 19:30:24 +0200,
I wrote:
> 
> At Mon, 15 May 2006 10:04:29 -0700,
> Andrew Morton wrote:
> > 
> > "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> > >
> > > Hi,
> > > 
> > > On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > > >
> > > > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> > > [snip]
> > > >  git-alsa.patch
> > > 
> > > BUG: sleeping function called from invalid context at
> > > /usr/src/linux-mm/sound/core/info.c:117
> > > in_atomic():1, irqs_disabled():0
> > >  <c1003ef9> show_trace+0xd/0xf   <c100440c> dump_stack+0x17/0x19
> > >   <c10178ce> __might_sleep+0x93/0x9d   <f988eeb5> snd_iprintf+0x1b/0x84 [snd]
> > >   <f988d808> snd_card_module_info_read+0x34/0x4e [snd]   <f988f197>
> > > snd_info_entry_open+0x20f/0x2cc [snd]
> > >  <c1067a17> __dentry_open+0x133/0x260   <c1067bb7> nameidata_to_filp+0x1c/0x2e
> > >  <c1067bf7> do_filp_open+0x2e/0x35   <c1068bf2> do_sys_open+0x54/0xd7
> > >  <c1068ca1> sys_open+0x16/0x18   <c11dab67> sysenter_past_esp+0x54/0x75
> > > Non-volatile memory driver v1.2
> > > 
> > > Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg
> > > Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> > 
> > heh, yes, Takashi baited his hook and pulled in a big one.
> > 
> > snd_card_module_info_read() calls snd_iprintf() under read_lock()..
> 
> Ouch, I checked only spinlocks but forgot rwlocks.  Will fix them.

The patch below should fix them (already merged in ALSA HG repo).


[ALSA] Fix rwlock around snd_iprintf() in sound core

Fixed rwlock around snd_iprintf() in sound core part.
Replaced with mutex.

Also, make mutex and flags static variables with addition of
snd_card_locked() function (just for sound.c).

Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
commit f4e4b6a7b3b404edb1acd72ae3cb26e6246b04bb
tree 6e529ed077718299bf7dff400cedc62767d7bdbe
parent 3a5be5e3bc2d702b9f8428465729895b691c9059
author Takashi Iwai <tiwai@suse.de> Mon, 15 May 2006 00:00:00 +0200
committer Takashi Iwai <tiwai@suse.de> Mon, 15 May 2006 19:51:18 +0200

 include/sound/core.h |    3 +--
 sound/core/init.c    |   51 ++++++++++++++++++++++++++++++--------------------
 sound/core/sound.c   |    7 +------
 3 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/include/sound/core.h b/include/sound/core.h
index 5135147..5d184be 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -233,9 +233,8 @@ int copy_from_user_toio(volatile void __
 
 /* init.c */
 
-extern unsigned int snd_cards_lock;
 extern struct snd_card *snd_cards[SNDRV_CARDS];
-extern rwlock_t snd_card_rwlock;
+int snd_card_locked(int card);
 #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
 #define SND_MIXER_OSS_NOTIFY_REGISTER	0
 #define SND_MIXER_OSS_NOTIFY_DISCONNECT	1
diff --git a/sound/core/init.c b/sound/core/init.c
index 2ff0e5e..38b2d4a 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -38,11 +38,11 @@ struct snd_shutdown_f_ops {
 	struct snd_shutdown_f_ops *next;
 };
 
-unsigned int snd_cards_lock = 0;	/* locked for registering/using */
+static unsigned int snd_cards_lock = 0;	/* locked for registering/using */
 struct snd_card *snd_cards[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = NULL};
 EXPORT_SYMBOL(snd_cards);
 
-DEFINE_RWLOCK(snd_card_rwlock);
+static DEFINE_MUTEX(snd_card_mutex);
 
 #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
 int (*snd_mixer_oss_notify_callback)(struct snd_card *card, int free_flag);
@@ -112,7 +112,7 @@ struct snd_card *snd_card_new(int idx, c
 		strlcpy(card->id, xid, sizeof(card->id));
 	}
 	err = 0;
-	write_lock(&snd_card_rwlock);
+	mutex_lock(&snd_card_mutex);
 	if (idx < 0) {
 		int idx2;
 		for (idx2 = 0; idx2 < SNDRV_CARDS; idx2++)
@@ -130,12 +130,12 @@ struct snd_card *snd_card_new(int idx, c
 	else
 		err = -ENODEV;
 	if (idx < 0 || err < 0) {
-		write_unlock(&snd_card_rwlock);
+		mutex_unlock(&snd_card_mutex);
 		snd_printk(KERN_ERR "cannot find the slot for index %d (range 0-%i)\n", idx, snd_ecards_limit - 1);
 		goto __error;
 	}
 	snd_cards_lock |= 1 << idx;		/* lock it */
-	write_unlock(&snd_card_rwlock);
+	mutex_unlock(&snd_card_mutex);
 	card->number = idx;
 	card->module = module;
 	INIT_LIST_HEAD(&card->devices);
@@ -173,6 +173,17 @@ struct snd_card *snd_card_new(int idx, c
 
 EXPORT_SYMBOL(snd_card_new);
 
+/* return non-zero if a card is already locked */
+int snd_card_locked(int card)
+{
+	int locked;
+
+	mutex_lock(&snd_card_mutex);
+	locked = snd_cards_lock & (1 << card);
+	mutex_unlock(&snd_card_mutex);
+	return locked;
+}
+
 static loff_t snd_disconnect_llseek(struct file *file, loff_t offset, int orig)
 {
 	return -ENODEV;
@@ -240,9 +251,9 @@ int snd_card_disconnect(struct snd_card 
 	spin_unlock(&card->files_lock);
 
 	/* phase 1: disable fops (user space) operations for ALSA API */
-	write_lock(&snd_card_rwlock);
+	mutex_lock(&snd_card_mutex);
 	snd_cards[card->number] = NULL;
-	write_unlock(&snd_card_rwlock);
+	mutex_unlock(&snd_card_mutex);
 	
 	/* phase 2: replace file->f_op with special dummy operations */
 	
@@ -321,9 +332,9 @@ int snd_card_free(struct snd_card *card)
 
 	if (card == NULL)
 		return -EINVAL;
-	write_lock(&snd_card_rwlock);
+	mutex_lock(&snd_card_mutex);
 	snd_cards[card->number] = NULL;
-	write_unlock(&snd_card_rwlock);
+	mutex_unlock(&snd_card_mutex);
 
 #ifdef CONFIG_PM
 	wake_up(&card->power_sleep);
@@ -359,9 +370,9 @@ int snd_card_free(struct snd_card *card)
 		card->s_f_ops = s_f_ops->next;
 		kfree(s_f_ops);
 	}
-	write_lock(&snd_card_rwlock);
+	mutex_lock(&snd_card_mutex);
 	snd_cards_lock &= ~(1 << card->number);
-	write_unlock(&snd_card_rwlock);
+	mutex_unlock(&snd_card_mutex);
 	kfree(card);
 	return 0;
 }
@@ -497,16 +508,16 @@ int snd_card_register(struct snd_card *c
 	snd_assert(card != NULL, return -EINVAL);
 	if ((err = snd_device_register_all(card)) < 0)
 		return err;
-	write_lock(&snd_card_rwlock);
+	mutex_lock(&snd_card_mutex);
 	if (snd_cards[card->number]) {
 		/* already registered */
-		write_unlock(&snd_card_rwlock);
+		mutex_unlock(&snd_card_mutex);
 		return 0;
 	}
 	if (card->id[0] == '\0')
 		choose_default_id(card);
 	snd_cards[card->number] = card;
-	write_unlock(&snd_card_rwlock);
+	mutex_unlock(&snd_card_mutex);
 	init_info_for_card(card);
 #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
 	if (snd_mixer_oss_notify_callback)
@@ -527,7 +538,7 @@ static void snd_card_info_read(struct sn
 	struct snd_card *card;
 
 	for (idx = count = 0; idx < SNDRV_CARDS; idx++) {
-		read_lock(&snd_card_rwlock);
+		mutex_lock(&snd_card_mutex);
 		if ((card = snd_cards[idx]) != NULL) {
 			count++;
 			snd_iprintf(buffer, "%2i [%-15s]: %s - %s\n",
@@ -538,7 +549,7 @@ static void snd_card_info_read(struct sn
 			snd_iprintf(buffer, "                      %s\n",
 					card->longname);
 		}
-		read_unlock(&snd_card_rwlock);
+		mutex_unlock(&snd_card_mutex);
 	}
 	if (!count)
 		snd_iprintf(buffer, "--- no soundcards ---\n");
@@ -552,12 +563,12 @@ void snd_card_info_read_oss(struct snd_i
 	struct snd_card *card;
 
 	for (idx = count = 0; idx < SNDRV_CARDS; idx++) {
-		read_lock(&snd_card_rwlock);
+		mutex_lock(&snd_card_mutex);
 		if ((card = snd_cards[idx]) != NULL) {
 			count++;
 			snd_iprintf(buffer, "%s\n", card->longname);
 		}
-		read_unlock(&snd_card_rwlock);
+		mutex_unlock(&snd_card_mutex);
 	}
 	if (!count) {
 		snd_iprintf(buffer, "--- no soundcards ---\n");
@@ -575,11 +586,11 @@ static void snd_card_module_info_read(st
 	struct snd_card *card;
 
 	for (idx = 0; idx < SNDRV_CARDS; idx++) {
-		read_lock(&snd_card_rwlock);
+		mutex_lock(&snd_card_mutex);
 		if ((card = snd_cards[idx]) != NULL)
 			snd_iprintf(buffer, "%2i %s\n",
 				    idx, card->module->name);
-		read_unlock(&snd_card_rwlock);
+		mutex_unlock(&snd_card_mutex);
 	}
 }
 #endif
diff --git a/sound/core/sound.c b/sound/core/sound.c
index 8313f97..02c8cc4 100644
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -81,14 +81,9 @@ extern struct class *sound_class;
  */
 void snd_request_card(int card)
 {
-	int locked;
-
 	if (! current->fs->root)
 		return;
-	read_lock(&snd_card_rwlock);
-	locked = snd_cards_lock & (1 << card);
-	read_unlock(&snd_card_rwlock);
-	if (locked)
+	if (snd_card_locked(card))
 		return;
 	if (card < 0 || card >= cards_limit)
 		return;

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:48 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 18:00   ` Andrew Morton
  0 siblings, 0 replies; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 18:00 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: linux-kernel, Ram Pai

"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
>
> Hi,
> 
> On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> >
> > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> >
> [snip]
> > +kbuild-export-symbol-usage-report-generator.patch
> 
> When I try make exportcheck with O=/dir I get this error
> [michal@ltg01-fedora linux-mm]$ make O=../linux-mm-obj/ exportcheck
> EXPORTFILE=../linux-mm-obj/export.dat
>   Using /usr/src/linux-mm as source for kernel
> [..]
> Can't open perl script
> "/usr/src/linux-mm-obj/scripts/export_report.pl": No such file or
> directory
> make[2]: *** [__modpost] Error 2
> make[1]: *** [modules] Error 2
> make: *** [exportcheck] Error 2
> 
> Regards,
> Michal
> 

cc added.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:01   ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 18:01     ` Alexey Dobriyan
  2006-05-15 19:29     ` 2.6.17-rc4-mm1 Michael Halcrow
  1 sibling, 0 replies; 37+ messages in thread
From: Alexey Dobriyan @ 2006-05-15 18:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, phillip, Michael Halcrow, David Howells

On Mon, May 15, 2006 at 10:01:44AM -0700, Andrew Morton wrote:
> Alexey Dobriyan <adobriyan@gmail.com> wrote:
> >
> > >   - Added the ecryptfs filesystem
> > 
> >   CC [M]  fs/ecryptfs/super.o
> > fs/ecryptfs/super.c: In function `ecryptfs_statfs':
> > fs/ecryptfs/super.c:129: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type
> > fs/ecryptfs/super.c: At top level:
> > fs/ecryptfs/super.c:207: warning: initialization from incompatible pointer type
> 
> hm, I wonder why I didn't notice that.
> 
> > * ->statfs wants vfsmount as first argument
> > * ecryptfs_statfs() is inlined
> 
> yup.  Fixed a bunch of those, let one slip through.
> 
> I don't immediately see how to fix this one, actually:
> 
> static inline int ecryptfs_statfs(struct super_block *sb, struct kstatfs *buf)
> {
> 	return vfs_statfs(ecryptfs_superblock_to_lower(sb), buf);
> }
> 
> Once we've run ecryptfs_superblock_to_lower() to get the "lower
> superblock", we need to turn that back into a vfsmount for vfs_statfs()..
> 
> (and that function needn't have been inlined - it's only ever called
> indirectly)
> 
> I think I'll be dropping the fs-cache patches (again) fairly soon.  They're
> intrusive, quite some effort to carry, they're not getting adequate review
> (afaict) and there doesn't seem to be a lot of demand for them, sorry.

Silly me. GFS2 is guilty too

fs/gfs2/ops_super.c:371: warning: initialization from incompatible pointer type

	static int gfs2_statfs(struct super_block *sb, struct kstatfs *buf)


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
                   ` (4 preceding siblings ...)
  2006-05-15 17:48 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 18:05 ` Jesper Juhl
  2006-05-15 18:37 ` 2.6.17-rc4-mm1 Michal Piotrowski
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 37+ messages in thread
From: Jesper Juhl @ 2006-05-15 18:05 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Monday 15 May 2006 09:56, Andrew Morton wrote:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> 
Hi Andrew,

While going through my patches currently in -mm I noticed a problem.
I have to hang my head i shame and admit to introducing a bug in what should 
have been a bugFIX patch :-(

In the 
isdn-unsafe-interaction-between-isdn_write-and-isdn_writebuf_stub.patch 
patch, which is currently in -mm there's a bug.

This bit :
 -       copy_from_user(skb_put(skb, len), buf, len);
 +       if (!copy_from_user(skb_put(skb, len), buf, len))
should really be :
 -       copy_from_user(skb_put(skb, len), buf, len);
 +       if (copy_from_user(skb_put(skb, len), buf, len))
Somehow a stray "!" crept in there.

Sorry about that. Here's a tiny fix-it-up patch to be applied on top : 


Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>

--- linux-2.6.17-rc4-mm1-orig/drivers/isdn/i4l/isdn_common.c	2006-05-15 19:43:06.000000000 +0200
+++ linux-2.6.17-rc4-mm1/drivers/isdn/i4l/isdn_common.c	2006-05-15 19:58:26.000000000 +0200
@@ -1952,7 +1952,7 @@ isdn_writebuf_stub(int drvidx, int chan,
 	if (!skb)
 		return -ENOMEM;
 	skb_reserve(skb, hl);
-	if (!copy_from_user(skb_put(skb, len), buf, len))
+	if (copy_from_user(skb_put(skb, len), buf, len))
 		return -EFAULT;
 	ret = dev->drv[drvidx]->interface->writebuf_skb(drvidx, chan, 1, skb);
 	if (ret <= 0)



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:56       ` 2.6.17-rc4-mm1 Takashi Iwai
@ 2006-05-15 18:11         ` Andrew Morton
  2006-05-16  9:04           ` 2.6.17-rc4-mm1 Takashi Iwai
  2006-05-15 18:50         ` 2.6.17-rc4-mm1 Michal Piotrowski
  1 sibling, 1 reply; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 18:11 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: michal.k.k.piotrowski, perex, alsa-devel, linux-kernel

Takashi Iwai <tiwai@suse.de> wrote:
>
> -unsigned int snd_cards_lock = 0;	/* locked for registering/using */
> +static unsigned int snd_cards_lock = 0;	/* locked for registering/using */

May as well remove the `= 0' while you're there.  It adds four bytes to the
module unnecessarily.

>  void snd_request_card(int card)
>  {
> -	int locked;
> -
>  	if (! current->fs->root)
>  		return;

I wonder what that's there for.


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2006-05-15 18:05 ` 2.6.17-rc4-mm1 Jesper Juhl
@ 2006-05-15 18:37 ` Michal Piotrowski
  2006-05-15 18:53   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 19:28 ` 2.6.17-rc4-mm1 Ingo Molnar
       [not found] ` <6bffcb0e0605151003x5d3518b9o70dae3b3349c4f9f@mail.gmail.com>
  8 siblings, 1 reply; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 18:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Greg KH

Hi,

On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
>

When I try to "modprobe -r i2c_i801" modprobe hangs

[michal@ltg01-fedora ~]$ ps aux | grep mod
root      5943  0.0  0.0   1648   432 tty1     D+   20:15   0:00
modprobe -r i2c_i801
michal   15499  0.0  0.0   1836   496 pts/4    S+   20:33   0:00 grep mod

Here is strace log
http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/strace.txt
Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config

2.6.17-rc3-mm1 was fine. I don't see nothing abnormal in dmesg.

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:56       ` 2.6.17-rc4-mm1 Takashi Iwai
  2006-05-15 18:11         ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 18:50         ` Michal Piotrowski
  1 sibling, 0 replies; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 18:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Andrew Morton, perex, alsa-devel, linux-kernel

Hi,

On 15/05/06, Takashi Iwai <tiwai@suse.de> wrote:
> At Mon, 15 May 2006 19:30:24 +0200,
> I wrote:
> >
> > At Mon, 15 May 2006 10:04:29 -0700,
> > Andrew Morton wrote:
> > >
> > > "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> > > >
> > > > Hi,
> > > >
> > > > On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > > > >
> > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > > > >
> > > > > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> > > > [snip]
> > > > >  git-alsa.patch
> > > >
> > > > BUG: sleeping function called from invalid context at
> > > > /usr/src/linux-mm/sound/core/info.c:117
> > > > in_atomic():1, irqs_disabled():0
> > > >  <c1003ef9> show_trace+0xd/0xf   <c100440c> dump_stack+0x17/0x19
> > > >   <c10178ce> __might_sleep+0x93/0x9d   <f988eeb5> snd_iprintf+0x1b/0x84 [snd]
> > > >   <f988d808> snd_card_module_info_read+0x34/0x4e [snd]   <f988f197>
> > > > snd_info_entry_open+0x20f/0x2cc [snd]
> > > >  <c1067a17> __dentry_open+0x133/0x260   <c1067bb7> nameidata_to_filp+0x1c/0x2e
> > > >  <c1067bf7> do_filp_open+0x2e/0x35   <c1068bf2> do_sys_open+0x54/0xd7
> > > >  <c1068ca1> sys_open+0x16/0x18   <c11dab67> sysenter_past_esp+0x54/0x75
> > > > Non-volatile memory driver v1.2
> > > >
> > > > Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg
> > > > Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> > >
> > > heh, yes, Takashi baited his hook and pulled in a big one.
> > >
> > > snd_card_module_info_read() calls snd_iprintf() under read_lock()..
> >
> > Ouch, I checked only spinlocks but forgot rwlocks.  Will fix them.
>
> The patch below should fix them (already merged in ALSA HG repo).
>
>

Problem fixed. Thanks!

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 18:37 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 18:53   ` Andrew Morton
  2006-05-15 19:10     ` 2.6.17-rc4-mm1 Michal Piotrowski
  0 siblings, 1 reply; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 18:53 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: linux-kernel, gregkh

"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
>
> Hi,
> 
> On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> >
> 
> When I try to "modprobe -r i2c_i801" modprobe hangs
> 
> [michal@ltg01-fedora ~]$ ps aux | grep mod
> root      5943  0.0  0.0   1648   432 tty1     D+   20:15   0:00
> modprobe -r i2c_i801
> michal   15499  0.0  0.0   1836   496 pts/4    S+   20:33   0:00 grep mod
> 
> Here is strace log
> http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/strace.txt
> Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> 
> 2.6.17-rc3-mm1 was fine. I don't see nothing abnormal in dmesg.
> 

Are you able to get a sysrq-P and/or sysrq-T trace out of it?

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 18:53   ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 19:10     ` Michal Piotrowski
  2006-05-15 19:26       ` 2.6.17-rc4-mm1 Andrew Morton
  0 siblings, 1 reply; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 19:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, gregkh

On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> >
> > Hi,
> >
> > On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > >
> >
> > When I try to "modprobe -r i2c_i801" modprobe hangs
> >
> > [michal@ltg01-fedora ~]$ ps aux | grep mod
> > root      5943  0.0  0.0   1648   432 tty1     D+   20:15   0:00
> > modprobe -r i2c_i801
> > michal   15499  0.0  0.0   1836   496 pts/4    S+   20:33   0:00 grep mod
> >
> > Here is strace log
> > http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/strace.txt
> > Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> >
> > 2.6.17-rc3-mm1 was fine. I don't see nothing abnormal in dmesg.
> >
>
> Are you able to get a sysrq-P and/or sysrq-T trace out of it?
>

Something like
echo "t" > /proc/sysrq-trigger
modprobe -r i2c_i801
echo "t" > /proc/sysrq-trigger
?
http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg2

I'm not sure why when I do "echo "p" > /proc/sysrq-trigger" I get only this
[root@ltg01-fedora ~]# echo "p" > /proc/sysrq-trigger
SysRq : Show Regs

selinux?

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 19:10     ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 19:26       ` Andrew Morton
  2006-05-15 20:17         ` 2.6.17-rc4-mm1 Michal Piotrowski
  0 siblings, 1 reply; 37+ messages in thread
From: Andrew Morton @ 2006-05-15 19:26 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: linux-kernel, gregkh, Jean Delvare, Kumar Gala

"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
>
> On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > > >
> > >
> > > When I try to "modprobe -r i2c_i801" modprobe hangs
> > >
> > > [michal@ltg01-fedora ~]$ ps aux | grep mod
> > > root      5943  0.0  0.0   1648   432 tty1     D+   20:15   0:00
> > > modprobe -r i2c_i801
> > > michal   15499  0.0  0.0   1836   496 pts/4    S+   20:33   0:00 grep mod
> > >
> > > Here is strace log
> > > http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/strace.txt
> > > Here is config http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-config
> > >
> > > 2.6.17-rc3-mm1 was fine. I don't see nothing abnormal in dmesg.
> > >
> >
> > Are you able to get a sysrq-P and/or sysrq-T trace out of it?
> >
> 
> Something like
> echo "t" > /proc/sysrq-trigger
> modprobe -r i2c_i801
> echo "t" > /proc/sysrq-trigger
> ?
> http://www.stardust.webpages.pl/files/mm/2.6.17-rc4-mm1/mm-dmesg2

Great, thanks.   Here's the relevant part:

modprobe      D 00000019  2740  2163   2129                     (NOTLB)
       f0915e60 f1d7b694 8422805f 00000019 f0915e08 c10819a3 f1d7b694 f0915e18 
       00000007 f7e5f374 f7e5f250 f7f0f110 c741cf00 8429b934 00000019 000738d5 
       00000001 f1e6ac54 c101732e f0915e48 c10168d4 f887dba0 00000246 00000001 
Call Trace:
 <c11d768e> wait_for_completion+0x8e/0x108   <c1180fae> i2c_del_adapter_nolock+0x255/0x277
 <c1180fe7> i2c_del_adapter+0x17/0x28   <f887c023> i801_remove+0xd/0x2f [i2c_i801]
 <c10eeb69> pci_device_remove+0x19/0x2c   <c11395a7> __device_release_driver+0x63/0x79
 <c1139889> driver_detach+0x94/0xc4   <c1138d58> bus_remove_driver+0x5d/0x79
 <c11399a2> driver_unregister+0xb/0x18   <c10eecd4> pci_unregister_driver+0x13/0xa5
 <f887c9a5> i2c_i801_exit+0xd/0xf [i2c_i801]   <c103d3a8> sys_delete_module+0x19e/0x1d6
 <c11dab67> sysenter_past_esp+0x54/0x75  

I'd assume that Kumar's i2c-add-support-for-virtual-i2c-adapters.patch is
the culprit.

> I'm not sure why when I do "echo "p" > /proc/sysrq-trigger" I get only this
> [root@ltg01-fedora ~]# echo "p" > /proc/sysrq-trigger
> SysRq : Show Regs
> 
> selinux?

The `p' command isn't effective when using /proc/sysrq-trigger.  `p' will
show the backtrace of the currently-running process (on the current cpu). 
That task is always "echo".  Boring.  So `p' is really only useful when
invoked from interrupt context, via sysrq-p.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2006-05-15 18:37 ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-15 19:28 ` Ingo Molnar
       [not found] ` <6bffcb0e0605151003x5d3518b9o70dae3b3349c4f9f@mail.gmail.com>
  8 siblings, 0 replies; 37+ messages in thread
From: Ingo Molnar @ 2006-05-15 19:28 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, David Howells


* Andrew Morton <akpm@osdl.org> wrote:

>   - The cachefs patches are back (local-disk-based caching of network
>     filesystem files) (David Howells)

the blind hacks below are needed to make CONFIG_CACHEFILES build.

	Ingo

Index: linux/fs/cachefiles/cf-namei.c
===================================================================
--- linux.orig/fs/cachefiles/cf-namei.c
+++ linux/fs/cachefiles/cf-namei.c
@@ -124,31 +124,31 @@ try_again:
 	}
 
 	/* do the multiway lock magic */
-	trap = lock_rename(cache->graveyard, dir);
+	trap = lock_rename(cache->graveyard, dir, 0);
 
 	/* do some checks before getting the grave dentry */
 	if (rep->d_parent != dir) {
 		/* the entry was probably culled when we dropped the parent dir
 		 * lock */
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		_leave(" = 0 [culled?]");
 		return 0;
 	}
 
 	if (!S_ISDIR(cache->graveyard->d_inode->i_mode)) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		cachefiles_io_error(cache, "Graveyard no longer a directory");
 		return -EIO;
 	}
 
 	if (trap == rep) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		cachefiles_io_error(cache, "May not make directory loop");
 		return -EIO;
 	}
 
 	if (d_mountpoint(rep)) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		cachefiles_io_error(cache, "Mountpoint in cache");
 		return -EIO;
 	}
@@ -160,7 +160,7 @@ try_again:
 
 		grave = d_alloc(cache->graveyard, &name);
 		if (!grave) {
-			unlock_rename(cache->graveyard, dir);
+			unlock_rename(cache->graveyard, dir, 0);
 			_leave(" = -ENOMEM");
 			return -ENOMEM;
 		}
@@ -168,7 +168,7 @@ try_again:
 		alt = cache->graveyard->d_inode->i_op->lookup(
 			cache->graveyard->d_inode, grave, NULL);
 		if (IS_ERR(alt)) {
-			unlock_rename(cache->graveyard, dir);
+			unlock_rename(cache->graveyard, dir, 0);
 			dput(grave);
 
 			if (PTR_ERR(alt) == -ENOMEM) {
@@ -188,7 +188,7 @@ try_again:
 	}
 
 	if (grave->d_inode) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		dput(grave);
 		grave = NULL;
 		cond_resched();
@@ -196,7 +196,7 @@ try_again:
 	}
 
 	if (d_mountpoint(grave)) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		dput(grave);
 		cachefiles_io_error(cache, "Mountpoint in graveyard");
 		return -EIO;
@@ -204,7 +204,7 @@ try_again:
 
 	/* target should not be an ancestor of source */
 	if (trap == grave) {
-		unlock_rename(cache->graveyard, dir);
+		unlock_rename(cache->graveyard, dir, 0);
 		dput(grave);
 		cachefiles_io_error(cache, "May not make directory loop");
 		return -EIO;
@@ -231,7 +231,7 @@ try_again:
 
 	fsnotify_oldname_free(old_name);
 
-	unlock_rename(cache->graveyard, dir);
+	unlock_rename(cache->graveyard, dir, 0);
 	dput(grave);
 	_leave(" = 0");
 	return 0;

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 17:01   ` 2.6.17-rc4-mm1 Andrew Morton
  2006-05-15 18:01     ` 2.6.17-rc4-mm1 Alexey Dobriyan
@ 2006-05-15 19:29     ` Michael Halcrow
  1 sibling, 0 replies; 37+ messages in thread
From: Michael Halcrow @ 2006-05-15 19:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Alexey Dobriyan, linux-kernel, phillip, David Howells

On Mon, May 15, 2006 at 10:01:44AM -0700, Andrew Morton wrote:
> I don't immediately see how to fix this one, actually:
> 
> static inline int ecryptfs_statfs(struct super_block *sb, struct kstatfs *buf)
> {
> 	return vfs_statfs(ecryptfs_superblock_to_lower(sb), buf);
> }
> 
> Once we've run ecryptfs_superblock_to_lower() to get the "lower
> superblock", we need to turn that back into a vfsmount for
> vfs_statfs()..

Assuming we have all our other ducks in a row, this should work. I
still need to finish the build and run my tests to say for certain,
but here is a tentative fix.

Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>

---

Index: linux-2.6.17-rc4-mm1-ecryptfs/fs/ecryptfs/super.c
===================================================================
--- linux-2.6.17-rc4-mm1-ecryptfs.orig/fs/ecryptfs/super.c      2006-05-15 14:16:15.000000000 -0500
+++ linux-2.6.17-rc4-mm1-ecryptfs/fs/ecryptfs/super.c   2006-05-15 14:27:45.000000000 -0500
@@ -124,9 +124,12 @@
  * Get the filesystem statistics. Currently, we let this pass right through
  * to the lower filesystem and take no action ourselves.
  */
-static inline int ecryptfs_statfs(struct super_block *sb, struct kstatfs *buf)
+static int ecryptfs_statfs(struct vfsmount *vfs_mnt, struct kstatfs *buf)
 {
-       return vfs_statfs(ecryptfs_superblock_to_lower(sb), buf);
+       struct vfsmount *lower_mnt;
+
+       lower_mnt = ecryptfs_superblock_to_private(vfs_mnt->mnt_sb)->lower_mnt;
+       return vfs_statfs(lower_mnt, buf);
 }
 
 /**

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 19:26       ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-15 20:17         ` Michal Piotrowski
  2006-05-16  8:39           ` 2.6.17-rc4-mm1 Jean Delvare
  0 siblings, 1 reply; 37+ messages in thread
From: Michal Piotrowski @ 2006-05-15 20:17 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, gregkh, Jean Delvare, Kumar Gala

On 15/05/06, Andrew Morton <akpm@osdl.org> wrote:
> Great, thanks.   Here's the relevant part:
>
> modprobe      D 00000019  2740  2163   2129                     (NOTLB)
>        f0915e60 f1d7b694 8422805f 00000019 f0915e08 c10819a3 f1d7b694 f0915e18
>        00000007 f7e5f374 f7e5f250 f7f0f110 c741cf00 8429b934 00000019 000738d5
>        00000001 f1e6ac54 c101732e f0915e48 c10168d4 f887dba0 00000246 00000001
> Call Trace:
>  <c11d768e> wait_for_completion+0x8e/0x108   <c1180fae> i2c_del_adapter_nolock+0x255/0x277
>  <c1180fe7> i2c_del_adapter+0x17/0x28   <f887c023> i801_remove+0xd/0x2f [i2c_i801]
>  <c10eeb69> pci_device_remove+0x19/0x2c   <c11395a7> __device_release_driver+0x63/0x79
>  <c1139889> driver_detach+0x94/0xc4   <c1138d58> bus_remove_driver+0x5d/0x79
>  <c11399a2> driver_unregister+0xb/0x18   <c10eecd4> pci_unregister_driver+0x13/0xa5
>  <f887c9a5> i2c_i801_exit+0xd/0xf [i2c_i801]   <c103d3a8> sys_delete_module+0x19e/0x1d6
>  <c11dab67> sysenter_past_esp+0x54/0x75
>
> I'd assume that Kumar's i2c-add-support-for-virtual-i2c-adapters.patch is
> the culprit.

Unfortunately it's not this patch.
I'll check all Kumar's patches.

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 13:12 ` 2.6.17-rc4-mm1 Reuben Farrelly
@ 2006-05-15 22:09   ` Neil Brown
  0 siblings, 0 replies; 37+ messages in thread
From: Neil Brown @ 2006-05-15 22:09 UTC (permalink / raw)
  To: Reuben Farrelly; +Cc: Andrew Morton, linux-kernel

On Tuesday May 16, reuben-lkml@reub.net wrote:
> 
> 
> On 15/05/2006 7:56 p.m., Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm1/
> > 
> > - This tree contains a large number of new bugs^H^H^H^Hpatches.
> 
> Indeed.  This is the first -mm in a fair while that has crapped itself on boot 
> on my box.
> 
> NeilB - is this yours?

Uhmmm. yes.  I have a patch that I was going to send of a little later
today.  Just give me an hour or two...

NeilBrown

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
       [not found] ` <6bffcb0e0605151003x5d3518b9o70dae3b3349c4f9f@mail.gmail.com>
@ 2006-05-15 22:24   ` David Woodhouse
  0 siblings, 0 replies; 37+ messages in thread
From: David Woodhouse @ 2006-05-15 22:24 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel

On Mon, 2006-05-15 at 19:03 +0200, Michal Piotrowski wrote:
> make with O=/dir doesn't work. 

Thanks.

http://git.infradead.org/?p=hdrinstall-2.6.git;a=commitdiff;h=4090bed2af5e4b533a13b01ddbda0c9684cc669f

-- 
dwmw2


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 20:17         ` 2.6.17-rc4-mm1 Michal Piotrowski
@ 2006-05-16  8:39           ` Jean Delvare
  2006-05-16 12:55             ` 2.6.17-rc4-mm1 Jean Delvare
  0 siblings, 1 reply; 37+ messages in thread
From: Jean Delvare @ 2006-05-16  8:39 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel, Greg KH, Kumar Gala

> > I'd assume that Kumar's i2c-add-support-for-virtual-i2c-adapters.patch is
> > the culprit.
> 
> Unfortunately it's not this patch.
> I'll check all Kumar's patches.

There are no differences in i2c patches between 2.6.17-rc3-mm1 and
2.6.17-rc4-mm1. As you said the bug is new in 2.6.17-rc4-mm1, this
suggests that the bug is not in the i2c patches. Could be that these
patches need to be updated to reflect a recent change in another tree
though.

I'll try to reproduce the bug here.

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-15 18:11         ` 2.6.17-rc4-mm1 Andrew Morton
@ 2006-05-16  9:04           ` Takashi Iwai
  0 siblings, 0 replies; 37+ messages in thread
From: Takashi Iwai @ 2006-05-16  9:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: michal.k.k.piotrowski, perex, alsa-devel, linux-kernel

At Mon, 15 May 2006 11:11:11 -0700,
Andrew Morton wrote:
> 
> Takashi Iwai <tiwai@suse.de> wrote:
> >
> > -unsigned int snd_cards_lock = 0;	/* locked for registering/using */
> > +static unsigned int snd_cards_lock = 0;	/* locked for registering/using */
> 
> May as well remove the `= 0' while you're there.  It adds four bytes to the
> module unnecessarily.

Yep.  Will remove it.

> >  void snd_request_card(int card)
> >  {
> > -	int locked;
> > -
> >  	if (! current->fs->root)
> >  		return;
> 
> I wonder what that's there for.

This is almost for backward compatibility only.
We have already module aliases, so it can be cleaned up.


Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16  8:39           ` 2.6.17-rc4-mm1 Jean Delvare
@ 2006-05-16 12:55             ` Jean Delvare
  2006-05-16 14:48               ` 2.6.17-rc4-mm1 Jean Delvare
  0 siblings, 1 reply; 37+ messages in thread
From: Jean Delvare @ 2006-05-16 12:55 UTC (permalink / raw)
  To: Michal Piotrowski, Andrew Morton; +Cc: linux-kernel, Greg KH, Kumar Gala

Quoting myself:

> I'll try to reproduce the bug here.

I can reproduce it, with both i2c-i801 and i2c-parport, so it's not
related to a specific driver. I'm currently performing a bisection on
2.6.17-rc4-mm1 to try and isolate the culprit. It seems to point to
gregkh-driver-*. i2c patches are innocent for sure, including Kumar's
ones.

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 12:55             ` 2.6.17-rc4-mm1 Jean Delvare
@ 2006-05-16 14:48               ` Jean Delvare
  2006-05-16 15:18                 ` 2.6.17-rc4-mm1 Stephen Hemminger
  2006-05-16 15:23                 ` 2.6.17-rc4-mm1 Jean Delvare
  0 siblings, 2 replies; 37+ messages in thread
From: Jean Delvare @ 2006-05-16 14:48 UTC (permalink / raw)
  To: Michal Piotrowski, Greg KH; +Cc: linux-kernel, Stephen Hemminger, Andrew Morton

Michal Piotrowski reported:
> > When I try to "modprobe -r i2c_i801" modprobe hangs

Quoting myself:
> I can reproduce it, with both i2c-i801 and i2c-parport, so it's not
> related to a specific driver. I'm currently performing a bisection on
> 2.6.17-rc4-mm1 to try and isolate the culprit. It seems to point to
> gregkh-driver-*. i2c patches are innocent for sure, including Kumar's
> ones.

And the winner is...
gregkh-driver-driver-core-class_device_add-needs-error-checks.patch

Stephen, Greg?

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 14:48               ` 2.6.17-rc4-mm1 Jean Delvare
@ 2006-05-16 15:18                 ` Stephen Hemminger
  2006-05-16 15:23                 ` 2.6.17-rc4-mm1 Jean Delvare
  1 sibling, 0 replies; 37+ messages in thread
From: Stephen Hemminger @ 2006-05-16 15:18 UTC (permalink / raw)
  To: Jean Delvare; +Cc: Michal Piotrowski, Greg KH, linux-kernel, Andrew Morton

Jean Delvare wrote:
> Michal Piotrowski reported:
>   
>>> When I try to "modprobe -r i2c_i801" modprobe hangs
>>>       
>
> Quoting myself:
>   
>> I can reproduce it, with both i2c-i801 and i2c-parport, so it's not
>> related to a specific driver. I'm currently performing a bisection on
>> 2.6.17-rc4-mm1 to try and isolate the culprit. It seems to point to
>> gregkh-driver-*. i2c patches are innocent for sure, including Kumar's
>> ones.
>>     
>
> And the winner is...
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
>
> Stephen, Greg?
>
>   
Look at the error return from class_device_register. I bet
it was working before because the class_device_register wasn't
checking something, now it is and that exposes a bug that has
existed in i2c since sysfs support was added.

I can make up a more verbose version if that helps

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 14:48               ` 2.6.17-rc4-mm1 Jean Delvare
  2006-05-16 15:18                 ` 2.6.17-rc4-mm1 Stephen Hemminger
@ 2006-05-16 15:23                 ` Jean Delvare
  2006-05-16 16:08                   ` 2.6.17-rc4-mm1 Greg KH
  1 sibling, 1 reply; 37+ messages in thread
From: Jean Delvare @ 2006-05-16 15:23 UTC (permalink / raw)
  To: Michal Piotrowski, Greg KH, Stephen Hemminger; +Cc: linux-kernel, Andrew Morton

Quoting myself:
> And the winner is...
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> 
> Stephen, Greg?

Indeed this patch breaks class_device_add in the success case...

Andrew, maybe you want to put this in the hot-fixes directory for
2.6.17-rc1-mm4, as the problem hits all drivers which register with a
class.

Fix class_device_add success case after
gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
broke it. class_dev was no more put and class_name was no more freed
before leaving. The former caused locks on driver removal (class_dev
usage count could never be 0.)

This fix should be folded into
gregkh-driver-driver-core-class_device_add-needs-error-checks.patch

Signed-off-by: Jean Delvare <khali@linux-fr.org>
---
 drivers/base/class.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.17-rc4-mm1.orig/drivers/base/class.c	2006-05-16 16:38:02.000000000 +0200
+++ linux-2.6.17-rc4-mm1/drivers/base/class.c	2006-05-16 17:00:24.000000000 +0200
@@ -620,7 +620,7 @@
 	}
 	up(&parent_class->sem);
 
-	return 0;
+	goto out1;
 
  out8:
 	if (class_dev->dev)


-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 15:23                 ` 2.6.17-rc4-mm1 Jean Delvare
@ 2006-05-16 16:08                   ` Greg KH
  2006-05-16 16:27                     ` 2.6.17-rc4-mm1 Stephen Hemminger
  0 siblings, 1 reply; 37+ messages in thread
From: Greg KH @ 2006-05-16 16:08 UTC (permalink / raw)
  To: Jean Delvare
  Cc: Michal Piotrowski, Stephen Hemminger, linux-kernel, Andrew Morton

On Tue, May 16, 2006 at 05:23:46PM +0200, Jean Delvare wrote:
> Quoting myself:
> > And the winner is...
> > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > 
> > Stephen, Greg?
> 
> Indeed this patch breaks class_device_add in the success case...
> 
> Andrew, maybe you want to put this in the hot-fixes directory for
> 2.6.17-rc1-mm4, as the problem hits all drivers which register with a
> class.
> 
> Fix class_device_add success case after
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> broke it. class_dev was no more put and class_name was no more freed
> before leaving. The former caused locks on driver removal (class_dev
> usage count could never be 0.)
> 
> This fix should be folded into
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> 
> Signed-off-by: Jean Delvare <khali@linux-fr.org>
> ---
>  drivers/base/class.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-2.6.17-rc4-mm1.orig/drivers/base/class.c	2006-05-16 16:38:02.000000000 +0200
> +++ linux-2.6.17-rc4-mm1/drivers/base/class.c	2006-05-16 17:00:24.000000000 +0200
> @@ -620,7 +620,7 @@
>  	}
>  	up(&parent_class->sem);
>  
> -	return 0;
> +	goto out1;
>  

Thanks for catching this.  I've merged this with Stephen's original
patch.

thanks again,

greg k-h

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 16:08                   ` 2.6.17-rc4-mm1 Greg KH
@ 2006-05-16 16:27                     ` Stephen Hemminger
  2006-05-16 16:49                       ` 2.6.17-rc4-mm1 Greg KH
  0 siblings, 1 reply; 37+ messages in thread
From: Stephen Hemminger @ 2006-05-16 16:27 UTC (permalink / raw)
  To: Greg KH; +Cc: Jean Delvare, Michal Piotrowski, linux-kernel, Andrew Morton

On Tue, 16 May 2006 09:08:42 -0700
Greg KH <gregkh@suse.de> wrote:

> On Tue, May 16, 2006 at 05:23:46PM +0200, Jean Delvare wrote:
> > Quoting myself:
> > > And the winner is...
> > > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > > 
> > > Stephen, Greg?
> > 
> > Indeed this patch breaks class_device_add in the success case...
> > 
> > Andrew, maybe you want to put this in the hot-fixes directory for
> > 2.6.17-rc1-mm4, as the problem hits all drivers which register with a
> > class.
> > 
> > Fix class_device_add success case after
> > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > broke it. class_dev was no more put and class_name was no more freed
> > before leaving. The former caused locks on driver removal (class_dev
> > usage count could never be 0.)
> > 
> > This fix should be folded into
> > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > 
> > Signed-off-by: Jean Delvare <khali@linux-fr.org>
> > ---
> >  drivers/base/class.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > --- linux-2.6.17-rc4-mm1.orig/drivers/base/class.c	2006-05-16 16:38:02.000000000 +0200
> > +++ linux-2.6.17-rc4-mm1/drivers/base/class.c	2006-05-16 17:00:24.000000000 +0200
> > @@ -620,7 +620,7 @@
> >  	}
> >  	up(&parent_class->sem);
> >  
> > -	return 0;
> > +	goto out1;
> >  
> 
> Thanks for catching this.  I've merged this with Stephen's original
> patch.
> 
> thanks again,
> 
> greg k-h

ditto, hmm, one more need for a test suite for basic driver stuff

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
  2006-05-16 16:27                     ` 2.6.17-rc4-mm1 Stephen Hemminger
@ 2006-05-16 16:49                       ` Greg KH
  0 siblings, 0 replies; 37+ messages in thread
From: Greg KH @ 2006-05-16 16:49 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Jean Delvare, Michal Piotrowski, linux-kernel, Andrew Morton

On Tue, May 16, 2006 at 09:27:02AM -0700, Stephen Hemminger wrote:
> On Tue, 16 May 2006 09:08:42 -0700
> Greg KH <gregkh@suse.de> wrote:
> 
> > On Tue, May 16, 2006 at 05:23:46PM +0200, Jean Delvare wrote:
> > > Quoting myself:
> > > > And the winner is...
> > > > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > > > 
> > > > Stephen, Greg?
> > > 
> > > Indeed this patch breaks class_device_add in the success case...
> > > 
> > > Andrew, maybe you want to put this in the hot-fixes directory for
> > > 2.6.17-rc1-mm4, as the problem hits all drivers which register with a
> > > class.
> > > 
> > > Fix class_device_add success case after
> > > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > > broke it. class_dev was no more put and class_name was no more freed
> > > before leaving. The former caused locks on driver removal (class_dev
> > > usage count could never be 0.)
> > > 
> > > This fix should be folded into
> > > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> > > 
> > > Signed-off-by: Jean Delvare <khali@linux-fr.org>
> > > ---
> > >  drivers/base/class.c |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > --- linux-2.6.17-rc4-mm1.orig/drivers/base/class.c	2006-05-16 16:38:02.000000000 +0200
> > > +++ linux-2.6.17-rc4-mm1/drivers/base/class.c	2006-05-16 17:00:24.000000000 +0200
> > > @@ -620,7 +620,7 @@
> > >  	}
> > >  	up(&parent_class->sem);
> > >  
> > > -	return 0;
> > > +	goto out1;
> > >  
> > 
> > Thanks for catching this.  I've merged this with Stephen's original
> > patch.
> > 
> > thanks again,
> > 
> > greg k-h
> 
> ditto, hmm, one more need for a test suite for basic driver stuff

If you know of some way to create one, I would be glad to have it...

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: 2.6.17-rc4-mm1
       [not found] ` <6cPGb-7pP-31@gated-at.bofh.it>
@ 2006-05-18  0:04   ` Tilman Schmidt
  0 siblings, 0 replies; 37+ messages in thread
From: Tilman Schmidt @ 2006-05-18  0:04 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jesper Juhl, Andrew Morton, Karsten Keil

[-- Attachment #1: Type: text/plain, Size: 2018 bytes --]

On 15.05.2006 20:10, Jesper Juhl wrote:
> In the 
> isdn-unsafe-interaction-between-isdn_write-and-isdn_writebuf_stub.patch 
> patch, which is currently in -mm there's a bug.
> 
> This bit :
>  -       copy_from_user(skb_put(skb, len), buf, len);
>  +       if (!copy_from_user(skb_put(skb, len), buf, len))
> should really be :
>  -       copy_from_user(skb_put(skb, len), buf, len);
>  +       if (copy_from_user(skb_put(skb, len), buf, len))
> Somehow a stray "!" crept in there.

Ouch. I hadn't noticed that either. Sorry about that.

Strangely, I ran a system with that patch for quite some time, actually
doing all kinds of ISDN connections without ever noticing any ill
effects. I can only conclude that the affected codebranch was never
exercised, which makes me suspect it is dead, or at least pining for the
fjords. Looking closer, I can't help noticing that the only branch
calling the affected function isdn_writebuf_stub() starts out with:

	printk(KERN_WARNING "isdn_write minor %d obsolete!\n", minor);

So I guess it really doesn't make much difference one way or the other.
But it's certainly more correct that way, so:

> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Tilman Schmidt <tilman@imap.cc>

> --- linux-2.6.17-rc4-mm1-orig/drivers/isdn/i4l/isdn_common.c	2006-05-15 19:43:06.000000000 +0200
> +++ linux-2.6.17-rc4-mm1/drivers/isdn/i4l/isdn_common.c	2006-05-15 19:58:26.000000000 +0200
> @@ -1952,7 +1952,7 @@ isdn_writebuf_stub(int drvidx, int chan,
>  	if (!skb)
>  		return -ENOMEM;
>  	skb_reserve(skb, hl);
> -	if (!copy_from_user(skb_put(skb, len), buf, len))
> +	if (copy_from_user(skb_put(skb, len), buf, len))
>  		return -EFAULT;
>  	ret = dev->drv[drvidx]->interface->writebuf_skb(drvidx, chan, 1, skb);
>  	if (ret <= 0)

-- 
Tilman Schmidt                          E-Mail: tilman@imap.cc
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 253 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2006-05-18  0:03 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <6cGjz-1Io-9@gated-at.bofh.it>
     [not found] ` <6cPGb-7pP-31@gated-at.bofh.it>
2006-05-18  0:04   ` 2.6.17-rc4-mm1 Tilman Schmidt
2006-05-15  7:56 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 10:09 ` 2.6.17-rc4-mm1 Eric Dumazet
2006-05-15 11:03   ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 11:42     ` 2.6.17-rc4-mm1 Pekka Enberg
2006-05-15 13:28     ` 2.6.17-rc4-mm1 Eric Dumazet
2006-05-15 13:12 ` 2.6.17-rc4-mm1 Reuben Farrelly
2006-05-15 22:09   ` 2.6.17-rc4-mm1 Neil Brown
2006-05-15 16:40 ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-15 17:04   ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 17:30     ` 2.6.17-rc4-mm1 Takashi Iwai
2006-05-15 17:56       ` 2.6.17-rc4-mm1 Takashi Iwai
2006-05-15 18:11         ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-16  9:04           ` 2.6.17-rc4-mm1 Takashi Iwai
2006-05-15 18:50         ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-15 16:49 ` 2.6.17-rc4-mm1 Alexey Dobriyan
2006-05-15 17:01   ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 18:01     ` 2.6.17-rc4-mm1 Alexey Dobriyan
2006-05-15 19:29     ` 2.6.17-rc4-mm1 Michael Halcrow
2006-05-15 17:48 ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-15 18:00   ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 18:05 ` 2.6.17-rc4-mm1 Jesper Juhl
2006-05-15 18:37 ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-15 18:53   ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 19:10     ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-15 19:26       ` 2.6.17-rc4-mm1 Andrew Morton
2006-05-15 20:17         ` 2.6.17-rc4-mm1 Michal Piotrowski
2006-05-16  8:39           ` 2.6.17-rc4-mm1 Jean Delvare
2006-05-16 12:55             ` 2.6.17-rc4-mm1 Jean Delvare
2006-05-16 14:48               ` 2.6.17-rc4-mm1 Jean Delvare
2006-05-16 15:18                 ` 2.6.17-rc4-mm1 Stephen Hemminger
2006-05-16 15:23                 ` 2.6.17-rc4-mm1 Jean Delvare
2006-05-16 16:08                   ` 2.6.17-rc4-mm1 Greg KH
2006-05-16 16:27                     ` 2.6.17-rc4-mm1 Stephen Hemminger
2006-05-16 16:49                       ` 2.6.17-rc4-mm1 Greg KH
2006-05-15 19:28 ` 2.6.17-rc4-mm1 Ingo Molnar
     [not found] ` <6bffcb0e0605151003x5d3518b9o70dae3b3349c4f9f@mail.gmail.com>
2006-05-15 22:24   ` 2.6.17-rc4-mm1 David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox