All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6.20-mm1
@ 2007-02-15 13:14 Andrew Morton
  2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
                   ` (25 more replies)
  0 siblings, 26 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 13:14 UTC (permalink / raw)
  To: linux-kernel


Temporarily at

  http://userweb.kernel.org/~akpm/2.6.20-mm1/

Will appear later at

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


- This kernel doesn't compile on powerpc due to the local_t changes

- git-drm got dropped due to it breaking X

- The ext4 devel tree was added, then got dropped again due to various
  breakages.  Next time.

- The IDE tree got dropped due to various linkage problems

- The sony-laptop driver has been disabled due to disagreement between
  the git-acpi and git-backlight trees

- I'm not sure that all the necessary XFS-related fixes made it into the
  git-block tree.  But Jens put a nasty into the CPU scheduler so hopefully
  things will work there now.

- The UBI tree got dropped due to probable lack of a git sync with
  mainline (ie: it's a 13.5MB diff whcih doesn't apply very well)

- Probably lots of other things are broken too.  This is a bit of a
  heck-I'd-better-get-it-out-before-they-wreck-everything release.

- Added the "Use IOAT for MD" tree as git-md-accel.patch (Dan Williams
  <dan.j.williams@intel.com>)

- Added the v9fs tree as git-v9fs.patch (Eric Van Hensbergen
  <ericvh@gmail.com>)

- Added the rustyvisor

- Added the blackfin architecture

- Added the utrace tree.  This is a huge rewrite of the kernel's ptrace
  mechanisms (Roland McGrath <roland@redhat.com>).

- Added the Linux Kernel Markers code.  No idea how to use it and it
  seems we're not to be told.



Boilerplate:

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

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

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

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

        echo "subscribe mm-commits" | mail 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.

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

- Semi-daily snapshots of the -mm lineup are uploaded to
  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
  the mm-commits list.





Changes since 2.6.20-rc6-mm3:


 origin.patch
 git-acpi.patch
 git-alsa.patch
 git-agpgart.patch
 git-arm.patch
 git-audit-master.patch
 git-avr32.patch
 git-cifs.patch
 git-cpufreq.patch
 git-dvb.patch
 git-hid.patch
 git-ia64.patch
 git-ieee1394.patch
 git-infiniband.patch
 git-input.patch
 git-jfs.patch
 git-libata-all.patch
 git-lxdialog.patch
 git-md-accel.patch
 git-mips.patch
 git-mtd.patch
 git-netdev-all.patch
 git-backlight.patch
 git-ioat.patch
 git-ocfs2.patch
 git-pciseg.patch
 git-sh.patch
 git-block.patch
 git-unionfs.patch
 git-v9fs.patch
 git-wireless.patch
 git-ipwireless_cs.patch
 git-gccbug.patch

 git trees.

-namespaces-fix-exit-race-by-splitting-exit.patch
-uml-fix-mknod.patch
-dont-allow-the-stack-to-grow-into-hugetlb-reserved-regions.patch
-use-__u8-__u32-in-userspace-ioctl-defines-for-i2o.patch
-fix-config_x86_64_-typo-in-drivers-kvm-svmc.patch
-m68k-uaccessh-needs-schedh.patch
-fs-lockd-clntlockc-add-missing-newlines-to-dprintks.patch
-knfsd-ratelimit-some-nfsd-messages-that-are-triggered-by-external-events.patch
-use-__u8-rather-than-u8-in-userspace-size-defines-in-hdregh.patch
-fuse-fix-bug-in-control-filesystem-mount.patch
-ufs-alloc-metadata-null-page-fix.patch
-ufs-truncate-negative-to-unsigned-fix.patch
-ufs-rellocation-fix.patch
-cdevh-forward-declarations.patch
-fix-via-irq-quirk-breakage.patch
-i386-in-assign_irq_vector-look-at-all-vectors-before-giving-up.patch
-translate-dashes-in-filenames-for-headers-install.patch
-remove-warning-vfs-is-out-of-sync-with-lock-manager.patch
-scsi_ioctl-sg_io-timeout-conversion-fix.patch
-fix-for-patch-ecdfc9787fe527491baefc22dce8b2dbd5b2908d.patch
-enable-mouse-button-23-emulation-for-x86-macs.patch
-x86-fix-vdso-mapping-for-aout-executables.patch
-mm-show-bounce-pages-in-oom-killer-output.patch
-add-install_special_mapping.patch
-i386-vdso-use-install_special_mapping.patch
-x86_64-ia32-vdso-use-install_special_mapping.patch
-powerpc-vdso-use-install_special_mapping.patch
-sh-vdso-use-install_special_mappingpatch.patch
-use-correct-macros-in-raid-code-not-raw-asm.patch
-use-correct-macros-in-raid-code-not-raw-asm-include.patch
-acpi-bay-remove-acpi-driver-struct.patch
-asus_acpi-add-support-for-asus-z81sp.patch
-exit-acpi-processor-module-gracefully-if-acpi-is-disabled-tidy.patch
-acpi-make-bay-depend-on-dock.patch
-acpi-updates-rtc-cmos-device-platform_data.patch
-acpi-updates-rtc-cmos-device-platform_data-vs-git-acpi.patch
-acpi-correct-apparent-typo-config_acpi_debug_output.patch
-drivers-acpi-hotkeyc-make-2-structs-static.patch
-2.6-sony_acpi4.patch
-sony_apci-resume.patch
-sony_apci-resume-fix.patch
-acpi-add-backlight-support-to-the-sony_acpi.patch
-acpi-add-backlight-support-to-the-sony_acpi-v2.patch
-video-sysfs-support-take-2-add-dev-argument-for-backlight_device_register-sony_acpi-fix.patch
-sony_acpi-addacpi_bus_generate-event.patch
-sony_acpi-addacpi_bus_generate-event-fix.patch
-sony_acpi-add-lanpower-and-audiopower-controls.patch
-sony_acpi-allow-multiple-sony_acpi_values-for-the-same-name.patch
-sony_acpi-fix-sony_acpi-backlight-registration-and-unregistration.patch
-agpgart-allow-drm-populated-agp-memory-types.patch
-agpgart-allow-drm-populated-agp-memory-types-tidy.patch
-agpgart-allow-drm-populated-agp-memory-types-update.patch
-arm-imx-serial-fix-tx-buffer-overflows.patch
-arm-imx-serial-fix-irq-allocation.patch
-amba-pl010-add-reference-to-ep93xx-to-kconfig-help-entry.patch
-avr32-fix-build-breakage.patch
-remove-hotplug-cpu-crap-from-cpufreq.patch
-rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues.patch
-rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues-fix.patch
-rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues-fix-2.patch
-rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues-fix-3.patch
-ondemand-governor-restructure-the-work-callback.patch
-ondemand-governor-use-new-cpufreq-rwsem-locking-in-work-callback.patch
-cpu_freq_table-shouldnt-be-a-def_tristate.patch
-ppc-cs4218_tdm-remove-extra-brace.patch
-ppc-use-syslog-macro-for-the-printk-log-level.patch
-fix-ppc64s-writing-to-struct-file_operations.patch
-fix-apparent-typo-config_serial_cpm_smc.patch
-gregkh-driver-kobject_robust.patch
-gregkh-driver-pcmcia-device.patch
-gregkh-driver-driver-core-remove-device_is_registered-in-device_move.patch
-gregkh-driver-driver-core-allow-device_move.patch
-gregkh-driver-built-in-drivers-in-sys-modules.patch
-gregkh-driver-modules-drivers-dir-only-if-needed.patch
-gregkh-driver-pci-kbuild-modname.patch
-gregkh-driver-serio-kbuild-modname.patch
-gregkh-driver-usb-kbuild-modname.patch
-gregkh-driver-sys-modules-holders.patch
-gregkh-driver-driver-core-fixes-make_class_name-retval-checks.patch
-gregkh-driver-driver-core-fixes-device_register-retval-check-in-platformc.patch
-gregkh-driver-driver-core-don-t-stop-probing-on-probe-errors.patch
-gregkh-driver-driver-core-change-function-call-order-in-device_bind_driver.patch
-gregkh-driver-driver-core-fix-race-in-sysfs-between-sysfs_remove_file-and-read-write.patch
-gregkh-driver-sysfs-suppress-lockdep-warnings.patch
-gregkh-driver-sysfs-kobject_put-cleanup.patch
-gregkh-driver-kobject-kobject_put-cleanup.patch
-gregkh-driver-sysfs-error-handling-in-sysfs-fill_read_buffer.patch
-gregkh-driver-howto-add-a-reference-to-harbison-and-steele.patch
-gregkh-driver-sysfs-fix-missing-include-of-listh-in-sysfsh.patch
-gregkh-driver-add-uevent-vars-for-devices-with-a-class.patch
-gregkh-driver-add-device_type-to-device.patch
-gregkh-driver-allow-to-supress-uevent-for-devices.patch
-gregkh-driver-increase-firmware-loader-timeout.patch
-gregkh-driver-sysfs-shadow-directory-support.patch
-gregkh-driver-network-device.patch
-kobject-kobj-k_name-verification-fix.patch
-spider-fix-gregkh-driver-network-device.patch
-driver-core-per-subsystem-multithreaded-probing.patch
-powerpc-make-it-compile.patch
-driver-core-dont-fail-attaching-the-device-if-it.patch
-drivers-char-drm-drm_mmc-remove-unused-exports.patch
-avoid-race-when-deregistering-the-ir-control-for-dvb-usb.patch
-kthread-api-conversion-for-dvb_frontend-and-av7110.patch
-remove-the-unused-kernel-config-option-video_videobuf.patch
-drivers-media-dvb-frontends-make-4-functions-static.patch
-dvb-video_buf-depends-on-pci.patch
-drivers-media-video-convert-to-generic-boolean-values.patch
-drivers-media-video-cafe_ccicc-fix-warning.patch
-cx88-videoc-remove-struct-radionorms.patch
-if-0-v4l_printk_ioctl_arg.patch
-jdelvare-i2c-i2c-ali1563-cleanup-messages.patch
-jdelvare-i2c-i2c-vt8231-remove-superfluous-initialization.patch
-jdelvare-i2c-i2c-nforce2-drop-unused-reference-to-pci_dev.patch
-jdelvare-i2c-i2c-piix4-add-ati-sb600-support.patch
-jdelvare-i2c-i2c-smbus-doc-typo.patch
-jdelvare-i2c-i2c-i801-spelling-fix.patch
-jdelvare-i2c-i2c-completion-header-cleanups.patch
-jdelvare-i2c-i2c-driver-suspend-resume-shutdown-support.patch
-jdelvare-i2c-i2c-ali1563-fix-initialization.patch
-jdelvare-i2c-i2c-i801-document-unhiding-quirk.patch
-jdelvare-i2c-i2c-update-bus-id-list.patch
-jdelvare-i2c-i2c-add-ids-to-bus-drivers.patch
-jdelvare-i2c-i2c-ibm_iic-add-parent-device.patch
-jdelvare-i2c-i2c-viapro-add-cx700-support.patch
-jdelvare-i2c-i2c-01-hwmon-drivers-stop-using-i2c_adapterdev.patch
-jdelvare-i2c-i2c-02-i2c-bus-drivers-stop-using-i2c_adapterdev.patch
-jdelvare-i2c-i2c-03-misc-i2c-drivers-stop-using-i2c_adapterdev.patch
-jdelvare-i2c-i2c-04-other-drivers-stop-using-i2c_adapterdev.patch
-jdelvare-i2c-i2c-05-remove-i2c_adapterdev-from-all-i2c-adapters.patch
-jdelvare-i2c-i2c-06-missing-i2c_adapter-parent-devices.patch
-tsl2550-support-i2c-device-driver.patch
-ia64-enable-config_debug_spinlock_sleep.patch
-ia64-alignment-bug-in-ldscript.patch
-ia64-virt_to_page-can-be-called-with-null-arg.patch
-ia64-swiotlb-bug-fixes.patch
-ia64-make-swiotlb-use-bus_to_virt-virt_to_bus.patch
-ia64-swiotlb-cleanup.patch
-ia64-swiotlb-abstraction-eg-for-xen.patch
-ia64-missing-exports-hwsw_sync_.patch
-ia64-enable-swiotlb-only-when-needed.patch
-show_mem-for-ia64-sparsemem-numa.patch
-ia64-add-pci_get_legacy_ide_irq.patch
-ia64-register-memory-ranges-in-a-consistent-manner.patch
-ia64-clean-up-sparsemem-memory_present-calls.patch
-infiniband-fix-for-gregkh-driver-network-device.patch
-infiniband-work-around-gcc-bug-on-sparc64.patch
-ehca-fix-memleak-on-module-unloading.patch
-change-incorrect-config_input_atixl-to-config_mouse_atixl.patch
-config_input_debug-improvements.patch
-search-a-little-harder-for-mkimage.patch
-make-mkcompile_h-use-lang=c-and-lc_all=c-for-cc-v.patch
-add-mailmap-for-proper-git-shortlog-output.patch
-qconf-immediately-update-integer-and-string-values-in-xconfig-display-take-2.patch
-kbuild-dont-ignore-localversion-files-if-the-path-includes-a.patch
-qconf-relocate-search-command.patch
-qconf-fix-showing-help-info-on-failed-search.patch
-qconf-back-button-behaviour-normalization.patch
-make-help-in-build-tree-doesnt-show-headers_-targets.patch
-kbuild-remove-references-to-deprecated-prepare-all-target.patch
-new-toplevel-target-headers_check_all.patch
-pata_platform-set_mode-fix.patch
-libata-scsi-ata_task_ioctl-should-return-ata-registers-from.patch
-sata_nv-cleanup-adma-error-handling-v2.patch
-sata_nv-cleanup-adma-error-handling-v2-cleanup.patch
-sata_nv-use-adma-for-nodata-commands.patch
-fix-config_sata_sis=y-compile-error.patch
-libata-fix-translation-for-start-stop-unit.patch
-mm-ide-ide-acpi-support-warning-fix.patch
-git-mips-kconfig-fix.patch
-git-mips-prom_free_prom_memory-borkage.patch
-mips-dbg_io-stray-brackets-fix.patch
-mips-turbochannel-update-to-the-driver-model.patch
-mips-turbochannel-update-to-the-driver-model-fix.patch
-mips-turbochannel-support-for-the-decstation.patch
-mips-eisa-registration-with-config_eisa.patch
-mips-declance-driver-model-for-the-pmad-a.patch
-mips-defxx-turbochannel-support.patch
-mips-pmag-ba-fb-convert-to-the-driver-model.patch
-mips-pmagb-b-fb-convert-to-the-driver-model.patch
-mips-dec_esp-driver-model-for-the-pmaz-a.patch
-git-mmc-fixup.patch
-mmc-add-a-quirk-to-allow-ene-pci-sd-card-readers-to-work-again.patch
-mmc-au1xmmc-return-errors-for-unknown-response-types.patch
-mmc-au1xmmc-implement-proper-ro-switch-detection.patch
-mtd_ck804xrom-must-depend-on-pci.patch
-git-netdev-all-atl1-build-fix.patch
-git-netdev-all-atl1-pm-fix.patch
-b44-fix-frequent-link-changes.patch
-spidernet-rework-rx-linked-list.patch
-cxgb3-vs-gregkh-driver-network-device.patch
-net-ifb-error-path-loop-fix.patch
-ucc-ether-driver-kmalloc-casting-cleanups.patch
-broadcom-4400-resume-small-fix-v2.patch
-remove-one-remaining-define-bcm_tso-1.patch
-fs_enet-of-related-fixup-for-fec-and-scc-macs.patch
-82596-warning-fix.patch
-hp100-convert-pci_module_init-to-pci_register_driver.patch
-ehea-fixed-wrong-jumbo-frames-status-query.patch
-ehea-fixed-missing-tasklet_kill-call.patch
-sky2-fix-msi-related-resume-breakage.patch
-user-of-the-jiffies-rounding-code-networking.patch
-net-irda-proper-prototypes.patch
-fix-for-crash-in-adummy_init.patch
-z85230-spinlock-logic.patch
-bonding-replace-kmalloc-memset-pairs-with-the-appropriate-kzalloc-calls.patch
-bonding-replace-kmalloc-memset-pairs-with-the-appropriate-kzalloc-calls-fix.patch
-net-wanrouter-wanmainc-cleanups.patch
-remove-tcp-header-from-tcp_v4_check-take-2.patch
-slip-replace-kmalloc-memset-pairs-with-the.patch
-remove-unused-kernel-config-option-dlci_count.patch
-dccp-warning-fixes.patch
-netfilter-warning-fix.patch
-nf_conntrack_h323-must-depend-on-ipv6-ipv6=n.patch
-bonding-arp-monitoring-broken-on-x86_64.patch
-r8169-warning-fixes.patch
-8250-uart-backup-timer.patch
-serial-trivial-code-flow-simplification.patch
-make-sure-uart-is-powered-up-when-dumping-mctrl-status.patch
-perle-multimodem-card-pci-ras-detection.patch
-serial-replace-kmallocmemset-with-kzalloc.patch
-fix-pnx8550-serial-breakage.patch
-pnx8550-uart-driver.patch
-pnx8550-uart-driver-fixes.patch
-gregkh-pci-pci-check-szhi-when-sz-is-0-when-64-bit-iomem-bigger-than-4g.patch
-gregkh-pci-pci-remove-too-specialized-__pci_enable_device-for-default-resume.patch
-gregkh-pci-pci-move-pci_fixup_device-and-is_enabled.patch
-gregkh-pci-pci-add-extremely-specialized-__pci_reenable_device.patch
-gregkh-pci-pci-add-selected_regions-funcs.patch
-gregkh-pci-pci-define-inline-for-test-of-channel-error-state.patch
-gregkh-pci-pci-use-newly-defined-pci-channel-offline-routine.patch
-gregkh-pci-pci-quirksc-cleanup.patch
-gregkh-pci-pci-remove-pci_find_device_reverse.patch
-gregkh-pci-pci-mark-pci_find_device-as-__deprecated.patch
-gregkh-pci-pciehp-cleanup-init_slot.patch
-gregkh-pci-pciehp-cleanup-slot-list.patch
-gregkh-pci-pciehp-remove-unnecessary-php_ctlr.patch
-gregkh-pci-pciehp-remove-unused-pci_bus-from-struct-controller.patch
-gregkh-pci-pciehp-cleanup-register-access.patch
-gregkh-pci-pciehp-cleanup-pciehph.patch
-gregkh-pci-pciehp-remove-unused-pcie_cap_base.patch
-gregkh-pci-pciehp-cleanup-wait-command-completion.patch
-gregkh-pci-pciehp-fix-wait-command-completion.patch
-gregkh-pci-pciehp-add-electro-mechanical-interlock-support-to-the-pcie-hotplug-driver.patch
-gregkh-pci-shpchp-remove-config_hotplug_pci_shpc_poll_event_mode.patch
-gregkh-pci-shpchp-remove-dbg_xxx_routine.patch
-gregkh-pci-shpchp-delete-trailing-whitespace.patch
-gregkh-pci-pci-quirk-1k-i-o-space-iobl_adr-fix-on-p64h2.patch
-gregkh-pci-pci-speed-up-the-intel-smbus-unhiding-quirk.patch
-gregkh-pci-pci-remove-quirk_sis_96x_compatible.patch
-gregkh-pci-pci-make-isa_bridge-alpha-only.patch
-gregkh-pci-pci-cleanup-msi-code.patch
-gregkh-pci-pci-power-management-remove-noise-on-non-manageable-hw.patch
-gregkh-pci-pci-duplicate-ids-ata_piix.patch
-gregkh-pci-pci-duplicate-ids-ipr.patch
-gregkh-pci-msi-replace-pci_msi_quirk-with-calls-to-pci_no_msi.patch
-gregkh-pci-msi-remove-pci_scan_msi_device.patch
-gregkh-pci-msi-combine-pci__msi-msix_state.patch
-gregkh-pci-msi-abstract-msi-suspend.patch
-make-cardbus_mem_size-and-cardbus_io_size-boot-options.patch
-make-cardbus_mem_size-and-cardbus_io_size-boot-options-fix.patch
-bugfixes-pci-devices-get-assigned-redundant-irqs.patch
-sh-add-kconfig-default.patch
-drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_match_scb-static.patch
-scsi-clean-up-warnings-in-advansys-driver.patch
-drivers-scsi-pcmcia-nsp_csh-removal-of-old.patch
-scsi-sic7xxx-stray-bracket-fix.patch
-scsi-53c7xx-brackets-fix.patch
-dac960-kmalloc-kzalloc-casting-cleanups.patch
-drivers-scsi-buslogic-replace-boolean-by-bool.patch
-git-block-fixup.patch
-git-block-borkage.patch
-git-block-atomicity-fix.patch
-gregkh-usb-usb-unusual_devsh-for-sony-floppy.patch
-gregkh-usb-usb-add-epic-support-to-the-io_edgeport-driver.patch
-gregkh-usb-usb-move-usb_device_class-class-devices-to-be-real-devices.patch
-gregkh-usb-usb-convert-usb-class-devices-to-real-devices.patch
-gregkh-usb-usb-rework-the-ohci-quirk-mecanism-as-suggested-by-david.patch
-gregkh-usb-usb-implement-support-for-split-endian-ohci.patch
-gregkh-usb-usb-implement-support-for-ehci-with-big-endian-mmio.patch
-gregkh-usb-usb-fix-ohci-warning.patch
-gregkh-usb-usb-fix-ehci-warning.patch
-gregkh-usb-usb-linux-usb_ch9h-becomes-linux-usb-ch9h.patch
-gregkh-usb-usb-define-usb_class_misc-in-linux-usb-ch9h.patch
-gregkh-usb-usb-remove-unneeded-void-casts-in-idmousec.patch
-gregkh-usb-usb-mutexification-of-rio500.patch
-gregkh-usb-usb-devioc-add-missing-init_list_head.patch
-gregkh-usb-usb-indicate-active-altsetting-in-proc-bus-usb-devices-file.patch
-gregkh-usb-usbcore-remove-unneeded-error-check.patch
-gregkh-usb-usb-ethernet-gadget-interop-with-mcci-windows-driver.patch
-gregkh-usb-rndis_host-learns-activesync-basics.patch
-gregkh-usb-ohci-rework-bus-glue-integration-to-allow-several-at-once.patch
-gregkh-usb-ohci-add-support-for-ohci-controller-on-the-of_platform-bus.patch
-gregkh-usb-usb-serial-add-dynamic-id-support-to-usb-serial-core.patch
-gregkh-usb-usb-serial-add-driver-pointer-to-all-usb-serial-drivers.patch
-gregkh-usb-usb-bugfix-for-aircable-add-module-and-name-to-usb_serial_driver.patch
-gregkh-usb-usb-gadget-file_storagec-remove-unnecessary-casts.patch
-gregkh-usb-usb-add-usb_endpoint_xfer_control-to-usbh.patch
-gregkh-usb-usb-add-binary-api-to-usbmon.patch
-gregkh-usb-usb-race-on-disconnect-in-mdc800.patch
-gregkh-usb-uhci-improved-debugging-checks-for-the-frame-list.patch
-gregkh-usb-uhci-no-dummy-tds-for-iso-qhs.patch
-gregkh-usb-usb-storage-scsi-level-fixes.patch
-gregkh-usb-usb-ohci-at91-refcount-fix-for-irq-wake-enables.patch
-gregkh-usb-usb-gadgetfs-whitespace-cleanup.patch
-gregkh-usb-usb-gadgetfs-remove-delayed-init-mode.patch
-gregkh-usb-usb-power-management-for-kaweth.patch
-gregkh-usb-usb-better-ethtool-support-for-kaweth.patch
-gregkh-usb-usb-ps3-ehci-bus-glue.patch
-gregkh-usb-usb-ps3-controller-hid-quirk.patch
-gregkh-usb-usb-ohci-error-handling-cleanup.patch
-gregkh-usb-usb-ps3-ohci-bus-glue.patch
-gregkh-usb-uhci-fix-bandwidth-allocation.patch
-gregkh-usb-usbcore-remove-unused-bandwith-related-code.patch
-gregkh-usb-ehci-local-variable-for-port-status-register.patch
-gregkh-usb-ehci-don-t-hide-ports-owned-by-the-companion.patch
-gregkh-usb-ehci-force-high-speed-devices-to-run-at-full-speed.patch
-gregkh-usb-usb-at91_udc-wakeup-event-updates.patch
-gregkh-usb-usb-total-removal-of-multithreaded-probing-in-usb.patch
-gregkh-usb-fix-for-bugzilla-7544.patch
-gregkh-usb-usb-race-fixes-for-usb-serial-step-1.patch
-gregkh-usb-usb-race-fixes-for-usb-serial-step-2.patch
-gregkh-usb-usb-race-fixes-for-usb-serial-step-3.patch
-gregkh-usb-usb-gadgetfs-cleanups.patch
-gregkh-usb-usb-gadgetfs-simplifications.patch
-gregkh-usb-usb-gadgetfs-race-fix.patch
-gregkh-usb-usb-gadgetfs-behaves-better-on-userspace-init-bug.patch
-gregkh-usb-usb-gadgetfs-aio-tweaks.patch
-gregkh-usb-usb-list-atmel-husb2_udc-gadget-controller.patch
-gregkh-usb-usb-usb-ethernet-gadget-recognizes-husb2dev.patch
-gregkh-usb-usb-sierra-wireless-auto-set-d0.patch
-gregkh-usb-usb-input-added-kernel-module-to-support-all-gtco-calcomp-usb-interwrite-school-products.patch
-gregkh-usb-usb-autosuspend-for-usb-printer-driver.patch
-gregkh-usb-usb-switch-ehci-hcd-to-new-polling-scheme.patch
-gregkh-usb-ehci-fix-interrupt-driven-remote-wakeup.patch
-gregkh-usb-usb-storage-use-first-bulk-endpoints-not-last.patch
-gregkh-usb-usbcore-trivial-whitespace-fixes.patch
-gregkh-usb-usb-a-bit-more-coding-style-cleanup.patch
-gregkh-usb-usb-duplicate-ids-visor.patch
-gregkh-usb-usb-duplicate-ids-ftdi_sio.patch
-gregkh-usb-usb-duplicate-ids-keyspan.patch
-gregkh-usb-usb-duplicate-ids-usb_storage.patch
-gregkh-usb-berry_charge.patch
-fix-gregkh-usb-usbcore-remove-unused-bandwith-related-code.patch
-fix-gregkh-usb-usb-linux-usb_ch9h-becomes-linux-usb-ch9h.patch
-usb_rtl8150-must-select-mii.patch
-input-hid-add-cidc-usb-device-to-hid-blacklist.patch
-usb-mass-storage-us_fl_ignore_residue-needed-for-aiptek-mp3-player.patch
-fix-misspelled-usbnet_mii-kernel-config-option.patch
-usb-in-init_endpoint_class-use-ptr_err-to-obtain-an-errno-value-not-is_err.patch
-fix-apparent-typo-config_usb_cdcether.patch
-pl2303-willcom-ws002in-support.patch
-use-__u32-rather-than-u32-in-userspace-ioctls-in-usbdevice_fsh.patch
-fix-unaligned-exception-in-drivers-net-wireless-orinococ.patch
-drivers-char-pcmcia-ipwireless_cs_-possible-cleanups.patch
-x86_64-mm-convert-i386-pda-code-to-use-%fs.patch
-x86_64-mm-kernel-mode-faults-pollute-current-thead.patch
-x86_64-mm-revert-i386-fix-the-verify_quirk_intel_irqbalance.patch
-x86_64-mm-revert-x86_64-mm-add-genapic_force.patch
-x86_64-mm-revert-x86_64-mm-fix-the-irqbalance-quirk-for-e7320-e7520-e7525.patch
-x86_64-mm-optimize-fix-apic-mode-setup.patch
-x86_64-mm-a-memcpy-that-tries-to-reduce-cache-pressure.patch
-x86_64-mm-use-memcpy_uncached_read-in-rdma-interrupt-handler-to-reduce-packet-loss.patch
-x86_64-mm-config_physical_align-limited-to-4m.patch
-x86_64-mm-blink-driver.patch
-x86_64-mm-msr-on-cpu.patch
-x86_64-mm-mtrr-compat.patch
-x86_64-mm-update-disable_io_apic-to-use-8-bit-destination-field.patch
-revert-x86_64-mm-msr-on-cpu.patch
-fix-x86_64-mm-i386-config-core2.patch
-fix-x86_64-mm-convert-i386-pda-code-to-use-%fs.patch
-cleanup-x86_64-mm-vmi-timer.patch
-add-i386-idle-notifier-take-3-fix.patch
-all-transmeta-cpus-have-constant-tscs.patch
-x86-fix-dev_to_node-for-x86-and-x86_64.patch
-math-emu-setcc-avoid-gcc-extension.patch
-i386-adjustments-to-page-table-dump-during-oops-v2.patch
-x86_64-re-add-a-newline-to-restore_context.patch
-geode-support-classic-mediagxm.patch
-arch-i386-kernel-ptracec-trivial-whitespace-cleanup.patch
-i386-kwatch-kernel-watchpoints-using-cpu-debug-registers.patch
-i386-kwatch-kernel-watchpoints-using-cpu-debug-registers-fix.patch
-i386-entrys-end-endproc-annotations.patch
-x86_64-clean-up-sparsemem-memory_present-call.patch
-kexec-update-io-apic-dest-field-to-8-bit-for.patch
-remove-unused-kernel-config-option-x86_xadd.patch
-hpet-avoid-warning-message-livelock.patch
-minor-patch-for-compilation-warning-in-x86_64-signal-code.patch
-x86_64-fix-fs-gs-registers-for-vt-execution.patch
-x86_64-sync-up-probe_roms-with-i386.patch
-i386-add-option-to-show-more-code-in-oops-reports.patch
-use-__u32-in-asm-x86_64-msrh.patch
-xfs-remove-useless-wmb-memory-barrier.patch
-slab-remove-broken-pageslab-check-from-kfree_debugcheck.patch
-slab-cache-alloc-cleanups.patch
-avoid-excessive-sorting-of-early_node_map.patch
-avoid-excessive-sorting-of-early_node_map-tidy.patch
-proc-zoneinfo-fix-vm-stats-display.patch
-typeof-__page_to_pfn-with-sparsemem=y.patch
-page_mkwrite-race-fix.patch
-use-zvc-for-inactive-and-active-counts.patch
-use-zvc-for-inactive-and-active-counts-up-fix.patch
-use-zvc-for-free_pages.patch
-use-zvc-for-free_pages-fix.patch
-use-zvc-for-free_pages-fix-2.patch
-use-zvc-for-free_pages-fix-3.patch
-use-zvc-for-free_pages-fix-4.patch
-reorder-zvcs-according-to-cacheline.patch
-drop-free_pages.patch
-drop-free_pages-fix.patch
-drop-free_pages-sparc64-fix.patch
-drop-nr_free_pages_pgdat.patch
-drop-__get_zone_counts.patch
-drop-get_zone_counts.patch
-get_dirty_limits-accurately-calculate-the-available-memory-that-can-be-dirtied.patch
-get_dirty_limits-accurately-calculate-the-available-memory-that-can-be-dirtied-fix.patch
-deal-with-cases-of-zone_dma-meaning-the-first-zone.patch
-introduce-config_zone_dma.patch
-optional-zone_dma-in-the-vm.patch
-optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set.patch
-optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set-reduce-config_zone_dma-ifdefs.patch
-optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set-reduce-config_zone_dma-ifdefs-fix.patch
-optional-zone_dma-in-the-vm-tidy.patch
-optional-zone_dma-for-ia64.patch
-remove-zone_dma-remains-from-parisc.patch
-remove-zone_dma-remains-from-sh-sh64.patch
-set-config_zone_dma-for-arches-with-generic_isa_dma.patch
-zoneid-fix-up-calculations-for-zoneid_pgshift.patch
-make-reading-proc-sys-kernel-cap-bould-not-require.patch
-alpha-increase-percpu_enough_room.patch
-pm-change-code-ordering-in-mainc.patch
-swsusp-change-code-ordering-in-diskc.patch
-swsusp-change-code-order-in-diskc-fix.patch
-swsusp-change-code-ordering-in-userc.patch
-swsusp-change-code-ordering-in-userc-sanity.patch
-swsusp-change-pm_ops-handling-by-userland-interface.patch
-m32r-build-fix-for-processors-without-isa_dsp_level2.patch
-m32r-fix-do_page_fault-and-update_mmu_cache.patch
-m32r-update-defconfig-files-for-v2619.patch
-m32r-fix-kernel-entry-address-of-vmlinux.patch
-m32r-cosmetic-updates-and-trivial-fixes.patch
-m68k-work-around-binutils-tokenizer-change.patch
-uml-console-locking-fixes.patch
-uml-return-hotplug-errors-to-host.patch
-uml-console-whitespace-and-comment-tidying.patch
-uml-lock-the-irqs_to_free-list.patch
-uml-add-locking-to-network-transport-registration.patch
-uml-network-driver-whitespace-and-style-fixes.patch
-uml-watchdog-driver-locking.patch
-uml-watchdog-driver-formatting.patch
-uml-audio-driver-locking.patch
-uml-audio-driver-formatting.patch
-uml-mconsole-locking.patch
-uml-make-two-variables-static.patch
-uml-port-driver-formatting.patch
-uml-kill-a-compilation-warning.patch
-uml-network-driver-locking-and-code-cleanup.patch
-uml-use-list_head-where-possible.patch
-uml-locking-commentary-in-the-random-driver.patch
-uml-mostly-const-a-structure.patch
-uml-chan_userh-formatting-fices.patch
-uml-console-locking-commentary-and-code-cleanup.patch
-uml-fix-previous-console-locking.patch
-uml-locking-comments-in-iomem-driver.patch
-uml-memc-and-physmemc-formatting-fixes.patch
-uml-initialize-a-list-head.patch
-uml-make-time-data-per-cpu.patch
-uml-delete-unused-file.patch
-uml-remove-unused-variable-and-function.patch
-uml-make-signal-handlers-static.patch
-uml-const-a-variable.patch
-uml-remove-code-controlled-by-non-existent-config-option.patch
-uml-add-per-device-queues-and-locks-to-ubd-driver.patch
-uml-locking-fixes-in-the-ubd-driver.patch
-uml-locking-comments-in-memory-and-tempfile-code.patch
-uml-locking-comments-in-startup-code.patch
-uml-style-fixes-in-startup-code.patch
-uml-libc-dependent-code-should-call-libc-directly.patch
-uml-fix-style-violations.patch
-uml-fix-apparent-config_64_bit-typo.patch
-drivers-add-lcd-support-3.patch
-drivers-add-lcd-support-3-Kconfig-fix.patch
-drivers-add-lcd-support-update-4.patch
-drivers-add-lcd-support-update-5.patch
-drivers-add-lcd-support-update6.patch
-drivers-add-lcd-support-update-7.patch
-drivers-add-lcd-support-update-8.patch
-drivers-add-lcd-support-update-9.patch
-drivers-add-lcd-support-workqueue-fixups.patch
-add-retain_initrd-boot-option.patch
-add-retain_initrd-boot-option-tweak.patch
-vt-refactor-console-sak-processing.patch
-sysctl_ms_jiffies-fix-oldlen-semantics.patch
-remove-include-linux-byteorder-pdp_endianh.patch
-9p-use-kthread_stop-instead-of-sending-a-sigkill.patch
-count_vm_events-warning-fix.patch
-char-tty-delete-wake_up_interruptible-after-tty_wakeup.patch
-disable-init-initramfsc-updated.patch
-disable-init-initramfsc-updated-fix.patch
-disable-init-initramfsc-architectures.patch
-usr-gen_init_cpioc-support-for-hard-links.patch
-ioc3-ioc4-pci-mem-space-resources.patch
-char-isicom-remove-tty_hangwakeup-bottomhalves.patch
-struct-vfsmount-keep-mnt_count-mnt_expiry_mark-away-from-mnt_flags.patch
-avoid-one-conditional-branch-in-touch_atime.patch
-mxser-remove-ambiguous-redefinition-of-init_work.patch
-make-drivers-char-mxser_newcmxser_hangup-static.patch
-char-isicom-fix-locking-in-isr.patch
-char-isicom-augment-card_reset.patch
-char-isicom-check-card-state-in-isr.patch
-char-isicom-support-higher-rates.patch
-char-isicom-correct-probing-removing.patch
-char-tty_wakeup-cleanup.patch
-kill_pid_info-kill-acquired_tasklist_lock.patch
-lockdep-also-check-for-freed-locks-in-kmem_cache_free.patch
-lockdep-more-unlock-on-error-fixes.patch
-lockdep-more-unlock-on-error-fixes-fix.patch
-lockdep-add-graph-depth-information-to-proc-lockdep.patch
-igrab-should-check-for-i_clear.patch
-consolidate-line-discipline-number-definitions-v2.patch
-consolidate-line-discipline-number-definitions-v2-sparc-fix.patch
-consolidate-line-discipline-number-definitions-v2-fix-2.patch
-scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath.patch
-rewrite-unnecessary-duplicated-code-to-use-field_sizeof.patch
-drivers-char-vc_screenc-proper-prototypes.patch
-transform-kmem_cache_allocmemset0-kmem_cache_zalloc.patch
-serial-serial_txx9-driver-update.patch
-relay-add-cpu-hotplug-support.patch
-ext2-skip-pages-past-number-of-blocks-in-ext2_find_entry.patch
-char-mxser_new-mark-init-functions.patch
-char-mxser_new-remove-useless-spinlock.patch
-char-serial167-cleanup.patch
-char-n_r3964-cleanup.patch
-consolidate-default-sched_clock.patch
-pktcdvd-cleanup.patch
-pnp-export-pnp_bus_type.patch
-char-mxser_new-remove-unused-stuff.patch
-char-mxser-obsolete-old-nonexperimental-new.patch
-char-mxser_new-remove-tty_wakeup-bottomhalf.patch
-char-mxser_new-clean-request_irq-call.patch
-doc-isicom-remove-reserved-ioctl-number.patch
-char-mxser_new-alter-locking-in-isr.patch
-char-mxser_new-header-file-cleanup.patch
-char-mxser_new-less-loops-in-isr.patch
-char-mxser_new-fix-twice-resource-releasing.patch
-char-mxser_new-do-not-put-pdev.patch
-char-mxser_new-upgrade-to-1915.patch
-char-mxser_new-upgrade-to-1915-fix.patch
-char-mxser_new-do-not-null-driver_data.patch
-char-mxser_new-lock-count-and-flags.patch
-char-mxser_new-fix-sparse-warning.patch
-aio-fix-buggy-put_ioctx-call-in-aio_complete-v2.patch
-add-taint_user-and-ability-to-set-taint-flags-from-userspace.patch
-add-taint_user-and-ability-to-set-taint-flags-from-userspace-fix.patch
-add-taint_user-and-ability-to-set-taint-flags-from-userspace-fix-2.patch
-char-moxa-remove-unused-allocated-page.patch
-char-moxa-do-not-initialize-global-static.patch
-char-moxa-timers-cleanup.patch
-char-moxa-remove-hangup-bottomhalf.patch
-char-moxa-remove-unused-functions.patch
-char-moxa-devids-cleanup.patch
-char-moxa-use-pci_device.patch
-char-moxa-eliminate-typedefs.patch
-char-moxa-macros-cleanup.patch
-char-moxa-use-del_timer_sync.patch
-char-moxa-remove-moxa_pci_devinfo.patch
-char-moxa-variables-cleanup.patch
-char-moxa-remove-useless-vairables.patch
-char-moxa-pci_probing-prepare.patch
-char-moxa-pci-probing.patch
-docbook-html-generate-chapter-section-level-tocs-for-functions.patch
-docbook-html-correction-of-recursive-a-tags-in-html-output.patch
-export-invalidate_mapping_pages-to-modules.patch
-remove-invalidate_inode_pages.patch
-use-cycle_t-instead-of-u64-in-struct-time_interpolator.patch
-fix-sparse-warnings-from-asmnet-checksumh.patch
-add-an-rcu-version-of-list-splicing.patch
-add-an-rcu-version-of-list-splicing-fix.patch
-ipmi-fix-some-rcu-problems.patch
-ipmi-fix-some-rcu-problems-update.patch
-factor-outstanding-i-o-error-handling.patch
-factor-outstanding-i-o-error-handling-tidy.patch
-sync_sb_inodes-propagate-errors.patch
-get-rid-of-double-zeroing-of-allocated-pages.patch
-relax-check-for-aix-in-msdos-partition-table.patch
-msdos-partitions-fix-logic-error-in-aix-detection.patch
-add-const-for-timespecval_compare-arguments.patch
-schedule-obsolete-oss-drivers-for-removal-3rd-round.patch
-sysctl-warning-fix.patch
-proc_misc-warning-fix.patch
-remove-unnecessary-memset0-calls-after-kzalloc-calls.patch
-kernel-doc-allow-a-little-whitespace.patch
-proc-remove-useless-and-buggy-nlink-settings.patch
-sysrq-showblockedtasks-is-sysrq-w.patch
-sysrq-alphabetize-command-keys-doc.patch
-kernel-doc-allow-more-whitespace.patch
-tty-improve-encode_baud_rate-logic.patch
-discuss-a-couple-common-errors-in-kernel-doc-usage.patch
-numerous-fixes-to-kernel-doc-info-in-source-files.patch
-common-compat_sys_sysinfo-v2.patch
-remove-a-couple-final-references-to-obsolete-verify_area.patch
-local_t-documentation.patch
-local_t-documentation-fix.patch
-rtc-framework-driver-for-cmos-rtcs.patch
-rtc-framework-driver-for-cmos-rtcs-fix.patch
-rtc-framework-driver-for-cmos-rtcs-fix-2.patch
-make-bh_unwritten-a-first-class-bufferhead-flag-v2.patch
-make-xfs-use-bh_unwritten-and-bh_delay-correctly.patch
-docbook-add-edd-firmware-interfaces.patch
-kernel-doc-fix-some-odd-spacing-issues.patch
-serial-support-for-new-board.patch
-cleanup-linux-byteorder-swabbh.patch
-ext3-refuse-ro-to-rw-remount-of-fs-with-orphan.patch
-ext4-refuse-ro-to-rw-remount-of-fs-with-orphan.patch
-audit-fix-audit_filter_user_rules-initialization-bug.patch
-raw-dont-allow-the-creation-of-a-raw-device-with-minor-number-0.patch
-sn2-use-static-proc_fops.patch
-sed-s-gawk-awk-scripts-gen_init_ramfssh.patch
-seq_file-conversion-coda.patch
-fix-umask-when-noacl-kernel-meets-extn-tuned-for-acls.patch
-seq_file-conversion-toshibac.patch
-return-enoent-from-ext3_link-when-racing-with-unlink.patch
-return-enoent-from-ext3_link-when-racing-with-unlink-fix.patch
-remove-ext_inc_count-and-_dec_count.patch
-remove-the-last-reference-to-rwlock_is_locked-macro.patch
-consolidate-bust_spinlocks.patch
-extract-and-use-wake_up_klogd.patch
-extend-the-set-of-__attribute__-shortcut-macros.patch
-documentation-rbtreetxt-updated.patch
-buffer-memorder-fix.patch
-remove-final-reference-to-superfluous-smp_commence.patch
-cleanup-include-linux-xattrh.patch
-cleanup-include-linux-reiserfs_xattrh.patch
-replace-regular-code-with-appropriate-calls-to-container_of.patch
-remove-dead-kernel-config-option-aedsp16_mpu401.patch
-remove-references-to-obsolete-kernel-config-option-debug_rwsems.patch
-remove-unused-kernel-config-option-zisofs_fs.patch
-remove-unused-kernel-config-option-lcd_device.patch
-remove-unused-kernel-config-option-paride_parport.patch
-order-of-lockdep-off-on-in-vprintk-should-be-changed.patch
-minimize-lockdep_on-off-side-effect.patch
-kprobes-replace-magic-numbers-with-enum.patch
-some-rtc-documentation-updates.patch
-drivers-block-dac960-converted-boolean-to-bool.patch
-mxser-remove-useless-fields.patch
-fix-apparent-typo-config_lockdep_debug.patch
-ext-jbd-layer-function-called-instead-of-fs-specific-one.patch
-highmem-catch-illegal-nesting.patch
-change-constant-zero-to-notify_done-in-ratelimit_handler.patch
-spi-kconfig-fix.patch
-spi-controller-driver-for-omap-microwire.patch
-spi-controller-driver-for-omap-microwire-tidy.patch
-spi-controller-driver-for-omap-microwire-update.patch
-spi-controller-driver-for-omap-microwire-update-fix.patch
-spi-freescale-imx-spi-controller-driver-bis.patch
-spi-add-spi_set_drvdata-and-spi_get_drvdata.patch
-spi-documentation-does-not-need-to-set-drivers-bus_type-field.patch
-spi-remove-return-in-spi_unregister_driver.patch
-spi_bitbang-use-overridable-setup_transfer-method.patch
-spi-cleanup-method-param-becomes-non-const.patch
-add-shared-version-of-apm-emulation.patch
-arm-convert-to-use-shared-apm-emulation.patch
-mips-convert-to-use-shared-apm-emulation.patch
-sh-convert-to-use-shared-apm-emulation.patch
-minix-v3-support.patch
-have-pipefs-ensure-i_ino-uniqueness-by-calling-iunique-and-hashing-the-inode.patch
-have-pipefs-ensure-i_ino-uniqueness-by-calling-iunique-and-hashing-the-inode-update.patch
-tty-make-__proc_set_tty-static.patch
-tty-clarify-disassociate_ctty.patch
-tty-fix-the-locking-for-signal-session-in-disassociate_ctty.patch
-signal-use-kill_pgrp-not-kill_pg-in-the-sunos-compatibility-code.patch
-signal-rewrite-kill_something_info-so-it-uses-newer-helpers.patch
-pid-make-session_of_pgrp-use-struct-pid-instead-of-pid_t.patch
-pid-use-struct-pid-for-talking-about-process-groups-in-exitc.patch
-pid-replace-is_orphaned_pgrp-with-is_current_pgrp_orphaned.patch
-tty-update-the-tty-layer-to-work-with-struct-pid.patch
-pid-replace-do-while_each_task_pid-with-do-while_each_pid_task.patch
-pid-remove-now-unused-do_each_task_pid-and-while_each_task_pid.patch
-pid-remove-the-now-unused-kill_pg-kill_pg_info-and-__kill_pg_info.patch
-edac-e752x-bit-mask-fix.patch
-edac-e752x-byte-access-fix.patch
-edac-fix-in-e752x-mc-driver.patch
-edac-add-memory-scrubbing-controls-api-to-core.patch
-edac-add-fully-buffered-dimm-apis-to-core.patch
-gpio-core.patch
-omap-gpio-wrappers.patch
-omap-gpio-wrappers-tidy.patch
-at91-gpio-wrappers.patch
-at91-gpio-wrappers-tidy.patch
-pxa-gpio-wrappers.patch
-sa1100-gpio-wrappers.patch
-s3c2410-gpio-wrappers.patch
-drivers-isdn-pcbit-proper-prototypes.patch
-drivers-isdn-hisax-proper-prototypes.patch
-drivers-isdn-sc-proper-prototypes.patch
-isdn-capi-use-array_size-when-appropriate.patch
-isdn-fix-typo-config_hisax_quadro-config_hisax_sct_quadro.patch
-isdn-rename-some-debugging-macros-to-not-resemble-config.patch
-isdn-rename-debug-option-config_serial_nopause_io.patch
-isdn-remove-defunct-test-emulator.patch
-isdn-rename-special-macro-config_hisax_hfc4s8s_pcimem.patch
-drivers-isdn-hardware-eicon-convert-to-generic-boolean-values.patch
-drivers-isdn-hisax-convert-to-generic-boolean-values.patch
 -knfsd-sunrpc-update-internal-api-separate-pmap-register-and-temp-sockets.patch
-knfsd-sunrpc-allow-creating-an-rpc-service-without-registering-with-portmapper.patch
-knfsd-sunrpc-cache-remote-peers-address-in-svc_sock.patch
-knfsd-sunrpc-use-sockaddr_storage-to-store-address-in-svc_deferred_req.patch
-knfsd-sunrpc-add-a-function-to-format-the-address-in-an-svc_rqst-for-printing.patch
-include-linux-nfsd-consth-remove-nfs_super_magic.patch
-ecryptfs-public-key-transport-mechanism.patch
-ecryptfs-public-key-transport-mechanism-fix.patch
-ecryptfs-public-key-packet-management.patch
-ecryptfs-public-key-packet-management-slab-fix.patch
-ecryptfs-xattr-flags-and-mount-options.patch
-ecryptfs-generalize-metadata-read-write.patch
-ecryptfs-generalize-metadata-read-write-fix.patch
-ecryptfs-generalize-metadata-read-write-fs-ecryptfs-make-code-static.patch
-ecryptfs-encrypted-passthrough.patch
-ecryptfs-convert-f_op-write-to-vfs_write.patch
-ecryptfs-convert-kmap-to-kmap_atomic.patch
-ecryptfs-open-code-flag-checking-and-manipulation.patch
-ecryptfs-add-flush_dcache_page-calls.patch
-ecryptfs-convert-lookup_one_len-to-lookup_one_len_nd.patch
-sched-avoid-div-in-rebalance_tick.patch
-rename-attach_pid-to-find_attach_pid.patch
-attach_pid-with-struct-pid-parameter.patch
-remove-find_attach_pid.patch
-statically-initialize-struct-pid-for-swapper.patch
-explicitly-set-pgid-sid-of-init.patch
-uts-namespace-remove-config_uts_ns.patch
-ipc-namespace-remove-config_ipc_ns.patch
-ipc-namespace-remove-config_ipc_ns-linkage-fix.patch
-ipc-namespace-remove-config_ipc_ns-linkage-fix-fix.patch
-dynamic-kernel-command-line-common.patch
-dynamic-kernel-command-line-alpha.patch
-dynamic-kernel-command-line-arm.patch
-dynamic-kernel-command-line-arm26.patch
-dynamic-kernel-command-line-avr32.patch
-dynamic-kernel-command-line-cris.patch
-dynamic-kernel-command-line-frv.patch
-dynamic-kernel-command-line-h8300.patch
-dynamic-kernel-command-line-i386.patch
-dynamic-kernel-command-line-ia64.patch
-dynamic-kernel-command-line-ia64-fix.patch
-dynamic-kernel-command-line-m32r.patch
-dynamic-kernel-command-line-m68k.patch
-dynamic-kernel-command-line-m68knommu.patch
-dynamic-kernel-command-line-mips.patch
-dynamic-kernel-command-line-parisc.patch
-dynamic-kernel-command-line-powerpc.patch
-dynamic-kernel-command-line-ppc.patch
-dynamic-kernel-command-line-s390.patch
-dynamic-kernel-command-line-sh.patch
-dynamic-kernel-command-line-sh64.patch
-dynamic-kernel-command-line-sparc.patch
-dynamic-kernel-command-line-sparc64.patch
-dynamic-kernel-command-line-um.patch
-dynamic-kernel-command-line-v850.patch
-dynamic-kernel-command-line-x86_64.patch
-dynamic-kernel-command-line-xtensa.patch
-dynamic-kernel-command-line-fixups.patch
-i386-2048-byte-command-line.patch
-x86_64-2048-byte-command-line.patch
-ia64-2048-byte-command-line.patch
-ufs2-write-mount-as-rw.patch
-ufs2-write-inodes-write.patch
-ufs2-write-block-allocation-update.patch
-proper-backlight-selection-for-fbdev-drivers.patch
-fbdev-driver-for-s3-trio-virge.patch
-fbdev-driver-for-s3-trio-virge-cleanups.patch
-remove-broken-video-drivers-v4.patch
-tgafb-switch-to-framebuffer_alloc.patch
-tgafb-fix-copying-overlapping-areas.patch
-tgafb-support-the-directcolor-visual.patch
-tgafb-fix-the-mode-register-setting.patch
-tgafb-module-support-fixes.patch
-tgafb-sync-on-green-support-fixes.patch
-tgafb-fix-the-pci-id-table.patch
-remove-bogus-con_is_present-prototypes.patch
-cyber2010-framebuffer-on-arm-netwinder-fix.patch
-cyber2010-framebuffer-on-arm-netwinder-fix-tidy.patch
-proper-prototype-for-tosh_smm.patch
-recognize-video=gx1fb-option.patch
-correct-apparent-typo-config_aty_ct-in-aty-video.patch
-remove-555-unneeded-includes-of-schedh.patch
-oss-replace-kmallocmemset-combos-with-kzalloc.patch
-mark-struct-file_operations-const-1.patch
-mark-struct-file_operations-const-2.patch
-mark-struct-file_operations-const-2-fix.patch
-mark-struct-file_operations-const-3.patch
-mark-struct-file_operations-const-4.patch
-mark-struct-file_operations-const-4-fix.patch
-mark-struct-file_operations-const-5.patch
-mark-struct-file_operations-const-6.patch
-mark-struct-file_operations-const-7.patch
-mark-struct-file_operations-const-8.patch
-mark-struct-file_operations-const-9.patch
-mark-struct-inode_operations-const-1.patch
-mark-struct-inode_operations-const-2.patch
-mark-struct-inode_operations-const-3.patch
-mark-struct-super_operations-const.patch
-scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
-scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
-scheduled-removal-of-sa_xxx-interrupt-flags.patch
-scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
-sysctl-x25-remove-unnecessary-insert_at_head-from-register_sysctl_table.patch
-sysctl-move-ctl_sunrpc-to-sysctlh-where-it-belongs.patch
-sysctl-sunrpc-remove-unnecessary-insert_at_head-flag.patch
-sysctl-sunrpc-dont-unnecessarily-set-ctl_table-de.patch
-sysctl-rose-remove-unnecessary-insert_at_head-flag.patch
-sysctl-netrom-remove-unnecessary-insert_at_head-flag.patch
-sysctl-llc-remove-unnecessary-insert_at_head-flag.patch
-sysctl-ipx-remove-unnecessary-insert_at_head-flag.patch
-sysctl-decnet-remove-unnecessary-insert_at_head-flag.patch
-sysctl-dccp-remove-unnecessary-insert_at_head-flag.patch
-sysctl-ax25-remove-unnecessary-insert_at_head-flag.patch
-sysctl-atalk-remove-unnecessary-insert_at_head-flag.patch
-sysctl-xfs-remove-unnecessary-insert_at_head-flag.patch
-sysctl-c99-convert-xfs-ctl_tables.patch
-sysctl-c99-convert-xfs-ctl_tables-fixes.patch
-sysctl-scsi-remove-unnecessary-insert_at_head-flag.patch
-sysctl-md-remove-unnecessary-insert_at_head-flag.patch
-sysctl-mac_hid-remove-unnecessary-insert_at_head-flag.patch
-sysctl-ipmi-remove-unnecessary-insert_at_head-flag.patch
-sysctl-cdrom-remove-unnecessary-insert_at_head-flag.patch
-sysctl-cdrom-dont-set-de-owner.patch
-sysctl-move-ctl_pm-into-sysctlh-where-it-belongs.patch
-sysctl-frv-pm-remove-unnecessary-insert_at_head-flag.patch
-sysctl-move-ctl_frv-into-sysctlh-where-it-belongs.patch
-sysctl-frv-remove-unnecessary-insert_at_head-flag.patch
-sysctl-c99-convert-arch-frv-kernel-pmc.patch
-sysctl-c99-convert-arch-frv-kernel-sysctlc.patch
-sysctl-sn-remove-sysctl-abi-breakage.patch
-sysctl-c99-convert-arch-ia64-sn-kernel-xpc_mainc.patch
-sysctl-c99-convert-arch-ia64-kernel-perfmon-and-remove-abi-breakage.patch
-sysctl-mips-au1000-remove-sys_sysctl-support.patch
-sysctl-c99-convert-the-ctl_tables-in-arch-mips-au1000-common-powerc.patch
-sysctl-c99-convert-arch-mips-lasat-sysctlc-and-remove-abi-breakage.patch
-sysctl-s390-move-sysctl-definitions-to-sysctlh.patch
-sysctl-s390-move-sysctl-definitions-to-sysctlh-fix.patch
-sysctl-s390-remove-unnecessary-use-of-insert_at_head.patch
-sysctl-c99-convert-ctl_tables-in-arch-powerpc-kernel-idlec.patch
-sysctl-c99-convert-ctl_tables-entries-in-arch-ppc-kernel-ppc_htabc.patch
-sysctl-c99-convert-arch-sh64-kernel-trapsc-and-remove-abi-breakage.patch
-sysctl-x86_64-remove-unnecessary-use-of-insert_at_head.patch
-sysctl-c99-convert-ctl_tables-in-arch-x86_64-ia32-ia32_binfmtc.patch
-sysctl-c99-convert-ctl_tables-in-arch-x86_64-kernel-vsyscallc.patch
-sysctl-c99-convert-ctl_tables-in-arch-x86_64-mm-initc.patch
-sysctl-remove-sys_sysctl-support-from-the-hpet-timer-driver.patch
-sysctl-remove-sys_sysctl-support-from-drivers-char-rtcc.patch
-sysctl-register-the-sysctl-number-used-by-the-arlan-driver.patch
-sysctl-c99-convert-ctl_tables-in-drivers-parport-procfsc.patch
-sysctl-c99-convert-ctl_tables-in-drivers-parport-procfsc-fix.patch
-sysctl-c99-convert-coda-ctl_tables-and-remove-binary-sysctls.patch
-sysctl-c99-convert-ctl_tables-in-ntfs-and-remove-sys_sysctl-support.patch
-sysctl-c99-convert-ctl_tables-in-ntfs-and-remove-sys_sysctl-support-fix.patch
-sysctl-register-the-ocfs2-sysctl-numbers.patch
-sysctl-move-init_irq_proc-into-init-main-where-it-belongs.patch
-sysctl-move-utsname-sysctls-to-their-own-file.patch
-sysctl-move-utsname-sysctls-to-their-own-file-fix.patch
-sysctl-move-sysv-ipc-sysctls-to-their-own-file.patch
-sysctl-move-sysv-ipc-sysctls-to-their-own-file-fix.patch
-sysctl-create-sys-fs-binfmt_misc-as-an-ordinary-sysctl-entry.patch
-sysctl-create-sys-fs-binfmt_misc-as-an-ordinary-sysctl-entry-warning-fix.patch
-sysctl-remove-support-for-ctl_any.patch
-sysctl-remove-support-for-directory-strategy-routines.patch
-sysctl-remove-insert_at_head-from-register_sysctl.patch
-sysctl-remove-insert_at_head-from-register_sysctl-fix.patch
-sysctl-factor-out-sysctl_head_next-from-do_sysctl.patch
-sysctl-factor-out-sysctl_head_next-from-do_sysctl-warning-fix.patch
-sysctl-allow-sysctl_perm-to-be-called-from-outside-of-sysctlc.patch
-sysctl-reimplement-the-sysctl-proc-support.patch
-sysctl-reimplement-the-sysctl-proc-support-fix.patch
-sysctl-reimplement-the-sysctl-proc-support-warning-fix.patch
-sysctl-reimplement-the-sysctl-proc-support-fix-2.patch
-sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables.patch
-sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables-fix.patch
-sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables-ntfs-fix.patch
-debug-shared-irqs.patch
-debug-shared-irqs-kconfig-fix.patch

 Merged into mainline or a subsystem tree.

+gpio-core-documentation.patch
+build-errors-uevent-with-config_sysfs=n.patch
+mincore-config_swap=n-fix.patch
+mincore-fill-in-results-properly.patch
+mincore-vma-crossing-fix.patch

 A few fixes

+make-aout-executables-work-again.patch

 This is also fixed in the x86_64 tree, differently.

+ifdef-acpi_future_usage-acpi_os_readable.patch

 ACPI fix

+at91-correct-value-for-at91_rstc_key.patch

 ARM fix

+powerpc-rtas-msi-support-fix.patch
+fix-cut-and-paste-breakage-in-arch-powerpc-platforms-pseries-pseriesh.patch
+powerpc-export-of_find_property.patch

 powerpc fixes

+gregkh-driver-driverh-copyright.patch
+gregkh-driver-driver-core-let-request_module-send-a-sys-modules-kmod-uevent.patch
+gregkh-driver-serial-add-pcmcia-ids-for-quatech-dsp-100-dual-rs232-adapter.patch
+gregkh-driver-kobject-kobj-k_name-verification-fix.patch
+gregkh-driver-driver-remove-redundant-kobject_unregister-checks.patch
+gregkh-driver-debugfs-implement-symbolic-links.patch
+gregkh-driver-debugfs-remove-misleading-comments.patch
+gregkh-driver-driver-core-device_add_attrs-cleanup.patch
+gregkh-driver-pcmcia-some-class_device-fallout.patch
+gregkh-driver-driver-core-per-subsystem-multithreaded-probing.patch
+gregkh-driver-powerpc-make-it-compile-for-multithread-change.patch
+gregkh-driver-driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch

 driver tree updates

+power-management-no-valid-states-w-o-pm_ops-docs.patch
+power-management-fix-struct-layout-and-docs.patch

 power management tweaks

+saa7134-cleanup.patch
+video4linux-fix-audio-input-for-avertv-go-007.patch

 DVB fixes

+jdelvare-i2c-i2c-04-kill-i2c_adapterclass_dev.patch
+jdelvare-i2c-i2c-05-i2c_adapter-devices-have-no-driver.patch
+jdelvare-i2c-i2c-06-remove-duplicate-i2c-drivers-list.patch
+jdelvare-i2c-i2c-algo-bit-always-send-stop-before-leaving.patch
+jdelvare-i2c-i2c-add-smbus-block-read-emulation.patch
+jdelvare-i2c-i2c-algo-bit-emulate-smbus-block-read.patch

 I2C tree updates

+i2c-tsl2550-support.patch

 i2c device support

+jdelvare-hwmon-hwmon-vt1211-add-probing-of-alternate-config-index-port.patch

 hwmon tree update

+ia64-point-saved_max_pfn-to-the-max_pfn-of-the-entire-system.patch

 ia64 fix

+setstream-param-for-psmouse.patch

 input fix

+sis-warning-fixes.patch
+libata-add-a-host-flag-to-indicate-lack-of-iordy.patch
+add-delay-around-sl82c105_reset_engine-calls.patch
+sata_nv-add-back-some-verbosity-into-adma-error_handler.patch
+sata_nv-add-back-some-verbosity-into-adma-error_handler-tidy.patch
+sata_nv-handle-serror-status-indication.patch
+sata-use-null-for-ptrs.patch
+ata-convert-gsi-to-irq-on-ia64.patch
+libata-fix-hopefully-all-the-remaining-problems-with.patch

 ata things

-ide-toshiba-tc86c001-ide-driver-take-2.patch
-ide-toshiba-tc86c001-ide-driver-take-2-fix.patch
-ide-toshiba-tc86c001-ide-driver-take-2-fix-2.patch
-ide-hpt3xx-rework-rate-filtering.patch
-ide-hpt3xx-rework-rate-filtering-tidy.patch
-ide-hpt3xx-print-the-real-chip-name-at-startup.patch
-ide-hpt3xx-switch-to-using-pci_get_slot.patch
-ide-hpt3xx-cache-channels-mcr-address.patch
-ide-hpt3x7-merge-speedproc-handlers.patch
-ide-hpt370-clean-up-dma-timeout-handling.patch
-ide-hpt3xx-init-code-rewrite.patch
-ide-piix-fix-82371mx-enablebits.patch
-ide-piix-tuneproc-fixes-cleanups.patch
-ide-slc90e66-carry-over-fixes-from-piix-driver.patch
-ide-hpt36x-pci-clock-detection-fix.patch
-ide-jmicron-warning-fix.patch
-ide-pdc202xx_new-remove-useless-code.patch
-ide-pdc202xx_-remove-check_in_drive_lists-abomination.patch
-ide-atiixpc-remove-unused-code.patch
-ide-atiixpc-sb600-ide-only-has-one-channel.patch
-ide-atiixpc-add-cable-detection-support-for-ati-ide.patch
-ide-ide-generic-jmicron-has-its-own-drivers-now.patch
-ide-ide-maintainers-entry.patch
-ide-it8213-ide-driver.patch
-ide-it8213-ide-driver-update.patch
-ide-ide-pci-init-tags.patch
-ide-pdc202xx_old-dead-code.patch
-ide-au1xxx-dead-code.patch
-ide-ide-pio-blacklisted.patch
-ide-ide-no-dsc-flag.patch
-ide-trm290-dma-ifdefs.patch
-ide-ide-pci-device-tables.patch
-ide-ide-dev-openers.patch
-ide-hpt366-init-dma.patch
-ide-cs5530-cleanup.patch
-ide-svwks-cleanup.patch
-ide-sis5513-config-xfer-rate.patch
-ide-ide-set-xfer-rate.patch
-ide-ide-use-fast-pio-v2.patch
-ide-ide-io-cleanup.patch
-ide-delkin_cb-ide-driver.patch
-ide-ide-acpi-support.patch
-ide-ide-pnp-exit-fix.patch
-ide-via-ide-update.patch
-ide-it8213-ide-driver-update-fixes.patch
-ide-ide-mmio-flag.patch
-ide-hpt34x-tune-chipset-fix.patch
-ide-ide-fix-pio-fallback.patch
-ide-piix-cleanup.patch
-ide-ide-dma-check-disable-dma-fix.patch
-ide-sgiioc4-ide-dma-check-fix.patch
-ide-ide-set-dma-helper.patch
-ide-ide-dma-off-void.patch
-ide-ide-dma-host-on-void.patch
-ide-ide-fix-dma-masks.patch
-ide-ide-max-dma-mode.patch
-ide-ide-tune-dma-helper.patch

 dropped.

+adjust-legacy-ide-resource-setting-v2.patch
+ide-pci-delkin_cbc-pci_module_init-to-pci_register_driver.patch

 IDE udpates

+git-md-accel-fixes.patch
+git-md-accel-warning-fixes.patch
+git-md-accel-fix.patch

 Fix git-md-accel.patch

+mtd-maps-ck804xromc-pci_module_init-to-pci_register_driver.patch

 UBI tree fix

+user-of-the-jiffies-rounding-code-e1000.patch
+revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch
+phy-layer-add-kernel-doc-docbook.patch
+fix-atl1-braino.patch
+net-wan-pc300tooc-pci_module_init-to-pci_register_driver.patch
+ehea-dynamic-add--remove-port.patch
+atl1-drop-net_pci-from-kconfig.patch
+atl1-read-mac-address-from-register.patch
+atl1-remove-unused-define.patch
+atl1-add-l1-device-id-to-pci_ids-then-use-it.patch
+atl1-bump-version-number.patch
+Fabric7-VIOC-driver.patch
+Fabric7-VIOC-driver-fixes.patch
+natsemi-add-support-for-using-mii-port-with-no-phy-update.patch
+natsemi-support-aculab-e1-t1-pmxc-cpci-carrier-cards.patch

 netdev stuff

+atm-use-array_size-macro-when-appropriate.patch
+bugfixes-and-new-hardware-support-for-arcnet-driver.patch

 net things

+git-backlight-sony-fix.patch

 Fix git-backlight.patch for git-acpi driver

+git-ioat-vs-git-md-accel.patch

 Fix git-ioat.patch

-nfs-represent-64-bit-fileids-as-64-bit-inode-numbers-on-32-bit-systems.patch

 Dropped (I think)

-nfs-fix-congestion-control-v4-tweaks.patch

 Folded into nfs-fix-congestion-control-v4.patch

+gregkh-pci-pci-sysfs-kobject-kernel-doc-fixes.patch
+gregkh-pci-pci-pcitxt-fix-__devexit-usage.patch
+gregkh-pci-pci-make-cardbus_mem_size-and-cardbus_io_size-boot-options.patch
+gregkh-pci-pci-pci-devices-get-assigned-redundant-irqs.patch
+gregkh-pci-pci-add-systems-for-automatic-breadth-first-device-sorting.patch
+gregkh-pci-pci-make-pci-device-numa-node-attribute-visible-in-sysfs.patch

 PCI tree updates

+pci-add-systems-for-automatic-breadth-first-device-sorting-update.patch
+x86-fix-dev_to_node-for-x86-and-x86_64.patch

 PCI fixes

+scsi-fix-obvious-typo-spin_lock_irqrestore-in-gdthc.patch
+drivers-scsi-aacraid-cleanups.patch
+drivers-scsi-aic7xxx-convert-to-generic-boolean-values.patch
+drivers-scsi-aic7xxx_old-convert-to-generic-boolean-values.patch
+cleanup-variable-usage-in-mesh-interrupt-handler.patch
+fix--confusion-in-fusion-driver.patch
+scsi-megaraid_sas-donot-process-cmds-if-hw_crit_error-is-set.patch
+scsi-megaraid_sas-added-bios_param-in-scsi_host_template.patch
+scsi-megaraid_sas-throttle-io-if-fw-is-busy.patch
+scsi-megaraid_sas-replace-pci_alloc_consitent-with-dma_alloc_coherent-in-ioctl-path.patch
+scsi-megaraid_sas-return-sync-cache-call-with-success.patch
+scsi-megaraid_sas-update-version-and-author-info.patch
+lpfc-add-pci-error-recovery-support.patch

 scsi fixes

+git-block-dupe-definitions.patch
+git-block-xfs-barriers-broke.patch
+block-blk_max_pfn-is-somtimes-wrong.patch

 git-block fixes

+git-unionfs-fixup.patch

 Fix rejects in git-unionfs.

+ecryptfs-convert-lookup_one_len-to-lookup_one_len_nd.patch

 Fix ecryptfs for unionfs changes

+gregkh-usb-ehci-turn-off-remote-wakeup-during-shutdown.patch
+gregkh-usb-berry_charge.patch
+gregkh-usb-usb-in-init_endpoint_class-use-ptr_err-to-obtain-an-errno-value-not-is_err.patch
+gregkh-usb-usb-fix-needless-failure-under-certain-conditions.patch
+gregkh-usb-usb-pl2303-willcom-ws002in-support.patch
+gregkh-usb-usb-teac-hd-35pu-patch-to-unusual_devsh.patch
+gregkh-usb-usb-unusual_devs-update-for-sony-p990i-phone.patch
+gregkh-usb-usb-add-flow-control-to-usb-serial-generic-driver.patch
+gregkh-usb-usb-fix-apparent-typo-config_usb_cdcether.patch
+gregkh-usb-usbcore-small-changes-to-hub-driver-s-suspend-method.patch
+gregkh-usb-ehci-add-debugging-message-to-ehci_bus_suspend.patch
+gregkh-usb-usb-descriptor-structures-have-to-be-packed.patch
+gregkh-usb-usb-fix-error-cleanup-path-in-airprime.patch
+gregkh-usb-usb-fix-concurrent-buffer-access-in-the-hub-driver.patch
+gregkh-usb-usb-asix-fix-endian-issues-in-asix_tx_fixup.patch
+gregkh-usb-usb-fix-autosuspend-race-in-skeleton-driver.patch
+gregkh-usb-usb-storage-indistinguishable-devices-with-broken-and-unbroken-firmware.patch
+gregkh-usb-usb-usb_rtl8150-must-select-mii.patch
+gregkh-usb-usb-input-hid-add-cidc-usb-device-to-hid-blacklist.patch
+gregkh-usb-usb-fix-misspelled-usbnet_mii-kernel-config-option.patch
+gregkh-usb-usb-storage-us_fl_ignore_residue-needed-for-aiptek-mp3-player.patch
+gregkh-usb-usb-use-__u32-rather-than-u32-in-userspace-ioctls-in-usbdevice_fsh.patch
+gregkh-usb-usb-fix-g_serial-small-error.patch
+gregkh-usb-usb-make-usb_iso_packet_descriptorstatus-signed.patch
+gregkh-usb-usb-unconfigure-devices-which-have-config-0.patch
+gregkh-usb-usb-cdc-acm-fix-incorrect-throtteling-make-set_control-optional.patch
+gregkh-usb-usb-quirky-device-for-cdc-acm.patch
+gregkh-usb-usb-kernel-doc-fixes.patch
+gregkh-usb-usb-hid-corec-removes-gtco-calcomp-interwrite-ipanel-pids-from-blacklist.patch
+gregkh-usb-usb-ps3-don-t-call-ps3_system_bus_driver_register-on-other-platforms.patch
+gregkh-usb-usb-change-__init-to-__devinit-for-isp116x_probe.patch
+gregkh-usb-usb-iowarrior.patch
+gregkh-usb-usb_match_device.patch
+gregkh-usb-usb-blacklist.patch

 USB tree updates

+ueagle-atmc-needs-schedh.patch

 USB fix

+before-x86_64-mm-mmconfig-share.patch

 Remove an acpi patch to make the x86_64 tree apply

+x86_64-mm-convert-i386-pda-code-to-use-%fs.patch
+x86_64-mm-mmconfig-share.patch
+x86_64-mm-only-call-unreachable_devices-when-type-1-is-available.patch
+x86_64-mm-detect-and-support-the-e7520-and-the-945g-gz-p-pl.patch
+x86_64-mm-reserve-resources-but-only-when-were-sure-about-them.patch
+x86_64-mm-mmconfig-ioremap.patch
+x86_64-mm-mmconfig-reject-broken-table.patch
+x86_64-mm-mmconfig-cleanup-defines.patch
+x86_64-mm-mmconfig-more-cleanup.patch
+x86_64-mm-mmconfig-unreachable-devices.patch
+x86_64-mm-mmconfig-move-e820-check.patch
+x86_64-mm-profile-pc-badness.patch
+x86_64-mm-kprobe-rpl-fix.patch
+x86_64-mm-vmi-timer-race.patch
+x86_64-mm-paravirt-debug-defaults-off.patch
+x86_64-mm-unexport-supported-pte.patch
+x86_64-mm-fs-gs-clear.patch
+x86_64-mm-iommu-boundary.patch
+x86_64-mm-remove-rom-reservation.patch
+x86_64-mm-define-dma-noncoherent-api-functions.patch
+x86_64-mm-robustify-bad_dma_address-handling.patch
+x86_64-mm-all-transmeta-cpus-have-constant-tscs.patch
+x86_64-mm-avoid-gcc-extension.patch
+x86_64-mm-support-classic-mediagxm.patch
+x86_64-mm-entrys-end-endproc-annotations.patch
+x86_64-mm-clean-up-sparsemem-memory_present-call.patch
+x86_64-mm-remove-unused-kernel-config-option-x86_xadd.patch
+x86_64-mm-update-io-apic-dest-field-to-8-bit-for-xapic.patch
+x86_64-mm-avoid-warning-message-livelock.patch
+x86_64-mm-minor-patch-for-compilation-warning-in-x86_64-signal-code.patch
+x86_64-mm-add-option-to-show-more-code-in-oops-reports.patch
+x86_64-mm-geode-configuration-fixes.patch
+x86_64-mm-survive-having-no-irq-mapping-for-a-vector.patch
+x86_64-mm-fix-gcc-check.patch
+x86_64-mm-paravirt-remove-fastcall.patch
+x86_64-mm-fam10-cpuid.patch
+x86_64-mm-fam10-nmi-watchdog.patch
+x86_64-mm-fix-microcode-warning.patch
+x86_64-mm-i386-fix-transmeta-warning.patch
+x86_64-mm-fails-to-detect-mediagx.patch
+x86_64-mm-aout-no-vdso.patch
+x86_64-mm-compat-epoll-pwait.patch
+x86_64-mm-paravirt-unhandled-fallthrough.patch
+x86_64-mm-move-mce_disabled-to-asm-mceh.patch
+x86_64-mm-rename-cpu_gdt_descr-and-remove-extern-declaration-from-smpbootc.patch
+x86_64-mm-remove-extern-declaration-from-mm-discontigc-put-in-header.patch
+x86_64-mm-pcspeaker-cleanup.patch
+x86_64-mm-mtrr-compat.patch
+x86_64-mm-broken-config_compat_vdso-on-i386.patch
+x86_64-mm-remove-mk-pte-phys.patch
+fix-mtrr-compat-ioctl.patch
+i386-pit_latch_buggy-has-no-effect.patch
+add-an-option-for-the-via-c7-which-sets-appropriate-l1.patch
+i386-adjustments-to-page-table-dump-during-oops-v3.patch
+x86-mtrr-range-check-correction.patch
+x86-consolidate-smp_send_stop.patch
+cleanup-initialize-esp0-properly-all-the-time.patch
+cleanup-make-hvc_consolec-compile-on-non-powerpc.patch
+lguest-preparation-export_symbol_gpl-5-functions.patch
+lguest-preparation-expose-futex-infrastructure.patch
+lguest-kconfig-and-headers.patch
+lguest-the-host-code-lgko.patch
+lguest-guest-code.patch
+lguest-makefile.patch
+lguest-trivial-guest-network-driver.patch
+lguest-trivial-guest-network-driver-fix.patch
+lguest-trivial-guest-console-driver.patch
+lguest-trivial-guest-block-driver.patch
+lguest-documentatation-and-example-launcher.patch

 x86_64 tree updates

+after-before-x86_64-mm-mmconfig-share.patch
+rdmsr_on_cpu-wrmsr_on_cpu.patch
+x86_64-irq-simplfy-__assign_irq_vector.patch
+x86_64-irq-handle-irqs-pending-in-irr-during-irq-migration.patch
+i386-modpost-apic-related-warning-fixes.patch

 x86 updates

-spin_lock_irq-enable-interrupts-while-spinning-i386-implementation-fix.patch
-spin_lock_irq-enable-interrupts-while-spinning-i386-implementation-fix-fix.patch

 Folded into spin_lock_irq-enable-interrupts-while-spinning-i386-implementation.patch

+vm-invalidate_inode_pages2_range-should-not-exit-early.patch
+use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
+use-zvc-counters-to-establish-exact-size-of-dirtyable-pages-fix.patch
+make-try_to_unmap-return-a-special-exit-code.patch
+add-pagemlocked-page-state-bit-and-lru-infrastructure.patch
+add-nr_mlock-zvc.patch
+logic-to-move-mlocked-pages.patch
+consolidate-new-anonymous-page-code-paths.patch
+avoid-putting-new-mlocked-anonymous-pages-on-lru.patch
+opportunistically-move-mlocked-pages-off-the-lru.patch

 MM updates

+smaps-extract-pmd-walker-from-smaps-code.patch
+smaps-add-pages-referenced-count-to-smaps.patch
+smaps-add-clear_refs-file-to-clear-reference.patch
+smaps-add-clear_refs-file-to-clear-reference-fix.patch
+smaps-add-clear_refs-file-to-clear-reference-fix-fix.patch
+smaps-add-clear_refs-file-to-clear-reference-docs.patch

 Instrumentation for monitoring application's mapped memory usage.

+blackfin-Documentation.patch
+blackfin-arch.patch
+driver_bfin_serial_core.patch

 blackfin arch

+fix-rmmod-read-write-races-in-proc-entries-fix.patch

 Fix this patch again

-replace-highest_possible_node_id-with-nr_node_ids-fix.patch

 Folded into replace-highest_possible_node_id-with-nr_node_ids.patch

+convert-highest_possible_processor_id-to-nr_cpu_ids-fix.patch
+slab-reduce-size-of-alien-cache-to-cover-only-possible-nodes.patch
+filesystem-disk-errors-at-boot-time-caused-by-probe.patch
+allow-access-to-proc-pid-fd-after-setuid.patch
+allow-access-to-proc-pid-fd-after-setuid-fix.patch
+allow-access-to-proc-pid-fd-after-setuid-update.patch
+allow-access-to-proc-pid-fd-after-setuid-update-2.patch
+shm-make-sysv-ipc-shared-memory-use-stacked-files.patch
+fs-fix-__block_write_full_page-error-case-buffer-submission.patch
+ext2-3-4-fix-file-date-underflow-on-ext2-3-filesystems-on-64-bit-systems.patch
+kprobes-list-all-active-probes-in-the-system.patch
+kprobes-list-all-active-probes-in-the-system-fix.patch
+reduce-size-of-task_struct-on-64-bit-machines.patch
+reduce-size-of-task_struct-on-64-bit-machines-fix.patch
+fix-quadratic-behavior-of-shrink_dcache_parent.patch
+mm-shrink-parent-dentries-when-shrinking-slab.patch
+fat-dio-write-fallback-to-normal-buffered.patch
+kconfig-fault_injection-can-be-selected-only-if-lockdep-is-enabled.patch
+pktcdvd-correctly-set-cmd_len-field-in-pkt_generic_packet.patch
+mwave-interesting-flags-savings.patch
+ext-update-documentation.patch
+add-epoll-compat-code-to-kernel-compatc.patch
+add-epoll-compat-code-to-kernel-compatc-tidy.patch
+cfag12864b-fix-crash-when-built-in-and-no-parport.patch
+lockdep-debug_locks-check-after-check_chain_key.patch
+mfd-sm501-core-driver-3.patch
+kernel-doc-include-struct-short-description-in-title.patch
+tty-use-null-for-ptrs.patch
+cdrom-use-unsigned-bitfields.patch
+8250-fix-gcc4-signed-unsigned-mismatch-warning.patch
+update-osdl-linux-foundation-maintainer-addresses.patch
+ppc64-kdump-documentation-update-for-2620.patch
+loosen-dependancy-on-rtc-cmos.patch
+ipmi-add-powerpc-openfirmware-sensing.patch
+ipmi-allow-shared-interrupts.patch
+ipmi-add-new-ipmi-nmi-watchdog-handling.patch
+fs-fix-libfs-data-leak.patch
+fs-fix-nobh-data-leak.patch
+autofs4-header-file-update.patch
+autofs4-fix-another-race-between-mount-and-expire.patch
+autofs4-check-for-directory-re-create-in-lookup.patch
+affs-implement-drop_inode.patch
+genalloc-warning-fixes.patch

 Misc

+factor-outstanding-i-o-error-handling.patch
+factor-outstanding-i-o-error-handling-tidy.patch
+sync_sb_inodes-propagate-errors.patch

 Try to fix IO error handling, not very successfuly.

-tick-management-dyntick--highres-functionality-fix.patch
-tick-management-dyntick--highres-functionality-fix-2.patch

 Folded into other patches

+add-debugging-feature-proc-timer_stat-cleanup.patch

 Tidy add-debugging-feature-proc-timer_stat.patch

+posix-timers-rcu-optimization-for-clock_gettime.patch
+posix-timers-rcu-optimization-for-clock_gettime-fix.patch

 posix-timers speedup

+genirq-do-not-mask-interrupts-by-default.patch
+genirq-remove-irq_disabled.patch
+irq-kernel-doc-fixes.patch
+small-irq-management-simplification.patch

 IRQ management updates

+call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed-vs-reduce-size-of-task_struct-on-64-bit-machines.patch

 Fix call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed.patch

-workqueue-rework-threads-hotplug-management.patch

 Dropped

+workqueue-dont-migrate-pending-works-from-the-dead-cpu.patch
+workqueue-kill-run_scheduled_work.patch
+workqueue-dont-save-interrupts-in-run_workqueue.patch
+workqueue-dont-save-interrupts-in-run_workqueue-update-2.patch
+workqueue-make-cancel_rearming_delayed_workqueue-work-on-idle-dwork.patch
+workqueue-introduce-cpu_singlethread_map.patch
+workqueue-introduce-workqueue_struct-singlethread.patch
+workqueue-make-init_workqueues-__init.patch
+make-queue_delayed_work-friendly-to-flush_fork.patch
+unify-queue_delayed_work-and-queue_delayed_work_on.patch
+make-cancel_rearming_delayed_work-work-on-any-workqueue-not-just-keventd_wq.patch
+ipvs-flush-defense_work-before-module-unload.patch
+slab-shutdown-cache_reaper-when-cpu-goes-down.patch
+unify-flush_work-flush_work_keventd-and-rename-it-to-cancel_work_sync.patch

 More workqueue changes

+per-backing_dev-dirty-and-writeback-page-accounting-fix.patch

 Fix per-backing_dev-dirty-and-writeback-page-accounting.patch

+knfsd-nfsd4-fix-non-terminated-string.patch
+knfsd-nfsd4-relax-checking-of-acl-inheritance-bits.patch
+knfsd-nfsd4-simplify-nfsv4-posix-translation.patch
+knfsd-nfsd4-represent-nfsv4-acl-with-array-instead-of-linked-list.patch
+knfsd-nfsd4-fix-memory-leak-on-kmalloc-failure-in-savemem.patch
+knfsd-nfsd4-fix-error-return-on-unsupported-acl.patch
+knfsd-nfsd4-acls-dont-return-explicit-mask.patch
+knfsd-nfsd4-acls-avoid-unnecessary-denies.patch
+knfsd-nfsd4-fix-handling-of-directories-without-default-acls.patch
+knfsd-stop-nfsd-writes-from-being-broken-into-lots-of-little-writes-to-filesystem.patch

 nfsd updates

+ecryptfs-reduce-stack-usage-in-ecryptfs_generate_key_packet_set.patch
+ecryptfs-fix-forgotten-format-specifier.patch

 ecryptfs fixes

+rework-compat_sys_io_submit.patch
+fix-aioh-includes.patch
+fix-access_ok-checks.patch
+make-good_sigevent-non-static.patch
+make-good_sigevent-non-static-fix.patch
+make-__sigqueue_free-and.patch
+aio-completion-signal-notification.patch
+aio-completion-signal-notification-fix.patch
+aio-completion-signal-notification-fixes-and-cleanups.patch
+aio-completion-signal-notification-small-cleanup.patch
+add-listio-syscall-support.patch

 AIO listio support

+sysctl-remove-insert_at_head-from-register_sysctl-fix.patch

 fix -mm-only sched patches

-introduce-and-use-get_task_mnt_ns.patch
-introduce-and-use-get_task_mnt_ns-tweaks.patch
-nsproxy-externalizes-exit_task_namespaces.patch
-nsproxy-externalizes-exit_task_namespaces-fix.patch
-user-namespace-add-the-framework.patch
-user-namespace-add-the-framework-fix.patch
-user-namespace-add-the-framework-fixes.patch
-user-ns-add-user_namespace-ptr-to-vfsmount.patch
-user-ns-add-user_namespace-ptr-to-vfsmount-fixes.patch
-user-ns-hook-permission.patch
-user-ns-prepare-copy_tree-copy_mnt-and-their-callers-to-handle-errs.patch
-user-ns-prepare-copy_tree-copy_mnt-and-their-callers-to-handle-errs-fix.patch
-user-ns-implement-shared-mounts.patch
-user-ns-implement-shared-mounts-fixes.patch
-user_ns-handle-file-sigio.patch
-user_ns-handle-file-sigio-fix.patch
-user_ns-handle-file-sigio-fix-2.patch
-user-ns-implement-user-ns-unshare.patch
-user-ns-implement-user-ns-unshare-tidy.patch

 Dropped

+rcutorture-use-array_size-macro-when-appropriate.patch
+rcutorture-style-cleanup-avoid-=-null-in-boolean-tests.patch
+rcutorture-remove-redundant-assignment-to-cur_ops-in.patch

 RCU updates

-rcu-preemptible-rcu-fix.patch

 Folded into rcu-preemptible-rcu.patch

-rcu-debug-trace-for-rcu-fix.patch
-rcu-debug-trace-for-rcu-fix-2.patch
-rcu-trivial-fixes.patch

 Folded into rcu-debug-trace-for-rcu.patch

+revert-x86_64-mm-putreg-check.patch

 Prepare for utrace

+utrace-utrace-tracehook.patch
+utrace-utrace-tracehook-ia64.patch
+utrace-utrace-tracehook-sparc64.patch
+utrace-utrace-tracehook-s390.patch
+utrace-utrace-regset.patch
+utrace-utrace-regset-ia64.patch
+utrace-utrace-regset-sparc64.patch
+utrace-utrace-regset-s390.patch
+utrace-utrace-core.patch
+utrace-utrace-ptrace-compat.patch
+utrace-utrace-ptrace-compat-ia64.patch
+utrace-utrace-ptrace-compat-sparc64.patch
+utrace-utrace-ptrace-compat-s390.patch

 utrace tree

+utrace-vs-reduce-size-of-task_struct-on-64-bit-machines.patch

 Fix it.

+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-alpha.patch
+atomich-complete-atomic_long-operations-in-asm-generic.patch
+atomich-i386-type-safety-fix.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-ia64.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-mips.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-parisc.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-sparc64.patch
+atomich-add-atomic64_xchg-to-s390.patch
+atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-x86_64.patch
+atomich-atomic_add_unless-as-inline-remove-systemh-atomich-circular-dependency.patch
+local_t-architecture-independant-extension.patch
+local_t-alpha-extension.patch
+local_t-i386-extension.patch
+local_t-ia64-extension.patch
+local_t-mips-extension.patch
+local_t-parisc-cleanup.patch
+local_t-powerpc-extension.patch
+local_t-powerpc-extension-fix.patch
+local_t-s390-cleanup.patch
+local_t-sparc64-cleanup.patch
+local_t-x86_64-extension.patch

 atomic_t and local_t work

+linux-kernel-markers-kconfig-menus.patch
+linux-kernel-markers-architecture-independant-code.patch
+linux-kernel-markers-powerpc-optimization.patch
+linux-kernel-markers-i386-optimization.patch
+linux-kernel-markers-non-optimized-architectures.patch

 Linux Kenrel Markers

+readahead-partial-sendfile-fix.patch

 Fix readahead patches in -mm.

+reiser4-vs-git-block3.patch

 Fix reiser4 for git-block

+drivers-mdc-use-array_size-macro-when-appropriate.patch

 MD cleanup

+ia64-enable-config_debug_spinlock_sleep.patch
+keep-track-of-network-interface-renaming.patch

 debug things

+git-gccbug-fixup.patch

 Fix rejects in git-gccbug.patch



All 887 patches:

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



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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
@ 2007-02-15 14:28 ` James Morris
  2007-02-15 14:37   ` James Morris
  2007-02-15 21:51   ` Andrew Morton
  2007-02-15 14:37 ` 2.6.20-mm1 Michal Piotrowski
                   ` (24 subsequent siblings)
  25 siblings, 2 replies; 81+ messages in thread
From: James Morris @ 2007-02-15 14:28 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hit a BUG() via lvm:


Scanning logical volumes
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2
Activating logical volumes
[   75.215078] ------------[ cut here ]------------
[   75.230165] kernel BUG at mm/swap.c:442!
[   75.244589] invalid opcode: 0000 [#1]
[   75.258693] PREEMPT SMP 
[   75.271894] last sysfs file: /block/ram0/dev
[   75.286734] Modules linked in:
[   75.300193] CPU:    0
[   75.300195] EIP:    0060:[<c0150303>]    Not tainted VLI
[   75.300197] EFLAGS: 00210006   (2.6.20-mm1 #1)
[   75.341750] EIP is at __pagevec_lru_add_active+0x76/0xcc
[   75.356722] eax: 80100060   ebx: c1bf9c48   ecx: c1e345bc   edx: 00000001
[   75.373139] esi: c03dc680   edi: c1c4e780   ebp: f7ce3f34   esp: f7ce3f24
[   75.389642] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
[   75.405199] Process lvm (pid: 415, ti=f7ce2000 task=c1e34070 task.ti=f7ce2000)
[   75.421908] Stack: 00000000 00000000 c1e25548 f7d58ea0 f7ce3f40 c01504fc c1e25548 f7ce3f70 
[   75.451375]        c0157b22 c0579820 f7ce5478 00000000 f7d58420 f7d58f00 00000000 00000000 
[   75.481458]        c1e25548 f7d58420 f7d58420 f7ce3fa0 c0158539 b7fa1000 b7fa2000 b7fa1000 
[   75.512233] Call Trace:
[   75.536111]  [<c01039ca>] show_trace_log_lvl+0x1a/0x2f
[   75.552228]  [<c0103a7a>] show_stack_log_lvl+0x9b/0xaa
[   75.568329]  [<c0103c6f>] show_registers+0x1e6/0x325
[   75.584336]  [<c0103ed4>] die+0x126/0x225
[   75.599300]  [<c010404c>] do_trap+0x79/0x91
[   75.614358]  [<c0104951>] do_invalid_op+0x97/0xa1
[   75.629892]  [<c02f8a4c>] error_code+0x7c/0x84
[   75.645097]  [<c01504fc>] lru_add_drain+0x41/0x8d
[   75.660599]  [<c0157b22>] unmap_region+0x2a/0x129
[   75.676116]  [<c0158539>] do_munmap+0x153/0x1b4
[   75.691497]  [<c01585bf>] sys_munmap+0x25/0x34
[   75.706737]  [<c01029c0>] syscall_call+0x7/0xb
[   75.721913]  =======================
[   75.736054] Code: 54 80 1a 00 8b 03 a8 20 74 04 0f 0b eb fe f0 0f ba 2b 05 8b 03 a8 40 74 04 0f 0b eb fe f0 0f ba 2b 06 8b 03 a9 00 00 10 00 74 04 <0f> 0b eb fe 8d 96 a0 05 00 00 8d 43 30 e8 24 eb 08 00 ba 02 00 
[   75.799343] EIP: [<c0150303>] __pagevec_lru_add_active+0x76/0xcc SS:ESP 0068:f7ce3f24
[   75.831928] note: lvm[415] exited with preempt_count 2
[   75.849402] BUG: sleeping function called from invalid context at kernel/rwsem.c:20
[   75.881617] in_atomic():1, irqs_disabled():1
[   75.898063] 2 locks held by lvm/415:
[   75.913388]  #0:  (&mm->mmap_sem){----}, at: [<c01585b2>] sys_munmap+0x18/0x34
[   75.944378]  #1:  (&zone->lru_lock){....}, at: [<c01502dc>] __pagevec_lru_add_active+0x4f/0xcc
[   75.976490] irq event stamp: 69326
[   75.990962] hardirqs last  enabled at (69325): [<c0102b09>] syscall_exit_work+0x11/0x30
[   76.022168] hardirqs last disabled at (69326): [<c02f8348>] _spin_lock_irq+0x18/0x51
[   76.054169] softirqs last  enabled at (57904): [<c011ff6f>] __do_softirq+0xfa/0x100
[   76.087195] softirqs last disabled at (57889): [<c011ffbf>] do_softirq+0x4a/0x7a
[   76.121170]  [<c01039ca>] show_trace_log_lvl+0x1a/0x2f
[   76.139835]  [<c01040a5>] show_trace+0x12/0x14
[   76.157721]  [<c0104157>] dump_stack+0x16/0x18
[   76.175743]  [<c01155f7>] __might_sleep+0xe5/0xeb
[   76.194139]  [<c012e9e6>] down_read+0x18/0x4c
[   76.212190]  [<c011d1e0>] exit_mm+0x27/0xd1
[   76.230203]  [<c011e4a8>] do_exit+0x1e1/0x6f6
[   76.247845]  [<c0103fad>] die+0x1ff/0x225
[   76.264934]  [<c010404c>] do_trap+0x79/0x91
[   76.281212]  [<c0104951>] do_invalid_op+0x97/0xa1
[   76.297820]  [<c02f8a4c>] error_code+0x7c/0x84
[   76.313929]  [<c01504fc>] lru_add_drain+0x41/0x8d
[   76.330202]  [<c0157b22>] unmap_region+0x2a/0x129
[   76.346230]  [<c0158539>] do_munmap+0x153/0x1b4
[   76.361722]  [<c01585bf>] sys_munmap+0x25/0x34
[   76.377115]  [<c01029c0>] syscall_call+0x7/0xb
[   76.392529]  =======================
[   76.406713] BUG: scheduling while atomic: lvm/0x00000002/415
[   76.422805] 2 locks held by lvm/415:
[   76.436571]  #0:  (&mm->mmap_sem){----}, at: [<c01585b2>] sys_munmap+0x18/0x34
[   76.465007]  #1:  (&zone->lru_lock){....}, at: [<c01502dc>] __pagevec_lru_add_active+0x4f/0xcc
[   76.494996]  [<c01039ca>] show_trace_log_lvl+0x1a/0x2f
[   76.510283]  [<c01040a5>] show_trace+0x12/0x14
[   76.524538]  [<c0104157>] dump_stack+0x16/0x18
[   76.538603]  [<c02f5346>] __sched_text_start+0x76/0x98c
[   76.553174]  [<c01d029f>] rwsem_down_failed_common+0x16e/0x18d
[   76.568176]  [<c02f7cef>] rwsem_down_read_failed+0x1d/0x26
[   76.582508]  [<c02f7d73>] call_rwsem_down_read_failed+0x7/0xc
[   76.597197]  [<c011d1e0>] exit_mm+0x27/0xd1
[   76.610369]  [<c011e4a8>] do_exit+0x1e1/0x6f6
[   76.623618]  [<c0103fad>] die+0x1ff/0x225
[   76.636419]  [<c010404c>] do_trap+0x79/0x91
[   76.649413]  [<c0104951>] do_invalid_op+0x97/0xa1
[   76.662859]  [<c02f8a4c>] error_code+0x7c/0x84
[   76.676016]  [<c01504fc>] lru_add_drain+0x41/0x8d
[   76.689487]  [<c0157b22>] unmap_region+0x2a/0x129
[   76.702979]  [<c0158539>] do_munmap+0x153/0x1b4
[   76.716310]  [<c01585bf>] sys_munmap+0x25/0x34
[   76.729566]  [<c01029c0>] syscall_call+0x7/0xb
[   76.742688]  =======================

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
@ 2007-02-15 14:37   ` James Morris
  2007-02-15 21:51   ` Andrew Morton
  1 sibling, 0 replies; 81+ messages in thread
From: James Morris @ 2007-02-15 14:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, 15 Feb 2007, James Morris wrote:

> Hit a BUG() via lvm:

Also, I just disabled paravirt ops and saw the same bug, so it's not that 
stuff.


-- 
James Morris
<jmorris@namei.org>

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
  2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
@ 2007-02-15 14:37 ` Michal Piotrowski
  2007-02-15 22:02   ` 2.6.20-mm1 Andrew Morton
  2007-02-15 15:01 ` [-mm patch] MARKERS should depend on, not select MODULES Adrian Bunk
                   ` (23 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Michal Piotrowski @ 2007-02-15 14:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Andrew Morton napisał(a):
> Temporarily at
> 
>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> 
> Will appear later at
> 
>  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> 
> 

BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
in_atomic():1, irqs_disabled():0
1 lock held by artsd/3819:
 #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c011db4a>] __might_sleep+0xc9/0xcf
 [<c017c37a>] kmem_cache_zalloc+0x28/0xe5
 [<c01d8c7d>] do_shmat+0x111/0x372
 [<c0109151>] sys_ipc+0x148/0x1b5
 [<c010432c>] syscall_call+0x7/0xb
 =======================

0xc01d5b7c is in ipc_lock (/mnt/md0/devel/linux-mm/ipc/util.c:684).
679             spin_lock(&out->lock);
680
681             /* ipc_rmid() may have already freed the ID while ipc_lock
682              * was spinning: here verify that the structure is still valid
683              */
684             if (out->deleted) {
685                     spin_unlock(&out->lock);
686                     rcu_read_unlock();
687                     return NULL;
688             }


http://www.stardust.webpages.pl/files/tbf/euridica/2.6.20-mm1/mm-dmesg
http://www.stardust.webpages.pl/files/tbf/euridica/2.6.20-mm1/mm-config

[michal@euridica linux-work3]$ quilt patches mm/slab.c
patches/origin.patch
patches/slab-reduce-size-of-alien-cache-to-cover-only-possible-nodes.patch
patches/slab-use-cpu_lock_.patch
patches/slab-shutdown-cache_reaper-when-cpu-goes-down.patch
[michal@euridica linux-work3]$ quilt patches ipc/util.c
patches/origin.patch

Regards,
Michal

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

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

* [-mm patch] MARKERS should depend on, not select MODULES
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
  2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
  2007-02-15 14:37 ` 2.6.20-mm1 Michal Piotrowski
@ 2007-02-15 15:01 ` Adrian Bunk
  2007-02-15 19:27   ` Mathieu Desnoyers
  2007-02-15 16:01 ` sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1) Tilman Schmidt
                   ` (22 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-15 15:01 UTC (permalink / raw)
  To: Andrew Morton, Mathieu Desnoyers; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +linux-kernel-markers-kconfig-menus.patch
>...
>  Linux Kenrel Markers
>...

Never ever select MODULES.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

BTW: Can we get in-kernel users?

--- linux-2.6.20-mm1/kernel/Kconfig.marker.old	2007-02-15 15:54:10.000000000 +0100
+++ linux-2.6.20-mm1/kernel/Kconfig.marker	2007-02-15 15:54:27.000000000 +0100
@@ -2,8 +2,7 @@
 
 config MARKERS
 	bool "Activate markers"
-	select MODULES
-	default n
+	depends on MODULES
 	help
 	  Place an empty function call at each marker site. Can be
 	  dynamically changed for a probe function.


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

* sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2007-02-15 15:01 ` [-mm patch] MARKERS should depend on, not select MODULES Adrian Bunk
@ 2007-02-15 16:01 ` Tilman Schmidt
  2007-02-15 22:41   ` Andrew Morton
  2007-02-15 16:27 ` 2.6.20-mm1 Artem Bityutskiy
                   ` (21 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Tilman Schmidt @ 2007-02-15 16:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

Trying to build 2.6.20-mm1 on i386 with C=1, sparse 0.2 chokes
on arch/i386/kernel/i8253.c:

  CHECK   arch/i386/kernel/i8253.c
linux/marker.h: No such file or directory
include/linux/jiffies.h:18:5: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:20:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:22:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:24:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:26:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:28:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:30:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
include/linux/jiffies.h:33:3: error: You lose.
include/linux/jiffies.h:225:5: error: bad constant expression
include/asm/module.h:64:2: error: unknown processor family
include/asm/processor.h:82:30: error: undefined identifier 'CONFIG_X86_L1_CACHE_SHIFT'
include/asm/processor.h:82:30: error: bad constant expression type
arch/i386/kernel/i8253.c:120:16: error: Expected ; at end of declaration
arch/i386/kernel/i8253.c:120:16: error: got pit_read
arch/i386/kernel/i8253.c:128:2: error: Trying to use reserved word 'do' as identifier
arch/i386/kernel/i8253.c:128:2: error: Expected ; at end of declaration
arch/i386/kernel/i8253.c:128:2: error: got {
[loads of similar messages omitted ...]
arch/i386/kernel/i8253.c:195:2: error: undefined identifier 'clocksource_pit'
arch/i386/kernel/i8253.c:196:9: error: undefined identifier 'clocksource_register'
arch/i386/kernel/i8253.c:41:7: error: Expected constant expression in case statement
arch/i386/kernel/i8253.c:50:7: error: Expected constant expression in case statement
arch/i386/kernel/i8253.c:51:7: error: Expected constant expression in case statement
arch/i386/kernel/i8253.c:52:7: error: Expected constant expression in case statement
/bin/sh: line 1: 18990 Speicherzugriffsfehler  /home/ts/kernel/sparse-0.2/sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise -D__i386__ -nostd
inc -isystem /usr/lib/gcc/i586-suse-linux/4.0.2/include -Wp,-MD,arch/i386/kernel/.i8253.o.d -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.0.2/include -D_
_KERNEL__ -Iinclude -include include/linux/autoconf.h -include linux/marker.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-comm
on -Os -pipe -msoft-float -mregparm=3 -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -I
include/asm-i386/mach-default -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"
KBUILD_BASENAME=KBUILD_STR(i8253)" -D"KBUILD_MODNAME=KBUILD_STR(i8253)" arch/i386/kernel/i8253.c
make[1]: *** [arch/i386/kernel/i8253.o] Fehler 139
make: *** [arch/i386/kernel] Fehler 2

gcc compiles it without a single complaint, though.

HTH

-- 
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: 250 bytes --]

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2007-02-15 16:01 ` sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1) Tilman Schmidt
@ 2007-02-15 16:27 ` Artem Bityutskiy
  2007-02-15 17:33 ` 2.6.20-mm1 Valdis.Kletnieks
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Artem Bityutskiy @ 2007-02-15 16:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Andrew Morton wrote:
> - The UBI tree got dropped due to probable lack of a git sync with
>   mainline (ie: it's a 13.5MB diff whcih doesn't apply very well)

Andrew, I apologize for this. Now it is fixed. It somehow got screwed 
when I re-based it from mtd-2.6.git to linu-2.6.git. Please, do not drop it.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (4 preceding siblings ...)
  2007-02-15 16:27 ` 2.6.20-mm1 Artem Bityutskiy
@ 2007-02-15 17:33 ` Valdis.Kletnieks
  2007-02-15 18:00   ` 2.6.20-mm1 Marcin Juszkiewicz
  2007-02-15 19:29 ` 2.6.20-mm1 Mattia Dongili
                   ` (19 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Valdis.Kletnieks @ 2007-02-15 17:33 UTC (permalink / raw)
  To: Andrew Morton, Marcin Juszkiewicz; +Cc: linux-kernel, Richard Purdie

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

On Thu, 15 Feb 2007 05:14:08 PST, Andrew Morton said:
> 
> Temporarily at
> 
>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> 
> Will appear later at
> 
>  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/

git-backlight.patch contains this:

+config BACKLIGHT_PROGEAR
+       tristate "Frontpath ProGear Backlight Driver"
+       depends on BACKLIGHT_CLASS_DEVICE && PCI && X86
+       default y
+       help
+         If you have a Frontpath ProGear say Y to enable the
+         backlight driver.

Should that be a default N or M, given that relatively few people have that
device?

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

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

* Re: 2.6.20-mm1
  2007-02-15 17:33 ` 2.6.20-mm1 Valdis.Kletnieks
@ 2007-02-15 18:00   ` Marcin Juszkiewicz
  2007-02-15 18:27     ` 2.6.20-mm1 Richard Purdie
  0 siblings, 1 reply; 81+ messages in thread
From: Marcin Juszkiewicz @ 2007-02-15 18:00 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: Andrew Morton, linux-kernel, Richard Purdie

Dnia czwartek, 15 lutego 2007, Valdis.Kletnieks@vt.edu napisał:
> On Thu, 15 Feb 2007 05:14:08 PST, Andrew Morton said:

> git-backlight.patch contains this:
>
> +config BACKLIGHT_PROGEAR
> +       tristate "Frontpath ProGear Backlight Driver"
> +       depends on BACKLIGHT_CLASS_DEVICE && PCI && X86
> +       default y
> +       help
> +         If you have a Frontpath ProGear say Y to enable the
> +         backlight driver.
>
> Should that be a default N or M, given that relatively few people have
> that device?

"default n" as this is rather rare used today device. Should I send 
a patch or can it be changed without it?

-- 
JID: hrw-jabber.org
OpenEmbedded developer/consultant

         Great minds discuss ideas; average minds discuss events;
         small minds discuss people.



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

* Re: 2.6.20-mm1
  2007-02-15 18:00   ` 2.6.20-mm1 Marcin Juszkiewicz
@ 2007-02-15 18:27     ` Richard Purdie
  0 siblings, 0 replies; 81+ messages in thread
From: Richard Purdie @ 2007-02-15 18:27 UTC (permalink / raw)
  To: Marcin Juszkiewicz; +Cc: Valdis.Kletnieks, Andrew Morton, linux-kernel

On Thu, 2007-02-15 at 19:00 +0100, Marcin Juszkiewicz wrote:
> Dnia czwartek, 15 lutego 2007, Valdis.Kletnieks@vt.edu napisał:
> > On Thu, 15 Feb 2007 05:14:08 PST, Andrew Morton said:
> 
> > git-backlight.patch contains this:
> >
> > +config BACKLIGHT_PROGEAR
> > +       tristate "Frontpath ProGear Backlight Driver"
> > +       depends on BACKLIGHT_CLASS_DEVICE && PCI && X86
> > +       default y
> > +       help
> > +         If you have a Frontpath ProGear say Y to enable the
> > +         backlight driver.
> >
> > Should that be a default N or M, given that relatively few people have
> > that device?
> 
> "default n" as this is rather rare used today device. Should I send 
> a patch or can it be changed without it?

Its probably easiest if I just fix that.

Cheers,

Richard


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

* Re: [-mm patch] MARKERS should depend on, not select MODULES
  2007-02-15 15:01 ` [-mm patch] MARKERS should depend on, not select MODULES Adrian Bunk
@ 2007-02-15 19:27   ` Mathieu Desnoyers
  0 siblings, 0 replies; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-15 19:27 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

* Adrian Bunk (bunk@stusta.de) wrote:
> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
> >...
> > Changes since 2.6.20-rc6-mm3:
> >...
> > +linux-kernel-markers-kconfig-menus.patch
> >...
> >  Linux Kenrel Markers
> >...
> 
> Never ever select MODULES.
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
> 
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

> ---
> 
> BTW: Can we get in-kernel users?
> 

It could apply to any subsystems that needs hooks. (selinux?)


> --- linux-2.6.20-mm1/kernel/Kconfig.marker.old	2007-02-15 15:54:10.000000000 +0100
> +++ linux-2.6.20-mm1/kernel/Kconfig.marker	2007-02-15 15:54:27.000000000 +0100
> @@ -2,8 +2,7 @@
>  
>  config MARKERS
>  	bool "Activate markers"
> -	select MODULES
> -	default n
> +	depends on MODULES
>  	help
>  	  Place an empty function call at each marker site. Can be
>  	  dynamically changed for a probe function.
> 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, École Polytechnique de Montréal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2007-02-15 17:33 ` 2.6.20-mm1 Valdis.Kletnieks
@ 2007-02-15 19:29 ` Mattia Dongili
  2007-02-15 19:39   ` 2.6.20-mm1 Richard Purdie
  2007-02-15 21:30 ` 2.6.20-mm1 J.A. Magallón
                   ` (18 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Mattia Dongili @ 2007-02-15 19:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Richard Purdie

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
[...]
> - The sony-laptop driver has been disabled due to disagreement between
>   the git-acpi and git-backlight trees

Snigh... I though Richard had something to fix sony-laptop.

Am I wrong?
-- 
mattia
:wq!

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

* Re: 2.6.20-mm1
  2007-02-15 19:29 ` 2.6.20-mm1 Mattia Dongili
@ 2007-02-15 19:39   ` Richard Purdie
  0 siblings, 0 replies; 81+ messages in thread
From: Richard Purdie @ 2007-02-15 19:39 UTC (permalink / raw)
  To: Mattia Dongili; +Cc: Andrew Morton, linux-kernel

On Thu, 2007-02-15 at 20:29 +0100, Mattia Dongili wrote:
> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
> [...]
> > - The sony-laptop driver has been disabled due to disagreement between
> >   the git-acpi and git-backlight trees
> 
> Snigh... I though Richard had something to fix sony-laptop.
> 
> Am I wrong?

No, it just didn't make it into -mm. I've included what should be the
fix below.

Fix up the sony-laptop driver in git-acpi to work with the recent
changes in the git-backlight tree.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>

---
 drivers/misc/sony-laptop.c |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

Index: linux/drivers/misc/sony-laptop.c
===================================================================
--- linux.orig/drivers/misc/sony-laptop.c       2007-02-11 00:59:47.000000000 +0000
+++ linux/drivers/misc/sony-laptop.c    2007-02-11 01:02:51.000000000 +0000
@@ -341,7 +341,7 @@ static void sony_snc_pf_remove(void)
 static int sony_backlight_update_status(struct backlight_device *bd)
 {
        return acpi_callsetfunc(sony_acpi_handle, "SBRT",
-                               bd->props->brightness + 1, NULL);
+                               bd->props.brightness + 1, NULL);
 }
 
 static int sony_backlight_get_brightness(struct backlight_device *bd)
@@ -355,11 +355,9 @@ static int sony_backlight_get_brightness
 }
 
 static struct backlight_device *sony_backlight_device;
-static struct backlight_properties sony_backlight_properties = {
-       .owner = THIS_MODULE,
+static struct backlight_ops sony_backlight_ops = {
        .update_status = sony_backlight_update_status,
        .get_brightness = sony_backlight_get_brightness,
-       .max_brightness = SONY_MAX_BRIGHTNESS - 1,
 };
 
 /*
@@ -441,15 +439,17 @@ static int sony_acpi_add(struct acpi_dev
        if (ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle, "GBRT", &handle))) {
                sony_backlight_device = backlight_device_register("sony", NULL,
                                                                  NULL,
-                                                                 &sony_backlight_properties);
+                                                                 &sony_backlight_ops);
 
                if (IS_ERR(sony_backlight_device)) {
                        printk(LOG_PFX "unable to register backlight device\n");
                        sony_backlight_device = NULL;
-               } else
-                       sony_backlight_properties.brightness =
-                           sony_backlight_get_brightness
-                           (sony_backlight_device);
+               } else {
+                       sony_backlight_device->props.brightness =
+                           sony_backlight_get_brightness(sony_backlight_device);
+                       sony_backlight_device->props.max_brightness =
+                           SONY_MAX_BRIGHTNESS - 1;
+               }
        }
 
        if (sony_snc_pf_add())





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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2007-02-15 19:29 ` 2.6.20-mm1 Mattia Dongili
@ 2007-02-15 21:30 ` J.A. Magallón
  2007-02-15 23:31   ` 2.6.20-mm1 Andrew Morton
  2007-02-15 22:51 ` 2.6.20-mm1 Bartlomiej Zolnierkiewicz
                   ` (17 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: J.A. Magallón @ 2007-02-15 21:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, 15 Feb 2007 05:14:08 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:

> 
> Temporarily at
> 
>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> 
> Will appear later at
> 
>  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> 
> 

Oops plague for me :(.

A lot like this:

ee1394 usblp evdev
CPU:    1
EIP:    0060:[<c0195f12>]    Tainted: P       VLI
EFLAGS: 00010246   (2.6.20-jam01 #1)
EIP is at sysfs_lookup+0x5b/0x20a
eax: f6707118   ebx: f6b33e5c   ecx: f6917d38   edx: 00000004
esi: 00000000   edi: f670717c   ebp: f6b33e24   esp: f6997db4
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process udevd (pid: 3899, ti=f6996000 task=f7e34540 task.ti=f6996000)
Stack: f66e1800 f6707118 c016da12 f66e1800 f6707118 c02f75c0 f6707118 f6997f04 
       f6997e38 c0164238 f6997e44 c210d8c0 f6b39340 f6b393b4 f7a7d025 f6997e38 
       27692f8b f6997f04 c0165a6a f7a7d01d 00000000 000200d2 c037ddac 00000286 
Call Trace:
 [<c016da12>] d_alloc+0x140/0x198
 [<c0164238>] do_lookup+0x128/0x165
 [<c0165a6a>] __link_path_walk+0x7e2/0xc9b
 [<c0165f68>] link_path_walk+0x45/0xbf
 [<c01661b6>] do_path_lookup+0x88/0x1cc
 [<c0165125>] getname+0x90/0xad
 [<c0166aa4>] __user_walk_fd+0x2f/0x47
 [<c01607c4>] vfs_lstat_fd+0x16/0x3d
 [<c0160830>] sys_lstat64+0xf/0x23
 [<c0111904>] do_page_fault+0x326/0x5e2
 [<c01115de>] do_page_fault+0x0/0x5e2
 [<c010288e>] sysenter_past_esp+0x5f/0x85
 [<c02f0000>] wait_for_completion_interruptible+0xdf/0xee
 =======================
Code: 83 ed 04 8b 45 04 0f 18 00 90 8d 45 04 39 d8 0f 84 bc 00 00 00 f6 45 18 2c 74 e2 89 e8 e8 ed e4 ff ff 89 c6 8b 44 24 10 8b 78 28 <ac> ae 75 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c 01 85 c0 75 be 8b 
EIP: [<c0195f12>] sysfs_lookup+0x5b/0x20a SS:ESP 0068:f6997db4
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c01963ff
*pde = 00000000
Oops: 0000 [#5]
PREEMPT SMP 
last sysfs file: /devices/pci0000:00/0000:00:00.0/resource
Modules linked in: nfsd exportfs lockd nfs_acl sunrpc w83627hf hwmon_vid hwmon i2c_isa i2c_i801 i2c_dev microcode snd_intel8x0 snd_ens1371 gameport snd_rawmidi snd_ac97_codec ac97_bus snd_pcm snd_timer snd_page_alloc snd nvidia(P) loop intel_agp agpgart udf e1000 3c59x ohci1394 ieee1394 usblp evdev
CPU:    1
EIP:    0060:[<c01963ff>]    Tainted: P       VLI
EFLAGS: 00010246   (2.6.20-jam01 #1)
EIP is at sysfs_follow_link+0x109/0x254
eax: 00000000   ebx: 00000001   ecx: ffffffff   edx: ffffffff
esi: 00000000   edi: 00000000   ebp: 00000003   esp: f70fdea4
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process udevd (pid: 3900, ti=f70fc000 task=c21f5070 task.ti=f70fc000)
Stack: f6917cd8 f70fdedc f670b000 f7321c88 ffffffff f6917cd8 ffffffea 00000000 
       c02f76a0 f6707aa8 00000200 bfa2c2fc c0163e50 b7fc9ff4 f70fc000 f70fdfb8 
       f7f732f4 c21f5070 f7f732c0 f70fdfb8 c011d757 00000000 f6cfbe68 f70fdf44 
Call Trace:
 [<c0163e50>] generic_readlink+0x27/0x6e
 [<c011d757>] timespec_trunc+0x18/0x57
 [<c011dd47>] current_fs_time+0x4d/0x66
 [<c016f990>] touch_atime+0x6e/0xee
 [<c016076a>] sys_readlinkat+0x61/0x7a
 [<c0111904>] do_page_fault+0x326/0x5e2
 [<c01607aa>] sys_readlink+0x27/0x2b
 [<c010288e>] sysenter_past_esp+0x5f/0x85
 [<c02f0000>] wait_for_completion_interruptible+0xdf/0xee
 =======================

Full dmesg at:

http://belly.cps.unizar.es/~magallon/oops/oops.txt

And another one on reboot. Picture here:

http://belly.cps.unizar.es/~magallon/oops/IMG_1448.JPG

(sorry, no tripod available ;), just the back of my soft chair).

And yes, before nobody says anything, nvidia.ko is loaded.
If you really want, I can try without it.

--
J.A. Magallon <jamagallon()ono!com>     \               Software is like sex:
                                         \         It's better when it's free
Mandriva Linux release 2007.1 (Cooker) for i586
Linux 2.6.19-jam07 (gcc 4.1.2 20070115 (prerelease) (4.1.2-0.20070115.1mdv2007.1)) #2 SMP PREEMPT

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
  2007-02-15 14:37   ` James Morris
@ 2007-02-15 21:51   ` Andrew Morton
  2007-02-15 22:39     ` Christoph Lameter
  2007-02-16 14:59     ` James Morris
  1 sibling, 2 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 21:51 UTC (permalink / raw)
  To: James Morris; +Cc: linux-kernel, Christoph Lameter

On Thu, 15 Feb 2007 09:28:23 -0500 (EST)
James Morris <jmorris@namei.org> wrote:

> Hit a BUG() via lvm:
> 
> 
> Scanning logical volumes
>   Reading all physical volumes.  This may take a while...
>   Found volume group "VolGroup00" using metadata type lvm2
> Activating logical volumes
> [   75.215078] ------------[ cut here ]------------
> [   75.230165] kernel BUG at mm/swap.c:442!
> [   75.244589] invalid opcode: 0000 [#1]
> [   75.258693] PREEMPT SMP 
> [   75.271894] last sysfs file: /block/ram0/dev
> [   75.286734] Modules linked in:
> [   75.300193] CPU:    0
> [   75.300195] EIP:    0060:[<c0150303>]    Not tainted VLI
> [   75.300197] EFLAGS: 00210006   (2.6.20-mm1 #1)
> [   75.341750] EIP is at __pagevec_lru_add_active+0x76/0xcc
> [   75.356722] eax: 80100060   ebx: c1bf9c48   ecx: c1e345bc   edx: 00000001
> [   75.373139] esi: c03dc680   edi: c1c4e780   ebp: f7ce3f34   esp: f7ce3f24
> [   75.389642] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> [   75.405199] Process lvm (pid: 415, ti=f7ce2000 task=c1e34070 task.ti=f7ce2000)
> [   75.421908] Stack: 00000000 00000000 c1e25548 f7d58ea0 f7ce3f40 c01504fc c1e25548 f7ce3f70 
> [   75.451375]        c0157b22 c0579820 f7ce5478 00000000 f7d58420 f7d58f00 00000000 00000000 
> [   75.481458]        c1e25548 f7d58420 f7d58420 f7ce3fa0 c0158539 b7fa1000 b7fa2000 b7fa1000 
> [   75.512233] Call Trace:
> [   75.536111]  [<c01039ca>] show_trace_log_lvl+0x1a/0x2f
> [   75.552228]  [<c0103a7a>] show_stack_log_lvl+0x9b/0xaa
> [   75.568329]  [<c0103c6f>] show_registers+0x1e6/0x325
> [   75.584336]  [<c0103ed4>] die+0x126/0x225
> [   75.599300]  [<c010404c>] do_trap+0x79/0x91
> [   75.614358]  [<c0104951>] do_invalid_op+0x97/0xa1
> [   75.629892]  [<c02f8a4c>] error_code+0x7c/0x84
> [   75.645097]  [<c01504fc>] lru_add_drain+0x41/0x8d
> [   75.660599]  [<c0157b22>] unmap_region+0x2a/0x129
> [   75.676116]  [<c0158539>] do_munmap+0x153/0x1b4
> [   75.691497]  [<c01585bf>] sys_munmap+0x25/0x34
> [   75.706737]  [<c01029c0>] syscall_call+0x7/0xb

That's

                VM_BUG_ON(PageMlocked(page));

Setting CONFIG_DEBUG_VM=n will shut it up.

I don't immediately see why that code isn't racy: the page can remain
in the pagevec for arbitrary amounts of time and someone can come along
and mlock it again.  But given the ease with which you're hitting this,
it may not be a race.


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

* Re: 2.6.20-mm1
  2007-02-15 14:37 ` 2.6.20-mm1 Michal Piotrowski
@ 2007-02-15 22:02   ` Andrew Morton
  2007-02-15 22:38     ` 2.6.20-mm1 Eric W. Biederman
  2007-02-15 23:24     ` 2.6.20-mm1 Michal Piotrowski
  0 siblings, 2 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 22:02 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: linux-kernel, Eric W. Biederman

On Thu, 15 Feb 2007 15:37:20 +0100
Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:

> Andrew Morton napisa__(a):
> > Temporarily at
> > 
> >   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> > 
> > Will appear later at
> > 
> >  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> > 
> > 
> 
> BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
> in_atomic():1, irqs_disabled():0
> 1 lock held by artsd/3819:
>  #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105a25>] show_trace+0x12/0x14
>  [<c0105ae7>] dump_stack+0x16/0x18
>  [<c011db4a>] __might_sleep+0xc9/0xcf
>  [<c017c37a>] kmem_cache_zalloc+0x28/0xe5
>  [<c01d8c7d>] do_shmat+0x111/0x372
>  [<c0109151>] sys_ipc+0x148/0x1b5
>  [<c010432c>] syscall_call+0x7/0xb

That's shm-make-sysv-ipc-shared-memory-use-stacked-files.patch, brought to
us by Eric-who-hasnt-read-Documentation/SubmitChecklist.

Like this, I guess:

diff -puN ipc/shm.c~shm-make-sysv-ipc-shared-memory-use-stacked-files-fix ipc/shm.c
--- a/ipc/shm.c~shm-make-sysv-ipc-shared-memory-use-stacked-files-fix
+++ a/ipc/shm.c
@@ -818,7 +818,7 @@ long do_shmat(int shmid, char __user *sh
 	int acc_mode;
 	void *user_addr;
 	struct ipc_namespace *ns;
-	struct shm_file_data *sfd;
+	struct shm_file_data *sfd = NULL;
 	mode_t f_mode;
 
 	if (shmid < 0) {
@@ -856,6 +856,8 @@ long do_shmat(int shmid, char __user *sh
 		acc_mode |= S_IXUGO;
 	}
 
+	sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
+
 	/*
 	 * We cannot rely on the fs check since SYSV IPC does have an
 	 * additional creator id...
@@ -879,13 +881,12 @@ long do_shmat(int shmid, char __user *sh
 		goto out_unlock;
 
 	err = -ENOMEM;
-	sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
 	if (!sfd)
 		goto out_unlock;
 
 	file = get_empty_filp();
 	if (!file)
-		goto out_free;
+		goto out_unlock;
 
 	file->f_op = &shm_file_operations;
 	file->private_data = sfd;
@@ -939,9 +940,8 @@ invalid:
 	if (IS_ERR(user_addr))
 		err = PTR_ERR(user_addr);
 out:
-	return err;
-out_free:
 	kfree(sfd);
+	return err;
 out_unlock:
 	shm_unlock(shp);
 	goto out;
_


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

* Re: 2.6.20-mm1
  2007-02-15 22:02   ` 2.6.20-mm1 Andrew Morton
@ 2007-02-15 22:38     ` Eric W. Biederman
  2007-02-15 23:24     ` 2.6.20-mm1 Michal Piotrowski
  1 sibling, 0 replies; 81+ messages in thread
From: Eric W. Biederman @ 2007-02-15 22:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, linux-kernel

Andrew Morton <akpm@linux-foundation.org> writes:

> That's shm-make-sysv-ipc-shared-memory-use-stacked-files.patch, brought to
> us by Eric-who-hasnt-read-Documentation/SubmitChecklist.

Sorry I thought I had all of the interesting debugging enabled in my
kernel build.  It must of fallen out someplace.  I think I must
have figured shm_lock was a semaphore or mutex.

> Like this, I guess:

Nope.  get_empty_filp can sleep as well, unless I'm totally mistaken.
It looks like the logic change is going to be a little more than a one
liner.  I will get back to you in a couple of hours....

Eric

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 21:51   ` Andrew Morton
@ 2007-02-15 22:39     ` Christoph Lameter
  2007-02-16 14:30       ` James Morris
  2007-02-16 14:59     ` James Morris
  1 sibling, 1 reply; 81+ messages in thread
From: Christoph Lameter @ 2007-02-15 22:39 UTC (permalink / raw)
  To: James Morris; +Cc: Andrew Morton, linux-kernel

On Thu, 15 Feb 2007, Andrew Morton wrote:

> I don't immediately see why that code isn't racy: the page can remain
> in the pagevec for arbitrary amounts of time and someone can come along
> and mlock it again.  But given the ease with which you're hitting this,
> it may not be a race.

As long as the page is on the pagevec it should be off the LRU. 
Marking a page PageMlocked requires the page to be on the LRU. So a page 
cannot be marked PageMlocked as long as it is on the regular pagevecs.

Somehow a page off the LRU was marked PageMlocked. Or a new anonymous page 
was allocated and marked PageMlocked and then some later processing put it 
onto the LRU?

Maybe try_to_set_mlocked does work some havoc here.

Could you see if this patch fixes it? This just disabled an optimization 
to set PageMlocked early.

Index: linux-2.6.20-mm1/mm/memory.c
===================================================================
--- linux-2.6.20-mm1.orig/mm/memory.c	2007-02-15 14:35:41.000000000 -0800
+++ linux-2.6.20-mm1/mm/memory.c	2007-02-15 14:35:54.000000000 -0800
@@ -930,6 +930,8 @@ static void try_to_set_mlocked(struct pa
 	struct zone *zone;
 	unsigned long flags;
 
+	return;
+
 	if (!PageLRU(page) || PageMlocked(page))
 		return;
 

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

* Re: sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-15 16:01 ` sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1) Tilman Schmidt
@ 2007-02-15 22:41   ` Andrew Morton
  2007-02-15 22:46     ` Mathieu Desnoyers
  2007-02-16  0:23     ` [PATCH] sparse chokes on arch/i386/kernel/i8253.c Mathieu Desnoyers
  0 siblings, 2 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 22:41 UTC (permalink / raw)
  To: Tilman Schmidt; +Cc: linux-kernel, Mathieu Desnoyers

On Thu, 15 Feb 2007 17:01:27 +0100
Tilman Schmidt <tilman@imap.cc> wrote:

> Trying to build 2.6.20-mm1 on i386 with C=1, sparse 0.2 chokes
> on arch/i386/kernel/i8253.c:
> 
>   CHECK   arch/i386/kernel/i8253.c
> linux/marker.h: No such file or directory
> include/linux/jiffies.h:18:5: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:20:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:22:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:24:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:26:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:28:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:30:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> include/linux/jiffies.h:33:3: error: You lose.
> include/linux/jiffies.h:225:5: error: bad constant expression
> include/asm/module.h:64:2: error: unknown processor family
> include/asm/processor.h:82:30: error: undefined identifier 'CONFIG_X86_L1_CACHE_SHIFT'
> include/asm/processor.h:82:30: error: bad constant expression type
> arch/i386/kernel/i8253.c:120:16: error: Expected ; at end of declaration
> arch/i386/kernel/i8253.c:120:16: error: got pit_read
> arch/i386/kernel/i8253.c:128:2: error: Trying to use reserved word 'do' as identifier
> arch/i386/kernel/i8253.c:128:2: error: Expected ; at end of declaration
> arch/i386/kernel/i8253.c:128:2: error: got {
> [loads of similar messages omitted ...]
> arch/i386/kernel/i8253.c:195:2: error: undefined identifier 'clocksource_pit'
> arch/i386/kernel/i8253.c:196:9: error: undefined identifier 'clocksource_register'
> arch/i386/kernel/i8253.c:41:7: error: Expected constant expression in case statement
> arch/i386/kernel/i8253.c:50:7: error: Expected constant expression in case statement

Me too.  It's due to the linux-kernel-markers patches.  Mathieu, can you
take a look please?

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

* Re: sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-15 22:41   ` Andrew Morton
@ 2007-02-15 22:46     ` Mathieu Desnoyers
  2007-02-15 23:44       ` Andrew Morton
  2007-02-16  0:23     ` [PATCH] sparse chokes on arch/i386/kernel/i8253.c Mathieu Desnoyers
  1 sibling, 1 reply; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-15 22:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

* Andrew Morton (akpm@linux-foundation.org) wrote:
> On Thu, 15 Feb 2007 17:01:27 +0100
> Tilman Schmidt <tilman@imap.cc> wrote:
> 
> > Trying to build 2.6.20-mm1 on i386 with C=1, sparse 0.2 chokes
> > on arch/i386/kernel/i8253.c:
> > 
> >   CHECK   arch/i386/kernel/i8253.c
> > linux/marker.h: No such file or directory
> > include/linux/jiffies.h:18:5: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:20:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:22:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:24:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:26:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:28:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:30:7: warning: undefined preprocessor identifier 'CONFIG_HZ'
> > include/linux/jiffies.h:33:3: error: You lose.
> > include/linux/jiffies.h:225:5: error: bad constant expression
> > include/asm/module.h:64:2: error: unknown processor family
> > include/asm/processor.h:82:30: error: undefined identifier 'CONFIG_X86_L1_CACHE_SHIFT'
> > include/asm/processor.h:82:30: error: bad constant expression type
> > arch/i386/kernel/i8253.c:120:16: error: Expected ; at end of declaration
> > arch/i386/kernel/i8253.c:120:16: error: got pit_read
> > arch/i386/kernel/i8253.c:128:2: error: Trying to use reserved word 'do' as identifier
> > arch/i386/kernel/i8253.c:128:2: error: Expected ; at end of declaration
> > arch/i386/kernel/i8253.c:128:2: error: got {
> > [loads of similar messages omitted ...]
> > arch/i386/kernel/i8253.c:195:2: error: undefined identifier 'clocksource_pit'
> > arch/i386/kernel/i8253.c:196:9: error: undefined identifier 'clocksource_register'
> > arch/i386/kernel/i8253.c:41:7: error: Expected constant expression in case statement
> > arch/i386/kernel/i8253.c:50:7: error: Expected constant expression in case statement
> 
> Me too.  It's due to the linux-kernel-markers patches.  Mathieu, can you
> take a look please?

I will give a deeper look in sparse, but I should say up front that I
add this to the root build tree Makefile :

LINUXINCLUDE    := -Iinclude \
                   $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
                   -include include/linux/autoconf.h \
                   -include linux/marker.h

I guess sparse is maybe not using this Makefile or variable ?

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, École Polytechnique de Montréal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (7 preceding siblings ...)
  2007-02-15 21:30 ` 2.6.20-mm1 J.A. Magallón
@ 2007-02-15 22:51 ` Bartlomiej Zolnierkiewicz
  2007-02-15 23:56 ` [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix Jiri Slaby
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-02-15 22:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel


On Thursday 15 February 2007 14:14, Andrew Morton wrote:

> - The IDE tree got dropped due to various linkage problems

Doh, I guess this is what one gets for not testing modular
IDE driver support properly. :(

All linkage problems should be fixed now, sorry for that.

Bart

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

* Re: 2.6.20-mm1
  2007-02-15 22:02   ` 2.6.20-mm1 Andrew Morton
  2007-02-15 22:38     ` 2.6.20-mm1 Eric W. Biederman
@ 2007-02-15 23:24     ` Michal Piotrowski
  2007-02-16  0:04       ` [PATCH] shm: Fix the locking and cleanup error handling in do_shmat Eric W. Biederman
  2007-02-16  0:16       ` 2.6.20-mm1 Andrew Morton
  1 sibling, 2 replies; 81+ messages in thread
From: Michal Piotrowski @ 2007-02-15 23:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, linux-kernel, Eric W. Biederman

Andrew Morton napisał(a):
> On Thu, 15 Feb 2007 15:37:20 +0100
> Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
> 
>> Andrew Morton napisa__(a):
>>> Temporarily at
>>>
>>>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
>>>
>>> Will appear later at
>>>
>>>  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
>>>
>>>
>> BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
>> in_atomic():1, irqs_disabled():0
>> 1 lock held by artsd/3819:
>>  #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
>>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>>  [<c0105a25>] show_trace+0x12/0x14
>>  [<c0105ae7>] dump_stack+0x16/0x18
>>  [<c011db4a>] __might_sleep+0xc9/0xcf
>>  [<c017c37a>] kmem_cache_zalloc+0x28/0xe5
>>  [<c01d8c7d>] do_shmat+0x111/0x372
>>  [<c0109151>] sys_ipc+0x148/0x1b5
>>  [<c010432c>] syscall_call+0x7/0xb
> 
> That's shm-make-sysv-ipc-shared-memory-use-stacked-files.patch, brought to
> us by Eric-who-hasnt-read-Documentation/SubmitChecklist.
> 
> Like this, I guess:
> 
> diff -puN ipc/shm.c~shm-make-sysv-ipc-shared-memory-use-stacked-files-fix ipc/shm.c

I might be drunk...

This patch still doesn't solve the problem.

BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
in_atomic():1, irqs_disabled():0
1 lock held by Xorg/2885:
 #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c011db4a>] __might_sleep+0xc9/0xcf
 [<c017c45f>] kmem_cache_alloc+0x28/0xbf
 [<c01814c3>] get_empty_filp+0x6a/0x173
 [<c01d8ca2>] do_shmat+0x136/0x390
 [<c0109151>] sys_ipc+0x148/0x1b5
 [<c010432c>] syscall_call+0x7/0xb
 =======================
BUG: MAX_LOCK_DEPTH too low!
turning off the locking correctness validator.
do_IRQ: stack overflow: -52
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c0106cc0>] do_IRQ+0x95/0xc1
BUG: unable to handle kernel paging request at virtual address 0e200034
 printing eip:
c01052e2
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
last sysfs file: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/vendor
Modules linked in: ipt_MASQUERADE iptable_nat nf_nat nfsd exportfs lockd nfs_acl autofs4 sunrpc af_packet nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables ipv6 binfmt_misc thermal processor fan container nvram snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss evdev snd_mixer_oss snd_pcm snd_timer skge snd 8139too intel_agp sk98lin agpgart soundcore mii i2c_i801 snd_page_alloc ide_cd cdrom rtc unix
CPU:    0
EIP:    0060:[<c01052e2>]    Not tainted VLI
EFLAGS: 00013046   (2.6.20-mm1 #16)
EIP is at dump_trace+0x88/0x9e
eax: 00000000   ebx: f412c01c   ecx: c0429344   edx: c03cf8fa
BUG: unable to handle kernel paging request at virtual address 8d17ca6c
 printing eip:
c011d927
*pde = 00000000
esi: 0e200000   edi: c03daed2   ebp: f412bfd0   esp: f412bfc0
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process Xorg (pid: 2885, ti=f412a000 task=f4a58aa0 task.ti=f412c000)
Stack: c7422ac0 c03daed2 00000011 00000000 f412bfe4 c0105312 c0429344 c03daed2
       00000004 f412bff0 c0105a25 c03daed2 f412bffc c0105ae7 f412c008 f412c01c
Call Trace:
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c01053c4>] show_stack_log_lvl+0x9d/0xac
 [<c01055c0>] show_registers+0x1ed/0x34c
 [<c010583c>] die+0x11d/0x234
 [<c011b8d1>] do_page_fault+0x47c/0x55b
 [<c033aaac>] error_code+0x7c/0x84
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c0106cc0>] do_IRQ+0x95/0xc1
BUG: unable to handle kernel paging request at virtual address 0e200034
 printing eip:
c01052e2
*pde = 00000000
Oops: 0000 [#2]
PREEMPT SMP
last sysfs file: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/vendor
Modules linked in: ipt_MASQUERADE iptable_nat nf_nat nfsd exportfs lockd nfs_acl autofs4 sunrpc af_packet nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables ipv6 binfmt_misc thermal processor fan container nvram snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss evdev snd_mixer_oss snd_pcm snd_timer skge snd 8139too intel_agp sk98lin agpgart soundcore mii i2c_i801 snd_page_alloc ide_cd cdrom rtc unix
CPU:    0
EIP:    0060:[<c01052e2>]    Not tainted VLI
EFLAGS: 00013046   (2.6.20-mm1 #16)
EIP is at dump_trace+0x88/0x9e
eax: 00000000   ebx: f412c01c   ecx: c0429344   edx: c03cf8fa
esi: 0e200000   edi: c03cfa80   ebp: f412be5c   esp: f412be4c
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process Xorg (pid: 2885, ti=f412a000 task=f4a58aa0 task.ti=f412c000)
Stack: f412be64 c03cfa80 00000010 00000000 f412be70 c0105312 c0429344 c03cfa80
       f412c003 f412be94 c01053c4 c03cfa80 c03cfa80 f412bf88 f412bfc0 f4a58c3c
       0000002b 00000040 f412bef8 c01055c0 c03cfa80 00000010 f4a58c3c 00000b45
Call Trace:
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c01053c4>] show_stack_log_lvl+0x9d/0xac
 [<c01055c0>] show_registers+0x1ed/0x34c
 [<c010583c>] die+0x11d/0x234
 [<c011b8d1>] do_page_fault+0x47c/0x55b
 [<c033aaac>] error_code+0x7c/0x84
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c01053c4>] show_stack_log_lvl+0x9d/0xac
 [<c01055c0>] show_registers+0x1ed/0x34c
 [<c010583c>] die+0x11d/0x234
 [<c011b8d1>] do_page_fault+0x47c/0x55b
 [<c033aaac>] error_code+0x7c/0x84
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c0106cc0>] do_IRQ+0x95/0xc1
BUG: unable to handle kernel paging request at virtual address 0e200034
 printing eip:
c01052e2
*pde = 00000000
Recursive die() failure, output suppressed
Oops: 0000 [#3]
Kernel panic - not syncing: Fatal exception in interrupt
PREEMPT SMP
last sysfs file: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/vendor
Modules linked in: ipt_MASQUERADE iptable_nat nf_nat nfsd exportfs lockd nfs_acl autofs4 sunrpc af_packet nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables ipv6 binfmt_misc thermal processor fan container nvram snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss evdev snd_mixer_oss snd_pcm snd_timer skge snd 8139too intel_agp sk98lin agpgart soundcore mii i2c_i801 snd_page_alloc ide_cd cdrom rtc unix
CPU:    1
EIP:    0060:[<c011d927>]    Not tainted VLI
EFLAGS: 00010087   (2.6.20-mm1 #16)
EIP is at resched_task+0x19/0x7f
eax: 8d17ca6c   ebx: f4a58aa0   ecx: f59ceae0   edx: 00003246
esi: f59ceae0   edi: 00000000   ebp: f5fedde8   esp: f5fedde0
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process automount (pid: 2423, ti=f5fec000 task=f7e79550 task.ti=f5fec000)
Stack: c7429b20 f59ceae0 f5fede3c c011f23d 00000080 00000000 00000003 f59ceae0
       00000000 00000001 00000001 c7421b20 00000080 00000000 00000069 06f71d80
       2a57c378 00000020 00000003 00000086 f5ae1f40 f5ae1f18 00000000 f5fede44
Call Trace:
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c01053c4>] show_stack_log_lvl+0x9d/0xac
 [<c01055c0>] show_registers+0x1ed/0x34c
 [<c010583c>] die+0x11d/0x234
 [<c011b8d1>] do_page_fault+0x47c/0x55b
 [<c033aaac>] error_code+0x7c/0x84
 [<c011f23d>] try_to_wake_up+0x3eb/0x418
 [<c011f275>] default_wake_function+0xb/0xd
 [<c011c5d0>] __wake_up_common+0x32/0x55
 [<c011d3d9>] __wake_up+0x31/0x42
 [<c0142243>] wake_futex+0x45/0x50
 [<c0143dc0>] do_futex+0x88d/0xe93
 [<c0144456>] sys_futex+0x90/0xa3
 [<c010432c>] syscall_call+0x7/0xb
 =======================
Code: 01 7b 08 11 4b 0c eb 05 01 3b 11 4b 04 5b 5e 5f 5d c3 55 89 e5 56 53 89 c3 b8 a0 fd 4a c0 8b 53 04 8b 52 10 03 04 95 00 66 47 c0 <8a> 00 31 d2 84 c0 0f 9f c2 b8 e0 cd 42 c0 e8 d2 39 0f 00 85 c0
EIP: [<c011d927>] resched_task+0x19/0x7f SS:ESP 0068:f5fedde0
BUG: at /mnt/md0/devel/linux-mm/drivers/char/vt.c:3392 do_unblank_screen()
 [<c0105312>] show_trace_log_lvl+0x1a/0x2f
 [<c0105a25>] show_trace+0x12/0x14
 [<c0105ae7>] dump_stack+0x16/0x18
 [<c025eb1d>] do_unblank_screen+0x73/0x138
 [<c025ebec>] unblank_screen+0xa/0xc
 [<c0203cac>] bust_spinlocks+0x18/0x2c
 [<c0105893>] die+0x174/0x234
 [<c011b8d1>] do_page_fault+0x47c/0x55b
 [<c033aaac>] error_code+0x7c/0x84
 [<c011f23d>] try_to_wake_up+0x3eb/0x418
 [<c011f275>] default_wake_function+0xb/0xd
 [<c011c5d0>] __wake_up_common+0x32/0x55
 [<c011d3d9>] __wake_up+0x31/0x42
 [<c0142243>] wake_futex+0x45/0x50
 [<c0143dc0>] do_futex+0x88d/0xe93
 [<c0144456>] sys_futex+0x90/0xa3
 [<c010432c>] syscall_call+0x7/0xb
 =======================
note: automount[2423] exited with preempt_count 4

0xc01052e2 is in dump_trace (/mnt/md0/devel/linux-mm/arch/i386/kernel/traps.c:191).
186                     /* Should be after the line below, but somewhere
187                        in early boot context comes out corrupted and we
188                        can't reference it -AK */
189                     if (ops->stack(data, "IRQ") < 0)
190                             break;
191                     stack = (unsigned long*)context->previous_esp;
192                     if (!stack)
193                             break;
194                     touch_nmi_watchdog();
195             }

0xc011d927 is in resched_task (include2/asm/spinlock.h:33).
28       * (the type definitions are in asm/spinlock_types.h)
29       */
30
31      static inline int __raw_spin_is_locked(raw_spinlock_t *x)
32      {
33              return *(volatile signed char *)(&(x)->slock) <= 0;
34      }
35
36      static inline void __raw_spin_lock(raw_spinlock_t *lock)
37      {

Regards,
Michal

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

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

* Re: 2.6.20-mm1
  2007-02-15 21:30 ` 2.6.20-mm1 J.A. Magallón
@ 2007-02-15 23:31   ` Andrew Morton
  2007-02-15 23:39     ` 2.6.20-mm1 J.A. Magallón
  0 siblings, 1 reply; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 23:31 UTC (permalink / raw)
  To: J.A. Magallón ; +Cc: linux-kernel

On Thu, 15 Feb 2007 22:30:17 +0100
"J.A. Magall__n" <jamagallon@ono.com> wrote:

> On Thu, 15 Feb 2007 05:14:08 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:
> 
> > 
> > Temporarily at
> > 
> >   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> > 
> > Will appear later at
> > 
> >  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> > 
> > 
> 
> Oops plague for me :(.
> 
> A lot like this:
> 
> ee1394 usblp evdev
> CPU:    1
> EIP:    0060:[<c0195f12>]    Tainted: P       VLI
> EFLAGS: 00010246   (2.6.20-jam01 #1)
> EIP is at sysfs_lookup+0x5b/0x20a
> eax: f6707118   ebx: f6b33e5c   ecx: f6917d38   edx: 00000004
> esi: 00000000   edi: f670717c   ebp: f6b33e24   esp: f6997db4
> ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> Process udevd (pid: 3899, ti=f6996000 task=f7e34540 task.ti=f6996000)
> Stack: f66e1800 f6707118 c016da12 f66e1800 f6707118 c02f75c0 f6707118 f6997f04 
>        f6997e38 c0164238 f6997e44 c210d8c0 f6b39340 f6b393b4 f7a7d025 f6997e38 
>        27692f8b f6997f04 c0165a6a f7a7d01d 00000000 000200d2 c037ddac 00000286 
> Call Trace:
>  [<c016da12>] d_alloc+0x140/0x198
>  [<c0164238>] do_lookup+0x128/0x165
>  [<c0165a6a>] __link_path_walk+0x7e2/0xc9b
>  [<c0165f68>] link_path_walk+0x45/0xbf
>  [<c01661b6>] do_path_lookup+0x88/0x1cc
>  [<c0165125>] getname+0x90/0xad
>  [<c0166aa4>] __user_walk_fd+0x2f/0x47
>  [<c01607c4>] vfs_lstat_fd+0x16/0x3d
>  [<c0160830>] sys_lstat64+0xf/0x23
>  [<c0111904>] do_page_fault+0x326/0x5e2
>  [<c01115de>] do_page_fault+0x0/0x5e2
>  [<c010288e>] sysenter_past_esp+0x5f/0x85
>  [<c02f0000>] wait_for_completion_interruptible+0xdf/0xee


Oh dear.  Any one of about 700 developers might have caused this.

bisection-search will find this.  Can you upload the .config please?

> 
> Full dmesg at:
> 
> http://belly.cps.unizar.es/~magallon/oops/oops.txt
> 
> And another one on reboot. Picture here:
> 
> http://belly.cps.unizar.es/~magallon/oops/IMG_1448.JPG
> 
> (sorry, no tripod available ;), just the back of my soft chair).
>
> And yes, before nobody says anything, nvidia.ko is loaded.
> If you really want, I can try without it.

It would be appreciated if you could do that, thanks.

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

* Re: 2.6.20-mm1
  2007-02-15 23:31   ` 2.6.20-mm1 Andrew Morton
@ 2007-02-15 23:39     ` J.A. Magallón
  2007-02-16  5:30       ` 2.6.20-mm1 Andrew Morton
  0 siblings, 1 reply; 81+ messages in thread
From: J.A. Magallón @ 2007-02-15 23:39 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, 15 Feb 2007 15:31:42 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:

> On Thu, 15 Feb 2007 22:30:17 +0100
> "J.A. Magall__n" <jamagallon@ono.com> wrote:
> 
> > On Thu, 15 Feb 2007 05:14:08 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:
> > 
> > > 
> > > Temporarily at
> > > 
> > >   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> > > 
> > > Will appear later at
> > > 
> > >  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> > > 
> > > 
> > 
> > Oops plague for me :(.
> > 
> > A lot like this:
> > 
> > ee1394 usblp evdev
> > CPU:    1
> > EIP:    0060:[<c0195f12>]    Tainted: P       VLI
> > EFLAGS: 00010246   (2.6.20-jam01 #1)
> > EIP is at sysfs_lookup+0x5b/0x20a
> > eax: f6707118   ebx: f6b33e5c   ecx: f6917d38   edx: 00000004
> > esi: 00000000   edi: f670717c   ebp: f6b33e24   esp: f6997db4
> > ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> > Process udevd (pid: 3899, ti=f6996000 task=f7e34540 task.ti=f6996000)
> > Stack: f66e1800 f6707118 c016da12 f66e1800 f6707118 c02f75c0 f6707118 f6997f04 
> >        f6997e38 c0164238 f6997e44 c210d8c0 f6b39340 f6b393b4 f7a7d025 f6997e38 
> >        27692f8b f6997f04 c0165a6a f7a7d01d 00000000 000200d2 c037ddac 00000286 
> > Call Trace:
> >  [<c016da12>] d_alloc+0x140/0x198
> >  [<c0164238>] do_lookup+0x128/0x165
> >  [<c0165a6a>] __link_path_walk+0x7e2/0xc9b
> >  [<c0165f68>] link_path_walk+0x45/0xbf
> >  [<c01661b6>] do_path_lookup+0x88/0x1cc
> >  [<c0165125>] getname+0x90/0xad
> >  [<c0166aa4>] __user_walk_fd+0x2f/0x47
> >  [<c01607c4>] vfs_lstat_fd+0x16/0x3d
> >  [<c0160830>] sys_lstat64+0xf/0x23
> >  [<c0111904>] do_page_fault+0x326/0x5e2
> >  [<c01115de>] do_page_fault+0x0/0x5e2
> >  [<c010288e>] sysenter_past_esp+0x5f/0x85
> >  [<c02f0000>] wait_for_completion_interruptible+0xdf/0xee
> 
> 
> Oh dear.  Any one of about 700 developers might have caused this.
> 
> bisection-search will find this.  Can you upload the .config please?
> 

Here it goes:

http://belly.cps.unizar.es/~magallon/oops/config-2.6.20-jam01

copied from previous and answered missing CONFIG_'s.
Just 2.6.20-m11 + 11-pci-iomap-regions posted in LKML + patch to make
HDIO_OBSOLETE_IDENTITY work on sata (also from LKML).

> > 
> > Full dmesg at:
> > 
> > http://belly.cps.unizar.es/~magallon/oops/oops.txt
> > 
> > And another one on reboot. Picture here:
> > 
> > http://belly.cps.unizar.es/~magallon/oops/IMG_1448.JPG
> > 
> > (sorry, no tripod available ;), just the back of my soft chair).
> >
> > And yes, before nobody says anything, nvidia.ko is loaded.
> > If you really want, I can try without it.
> 
> It would be appreciated if you could do that, thanks.

Probably tomorrow.

--
J.A. Magallon <jamagallon()ono!com>     \               Software is like sex:
                                         \         It's better when it's free
Mandriva Linux release 2007.1 (Cooker) for i586
Linux 2.6.19-jam07 (gcc 4.1.2 20070115 (prerelease) (4.1.2-0.20070115.1mdv2007.1)) #2 SMP PREEMPT

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

* Re: sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-15 22:46     ` Mathieu Desnoyers
@ 2007-02-15 23:44       ` Andrew Morton
  2007-02-16  0:37         ` Mathieu Desnoyers
  0 siblings, 1 reply; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 23:44 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Tilman Schmidt, linux-kernel

On Thu, 15 Feb 2007 17:46:56 -0500
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> > Me too.  It's due to the linux-kernel-markers patches.  Mathieu, can you
> > take a look please?
> 
> I will give a deeper look in sparse, but I should say up front that I
> add this to the root build tree Makefile :
> 
> LINUXINCLUDE    := -Iinclude \
>                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
>                    -include include/linux/autoconf.h \
>                    -include linux/marker.h
> 
> I guess sparse is maybe not using this Makefile or variable ?

ow, that's going to hurt - this stuff is complex and fragile.

For what reason was that change made?

Pleeze, tricky things like this should be changelogged - we shouldn't need
to ask.  I missed it.



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

* Re: [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1)
  2007-02-16 16:41 ` [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1) Frederik Deweerdt
@ 2007-02-15 23:50   ` Andrew Morton
  0 siblings, 0 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-15 23:50 UTC (permalink / raw)
  To: Frederik Deweerdt; +Cc: linux-kernel, torvalds, viro, Tejun Heo

On Fri, 16 Feb 2007 16:41:59 +0000
Frederik Deweerdt <deweerdt@free.fr> wrote:

> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
> > 
> > Temporarily at
> > 
> >   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> > 
> Hi,
> 
> It appears that the pcim_iomap_regions() function doesn't get the error
> handling right. It BUGs early at boot with a backtrace along the lines of:
> 
> ahci_init
> pci_register_driver
> driver_register
> [...]
> ahci_init_one
> pcim_iomap_region
> pcim_iounmap
> 
> The following patch allows me to boot. Only the if(mask..) continue;
> part fixes the problem actually, the gotos where changed so that we
> don't try to unmap something we couldn't map anyway.
> 
> Regards,
> Frederik
> 
> Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
> 
> 
> diff --git a/lib/devres.c b/lib/devres.c
> index 2a668dd..eb38849 100644
> --- a/lib/devres.c
> +++ b/lib/devres.c
> @@ -274,21 +274,21 @@ int pcim_iomap_regions(struct pci_dev *pdev, u16 mask, const char *name)
>  
>  		rc = pci_request_region(pdev, i, name);
>  		if (rc)
> -			goto err_region;
> +			goto err_inval;
>  
>  		rc = -ENOMEM;
>  		if (!pcim_iomap(pdev, i, 0))
> -			goto err_iomap;
> +			goto err_region;
>  	}
>  
>  	return 0;
>  
> - err_iomap:
> -	pcim_iounmap(pdev, iomap[i]);
>   err_region:
>  	pci_release_region(pdev, i);
>   err_inval:
>  	while (--i >= 0) {
> +		if (!(mask & (1 << i)))
> +			continue;
>  		pcim_iounmap(pdev, iomap[i]);
>  		pci_release_region(pdev, i);
>  	}

yep, the fix looks good and is needed in mainline, thanks.

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

* [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (8 preceding siblings ...)
  2007-02-15 22:51 ` 2.6.20-mm1 Bartlomiej Zolnierkiewicz
@ 2007-02-15 23:56 ` Jiri Slaby
  2007-02-16  0:10   ` Jiri Slaby
  2007-02-16 13:55   ` Oleg Nesterov
  2007-02-16 16:37 ` 2.6.20-mm1 Steve Fox
                   ` (15 subsequent siblings)
  25 siblings, 2 replies; 81+ messages in thread
From: Jiri Slaby @ 2007-02-15 23:56 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Oleg Nesterov

Andrew Morton wrote:
> Temporarily at
> 
>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
[...]
> +unify-queue_delayed_work-and-queue_delayed_work_on.patch

I'm getting oops in delayed_work_timer_fn, since cwq->wq is NULL and accessed
there. The patch below fixes the problem for me.

--

unify queue_delayed_work and queue_delayed_work_on fix

Since cwq->wq is unset for other than singlethread_cpu when singlethread
workqueue was created, an oops occurs during bootup. Fix it by setting
correct private value for workqueue.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>

---
commit 7bc281be5811f9b1dd01c25eaf492f4765737fd0
tree 7795008066bb89e7489384cde95e63260602d5af
parent 61c2024a2dd044e32747542cfbf4b22251df3bc2
author Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100
committer Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100

 kernel/workqueue.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index f2089bf..af5e597 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -210,7 +210,8 @@ int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
 
 		/* This stores cwq for the moment, for the timer_fn */
 		set_wq_data(work,
-			per_cpu_ptr(wq->cpu_wq, raw_smp_processor_id()));
+			per_cpu_ptr(wq->cpu_wq, wq->singlethread ?
+				singlethread_cpu : raw_smp_processor_id()));
 		timer->expires = jiffies + delay;
 		timer->data = (unsigned long)dwork;
 		timer->function = delayed_work_timer_fn;

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

* [PATCH] shm:  Fix the locking and cleanup error handling in do_shmat.
  2007-02-15 23:24     ` 2.6.20-mm1 Michal Piotrowski
@ 2007-02-16  0:04       ` Eric W. Biederman
  2007-02-16  0:16         ` Michal Piotrowski
  2007-02-16  0:21         ` Michal Piotrowski
  2007-02-16  0:16       ` 2.6.20-mm1 Andrew Morton
  1 sibling, 2 replies; 81+ messages in thread
From: Eric W. Biederman @ 2007-02-16  0:04 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel


When enhancing do_shmat I forgot to take into account that shm_lock
is a spinlock, and was allocating memory with the lock held.

This patch fixes that by grabbing a reference to the dentry and
mounts of shm_file before we drop the shm_lock and then performing
the memory allocations.

This is also a bit of a general scrub on the error handling.
Everything is now forced through the single return statement
for clarity, and the handling of the return address now uses
fewer casts.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
 ipc/shm.c |   56 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/ipc/shm.c b/ipc/shm.c
index e0b6544..26b935b 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -815,15 +815,16 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 	unsigned long flags;
 	unsigned long prot;
 	int acc_mode;
-	void *user_addr;
+	unsigned long user_addr;
 	struct ipc_namespace *ns;
 	struct shm_file_data *sfd;
+	struct path path;
 	mode_t f_mode;
 
-	if (shmid < 0) {
-		err = -EINVAL;
+	err = -EINVAL;
+	if (shmid < 0)
 		goto out;
-	} else if ((addr = (ulong)shmaddr)) {
+	else if ((addr = (ulong)shmaddr)) {
 		if (addr & (SHMLBA-1)) {
 			if (shmflg & SHM_RND)
 				addr &= ~(SHMLBA-1);	   /* round down */
@@ -831,12 +832,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 #ifndef __ARCH_FORCE_SHMLBA
 				if (addr & ~PAGE_MASK)
 #endif
-					return -EINVAL;
+					goto out;
 		}
 		flags = MAP_SHARED | MAP_FIXED;
 	} else {
 		if ((shmflg & SHM_REMAP))
-			return -EINVAL;
+			goto out;
 
 		flags = MAP_SHARED;
 	}
@@ -860,7 +861,6 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 	 * additional creator id...
 	 */
 	ns = current->nsproxy->ipc_ns;
-	err = -EINVAL;
 	shp = shm_lock(ns, shmid);
 	if(shp == NULL)
 		goto out;
@@ -877,19 +877,25 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 	if (err)
 		goto out_unlock;
 
+	path.dentry = dget(shp->shm_file->f_path.dentry);
+	path.mnt    = mntget(shp->shm_file->f_path.mnt);
+	shp->shm_nattch++;
+	size = i_size_read(path.dentry->d_inode);
+	shm_unlock(shp);
+
 	err = -ENOMEM;
 	sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
 	if (!sfd)
-		goto out_unlock;
+		goto out_put_path;
 
+	err = -ENOMEM;
 	file = get_empty_filp();
 	if (!file)
 		goto out_free;
 
 	file->f_op = &shm_file_operations;
 	file->private_data = sfd;
-	file->f_path.dentry = dget(shp->shm_file->f_path.dentry);
-	file->f_path.mnt = mntget(shp->shm_file->f_path.mnt);
+	file->f_path = path;
 	file->f_mapping = shp->shm_file->f_mapping;
 	file->f_mode = f_mode;
 	sfd->id = shp->id;
@@ -897,13 +903,9 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 	sfd->file = shp->shm_file;
 	sfd->vm_ops = NULL;
 
-	size = i_size_read(file->f_path.dentry->d_inode);
-	shp->shm_nattch++;
-	shm_unlock(shp);
-
 	down_write(&current->mm->mmap_sem);
 	if (addr && !(shmflg & SHM_REMAP)) {
-		user_addr = ERR_PTR(-EINVAL);
+		err = -EINVAL;
 		if (find_vma_intersection(current->mm, addr, addr + size))
 			goto invalid;
 		/*
@@ -915,13 +917,17 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
 			goto invalid;
 	}
 		
-	user_addr = (void*) do_mmap (file, addr, size, prot, flags, 0);
-
+	user_addr = do_mmap (file, addr, size, prot, flags, 0);
+	*raddr = user_addr;
+	err = 0;
+	if (IS_ERR_VALUE(user_addr))
+		err = (long)user_addr;
 invalid:
 	up_write(&current->mm->mmap_sem);
-
+	
 	fput(file);
 
+out_nattch:
 	mutex_lock(&shm_ids(ns).mutex);
 	shp = shm_lock(ns, shmid);
 	BUG_ON(!shp);
@@ -933,17 +939,19 @@ invalid:
 		shm_unlock(shp);
 	mutex_unlock(&shm_ids(ns).mutex);
 
-	*raddr = (unsigned long) user_addr;
-	err = 0;
-	if (IS_ERR(user_addr))
-		err = PTR_ERR(user_addr);
 out:
 	return err;
-out_free:
-	kfree(sfd);
+
 out_unlock:
 	shm_unlock(shp);
 	goto out;
+
+out_free:
+	kfree(sfd);
+out_put_path:
+	dput(path.dentry);
+	mntput(path.mnt);
+	goto out_nattch;
 		
 }
 
-- 
1.4.4.1.g278f


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

* Re: [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix
  2007-02-15 23:56 ` [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix Jiri Slaby
@ 2007-02-16  0:10   ` Jiri Slaby
  2007-02-16 13:55   ` Oleg Nesterov
  1 sibling, 0 replies; 81+ messages in thread
From: Jiri Slaby @ 2007-02-16  0:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Oleg Nesterov

Jiri Slaby napsal(a):
[...]
> unify queue_delayed_work and queue_delayed_work_on fix

Oh sorry, the name should be
make queue_delayed_work() friendly to flush_fork() fix

> Since cwq->wq is unset for other than singlethread_cpu when singlethread
> workqueue was created, an oops occurs during bootup. Fix it by setting
> correct private value for workqueue.
> 
> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
> 
> ---
> commit 7bc281be5811f9b1dd01c25eaf492f4765737fd0
> tree 7795008066bb89e7489384cde95e63260602d5af
> parent 61c2024a2dd044e32747542cfbf4b22251df3bc2
> author Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100
> committer Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100
> 
>  kernel/workqueue.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index f2089bf..af5e597 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -210,7 +210,8 @@ int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
>  
>  		/* This stores cwq for the moment, for the timer_fn */
>  		set_wq_data(work,
> -			per_cpu_ptr(wq->cpu_wq, raw_smp_processor_id()));
> +			per_cpu_ptr(wq->cpu_wq, wq->singlethread ?
> +				singlethread_cpu : raw_smp_processor_id()));
>  		timer->expires = jiffies + delay;
>  		timer->data = (unsigned long)dwork;
>  		timer->function = delayed_work_timer_fn;
> 

regards,
-- 
http://www.fi.muni.cz/~xslaby/            Jiri Slaby
faculty of informatics, masaryk university, brno, cz
e-mail: jirislaby gmail com, gpg pubkey fingerprint:
B674 9967 0407 CE62 ACC8  22A0 32CC 55C3 39D4 7A7E

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

* Re: [PATCH] shm:  Fix the locking and cleanup error handling in do_shmat.
  2007-02-16  0:04       ` [PATCH] shm: Fix the locking and cleanup error handling in do_shmat Eric W. Biederman
@ 2007-02-16  0:16         ` Michal Piotrowski
  2007-02-16  0:21         ` Michal Piotrowski
  1 sibling, 0 replies; 81+ messages in thread
From: Michal Piotrowski @ 2007-02-16  0:16 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Michal Piotrowski, Andrew Morton, linux-kernel

Eric W. Biederman napisał(a):
> When enhancing do_shmat I forgot to take into account that shm_lock
> is a spinlock, and was allocating memory with the lock held.
> 
> This patch fixes that by grabbing a reference to the dentry and
> mounts of shm_file before we drop the shm_lock and then performing
> the memory allocations.
> 
> This is also a bit of a general scrub on the error handling.
> Everything is now forced through the single return statement
> for clarity, and the handling of the return address now uses
> fewer casts.
> 
> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
> ---
>  ipc/shm.c |   56 ++++++++++++++++++++++++++++++++------------------------
>  1 files changed, 32 insertions(+), 24 deletions(-)
> 
> diff --git a/ipc/shm.c b/ipc/shm.c
> index e0b6544..26b935b 100644
> --- a/ipc/shm.c
> +++ b/ipc/shm.c
> @@ -815,15 +815,16 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	unsigned long flags;
>  	unsigned long prot;
>  	int acc_mode;
> -	void *user_addr;
> +	unsigned long user_addr;
>  	struct ipc_namespace *ns;
>  	struct shm_file_data *sfd;
> +	struct path path;
>  	mode_t f_mode;
>  
> -	if (shmid < 0) {
> -		err = -EINVAL;
> +	err = -EINVAL;
> +	if (shmid < 0)
>  		goto out;
> -	} else if ((addr = (ulong)shmaddr)) {
> +	else if ((addr = (ulong)shmaddr)) {
>  		if (addr & (SHMLBA-1)) {
>  			if (shmflg & SHM_RND)
>  				addr &= ~(SHMLBA-1);	   /* round down */
> @@ -831,12 +832,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  #ifndef __ARCH_FORCE_SHMLBA
>  				if (addr & ~PAGE_MASK)
>  #endif
> -					return -EINVAL;
> +					goto out;
>  		}
>  		flags = MAP_SHARED | MAP_FIXED;
>  	} else {
>  		if ((shmflg & SHM_REMAP))
> -			return -EINVAL;
> +			goto out;
>  
>  		flags = MAP_SHARED;
>  	}
> @@ -860,7 +861,6 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	 * additional creator id...
>  	 */
>  	ns = current->nsproxy->ipc_ns;
> -	err = -EINVAL;
>  	shp = shm_lock(ns, shmid);
>  	if(shp == NULL)
>  		goto out;
> @@ -877,19 +877,25 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	if (err)
>  		goto out_unlock;
>  
> +	path.dentry = dget(shp->shm_file->f_path.dentry);
> +	path.mnt    = mntget(shp->shm_file->f_path.mnt);
> +	shp->shm_nattch++;
> +	size = i_size_read(path.dentry->d_inode);
> +	shm_unlock(shp);
> +
>  	err = -ENOMEM;
>  	sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
>  	if (!sfd)
> -		goto out_unlock;
> +		goto out_put_path;
>  
> +	err = -ENOMEM;
>  	file = get_empty_filp();
>  	if (!file)
>  		goto out_free;
>  
>  	file->f_op = &shm_file_operations;
>  	file->private_data = sfd;
> -	file->f_path.dentry = dget(shp->shm_file->f_path.dentry);
> -	file->f_path.mnt = mntget(shp->shm_file->f_path.mnt);
> +	file->f_path = path;
>  	file->f_mapping = shp->shm_file->f_mapping;
>  	file->f_mode = f_mode;
>  	sfd->id = shp->id;
> @@ -897,13 +903,9 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	sfd->file = shp->shm_file;
>  	sfd->vm_ops = NULL;
>  
> -	size = i_size_read(file->f_path.dentry->d_inode);
> -	shp->shm_nattch++;
> -	shm_unlock(shp);
> -
>  	down_write(&current->mm->mmap_sem);
>  	if (addr && !(shmflg & SHM_REMAP)) {
> -		user_addr = ERR_PTR(-EINVAL);
> +		err = -EINVAL;
>  		if (find_vma_intersection(current->mm, addr, addr + size))
>  			goto invalid;
>  		/*
> @@ -915,13 +917,17 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  			goto invalid;
>  	}
>  		
> -	user_addr = (void*) do_mmap (file, addr, size, prot, flags, 0);
> -
> +	user_addr = do_mmap (file, addr, size, prot, flags, 0);
> +	*raddr = user_addr;
> +	err = 0;
> +	if (IS_ERR_VALUE(user_addr))
> +		err = (long)user_addr;
>  invalid:
>  	up_write(&current->mm->mmap_sem);
> -
> +	
>  	fput(file);
>  
> +out_nattch:
>  	mutex_lock(&shm_ids(ns).mutex);
>  	shp = shm_lock(ns, shmid);
>  	BUG_ON(!shp);
> @@ -933,17 +939,19 @@ invalid:

^^^^

???


>  		shm_unlock(shp);
>  	mutex_unlock(&shm_ids(ns).mutex);
>  
> -	*raddr = (unsigned long) user_addr;
> -	err = 0;
> -	if (IS_ERR(user_addr))
> -		err = PTR_ERR(user_addr);
>  out:
>  	return err;
> -out_free:
> -	kfree(sfd);
> +
>  out_unlock:
>  	shm_unlock(shp);
>  	goto out;
> +
> +out_free:
> +	kfree(sfd);
> +out_put_path:
> +	dput(path.dentry);
> +	mntput(path.mnt);
> +	goto out_nattch;
>  		

^^^^ tabs

>  }
>  

Regards,
Michal

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

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

* Re: 2.6.20-mm1
  2007-02-15 23:24     ` 2.6.20-mm1 Michal Piotrowski
  2007-02-16  0:04       ` [PATCH] shm: Fix the locking and cleanup error handling in do_shmat Eric W. Biederman
@ 2007-02-16  0:16       ` Andrew Morton
  1 sibling, 0 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-16  0:16 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: linux-kernel, Eric W. Biederman

On Fri, 16 Feb 2007 00:24:35 +0100
Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:

> Andrew Morton napisa__(a):
> > On Thu, 15 Feb 2007 15:37:20 +0100
> > Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
> > 
> >> Andrew Morton napisa__(a):
> >>> Temporarily at
> >>>
> >>>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> >>>
> >>> Will appear later at
> >>>
> >>>  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20/2.6.20-mm1/
> >>>
> >>>
> >> BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
> >> in_atomic():1, irqs_disabled():0
> >> 1 lock held by artsd/3819:
> >>  #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
> >>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
> >>  [<c0105a25>] show_trace+0x12/0x14
> >>  [<c0105ae7>] dump_stack+0x16/0x18
> >>  [<c011db4a>] __might_sleep+0xc9/0xcf
> >>  [<c017c37a>] kmem_cache_zalloc+0x28/0xe5
> >>  [<c01d8c7d>] do_shmat+0x111/0x372
> >>  [<c0109151>] sys_ipc+0x148/0x1b5
> >>  [<c010432c>] syscall_call+0x7/0xb
> > 
> > That's shm-make-sysv-ipc-shared-memory-use-stacked-files.patch, brought to
> > us by Eric-who-hasnt-read-Documentation/SubmitChecklist.
> > 
> > Like this, I guess:
> > 
> > diff -puN ipc/shm.c~shm-make-sysv-ipc-shared-memory-use-stacked-files-fix ipc/shm.c
> 
> I might be drunk...
> 
> This patch still doesn't solve the problem.
> 
> BUG: sleeping function called from invalid context at /mnt/md0/devel/linux-mm/mm/slab.c:3043
> in_atomic():1, irqs_disabled():0
> 1 lock held by Xorg/2885:
>  #0:  (&new->lock){--..}, at: [<c01d5b7c>] ipc_lock+0x35/0x4f
>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105a25>] show_trace+0x12/0x14
>  [<c0105ae7>] dump_stack+0x16/0x18
>  [<c011db4a>] __might_sleep+0xc9/0xcf
>  [<c017c45f>] kmem_cache_alloc+0x28/0xbf
>  [<c01814c3>] get_empty_filp+0x6a/0x173
>  [<c01d8ca2>] do_shmat+0x136/0x390
>  [<c0109151>] sys_ipc+0x148/0x1b5
>  [<c010432c>] syscall_call+0x7/0xb

yes, that's the other one, which Eric will be looking at.

>  =======================
> BUG: MAX_LOCK_DEPTH too low!
> turning off the locking correctness validator.
> do_IRQ: stack overflow: -52
>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105a25>] show_trace+0x12/0x14
>  [<c0105ae7>] dump_stack+0x16/0x18
>  [<c0106cc0>] do_IRQ+0x95/0xc1
> BUG: unable to handle kernel paging request at virtual address 0e200034
>  printing eip:
> c01052e2
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT SMP
> last sysfs file: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/vendor
> Modules linked in: ipt_MASQUERADE iptable_nat nf_nat nfsd exportfs lockd nfs_acl autofs4 sunrpc af_packet nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables ipv6 binfmt_misc thermal processor fan container nvram snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss evdev snd_mixer_oss snd_pcm snd_timer skge snd 8139too intel_agp sk98lin agpgart soundcore mii i2c_i801 snd_page_alloc ide_cd cdrom rtc unix
> CPU:    0
> EIP:    0060:[<c01052e2>]    Not tainted VLI
> EFLAGS: 00013046   (2.6.20-mm1 #16)
> EIP is at dump_trace+0x88/0x9e
> eax: 00000000   ebx: f412c01c   ecx: c0429344   edx: c03cf8fa
> BUG: unable to handle kernel paging request at virtual address 8d17ca6c
>  printing eip:
> c011d927
> *pde = 00000000
> esi: 0e200000   edi: c03daed2   ebp: f412bfd0   esp: f412bfc0
> ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> Process Xorg (pid: 2885, ti=f412a000 task=f4a58aa0 task.ti=f412c000)
> Stack: c7422ac0 c03daed2 00000011 00000000 f412bfe4 c0105312 c0429344 c03daed2
>        00000004 f412bff0 c0105a25 c03daed2 f412bffc c0105ae7 f412c008 f412c01c
> Call Trace:
>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>  [<c01053c4>] show_stack_log_lvl+0x9d/0xac
>  [<c01055c0>] show_registers+0x1ed/0x34c
>  [<c010583c>] die+0x11d/0x234
>  [<c011b8d1>] do_page_fault+0x47c/0x55b
>  [<c033aaac>] error_code+0x7c/0x84
>  [<c0105312>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105a25>] show_trace+0x12/0x14
>  [<c0105ae7>] dump_stack+0x16/0x18
>  [<c0106cc0>] do_IRQ+0x95/0xc1
> BUG: unable to handle kernel paging request at virtual address 0e200034

ooh, we broke lockdep.

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

* Re: [PATCH] shm:  Fix the locking and cleanup error handling in do_shmat.
  2007-02-16  0:04       ` [PATCH] shm: Fix the locking and cleanup error handling in do_shmat Eric W. Biederman
  2007-02-16  0:16         ` Michal Piotrowski
@ 2007-02-16  0:21         ` Michal Piotrowski
  2007-02-16  3:34           ` Eric W. Biederman
  1 sibling, 1 reply; 81+ messages in thread
From: Michal Piotrowski @ 2007-02-16  0:21 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Michal Piotrowski, Andrew Morton, linux-kernel

Eric W. Biederman napisał(a):
> When enhancing do_shmat I forgot to take into account that shm_lock
> is a spinlock, and was allocating memory with the lock held.
> 
> This patch fixes that by grabbing a reference to the dentry and
> mounts of shm_file before we drop the shm_lock and then performing
> the memory allocations.
> 
> This is also a bit of a general scrub on the error handling.
> Everything is now forced through the single return statement
> for clarity, and the handling of the return address now uses
> fewer casts.
> 
> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
> ---
>  ipc/shm.c |   56 ++++++++++++++++++++++++++++++++------------------------
>  1 files changed, 32 insertions(+), 24 deletions(-)
> 
> diff --git a/ipc/shm.c b/ipc/shm.c
> index e0b6544..26b935b 100644
> --- a/ipc/shm.c
> +++ b/ipc/shm.c
> @@ -815,15 +815,16 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	unsigned long flags;
>  	unsigned long prot;
>  	int acc_mode;
> -	void *user_addr;
> +	unsigned long user_addr;
>  	struct ipc_namespace *ns;
>  	struct shm_file_data *sfd;
> +	struct path path;
>  	mode_t f_mode;
>  
> -	if (shmid < 0) {
> -		err = -EINVAL;
> +	err = -EINVAL;
> +	if (shmid < 0)
>  		goto out;
> -	} else if ((addr = (ulong)shmaddr)) {
> +	else if ((addr = (ulong)shmaddr)) {
>  		if (addr & (SHMLBA-1)) {
>  			if (shmflg & SHM_RND)
>  				addr &= ~(SHMLBA-1);	   /* round down */
> @@ -831,12 +832,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  #ifndef __ARCH_FORCE_SHMLBA
>  				if (addr & ~PAGE_MASK)
>  #endif
> -					return -EINVAL;
> +					goto out;
>  		}
>  		flags = MAP_SHARED | MAP_FIXED;
>  	} else {
>  		if ((shmflg & SHM_REMAP))
> -			return -EINVAL;
> +			goto out;
>  
>  		flags = MAP_SHARED;
>  	}
> @@ -860,7 +861,6 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	 * additional creator id...
>  	 */
>  	ns = current->nsproxy->ipc_ns;
> -	err = -EINVAL;
>  	shp = shm_lock(ns, shmid);
>  	if(shp == NULL)
>  		goto out;
> @@ -877,19 +877,25 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	if (err)
>  		goto out_unlock;
>  
> +	path.dentry = dget(shp->shm_file->f_path.dentry);
> +	path.mnt    = mntget(shp->shm_file->f_path.mnt);
> +	shp->shm_nattch++;
> +	size = i_size_read(path.dentry->d_inode);
> +	shm_unlock(shp);
> +
>  	err = -ENOMEM;
>  	sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
>  	if (!sfd)
> -		goto out_unlock;
> +		goto out_put_path;

drivers/video/Kconfig:1606:warning: 'select' used by config symbol 'FB_PS3' refer to undefined symbol 'PS3_PS3AV'
/mnt/md0/devel/linux-mm/ipc/shm.c: In function 'do_shmat':
/mnt/md0/devel/linux-mm/ipc/shm.c:945: warning: passing argument 1 of 'IS_ERR' makes pointer from integer without a cast
/mnt/md0/devel/linux-mm/ipc/shm.c:946: warning: passing argument 1 of 'PTR_ERR' makes pointer from integer without a cast
/mnt/md0/devel/linux-mm/ipc/shm.c:931: warning: label 'out_nattch' defined but not used
/mnt/md0/devel/linux-mm/ipc/shm.c:890: error: label 'out_put_path' used but not defined
make[2]: *** [ipc/shm.o] Error 1
make[1]: *** [ipc] Error 2
make: *** [_all] Error 2


>  
> +	err = -ENOMEM;
>  	file = get_empty_filp();
>  	if (!file)
>  		goto out_free;
>  
>  	file->f_op = &shm_file_operations;
>  	file->private_data = sfd;
> -	file->f_path.dentry = dget(shp->shm_file->f_path.dentry);
> -	file->f_path.mnt = mntget(shp->shm_file->f_path.mnt);
> +	file->f_path = path;
>  	file->f_mapping = shp->shm_file->f_mapping;
>  	file->f_mode = f_mode;
>  	sfd->id = shp->id;
> @@ -897,13 +903,9 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  	sfd->file = shp->shm_file;
>  	sfd->vm_ops = NULL;
>  
> -	size = i_size_read(file->f_path.dentry->d_inode);
> -	shp->shm_nattch++;
> -	shm_unlock(shp);
> -
>  	down_write(&current->mm->mmap_sem);
>  	if (addr && !(shmflg & SHM_REMAP)) {
> -		user_addr = ERR_PTR(-EINVAL);
> +		err = -EINVAL;
>  		if (find_vma_intersection(current->mm, addr, addr + size))
>  			goto invalid;
>  		/*
> @@ -915,13 +917,17 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
>  			goto invalid;
>  	}
>  		
> -	user_addr = (void*) do_mmap (file, addr, size, prot, flags, 0);
> -
> +	user_addr = do_mmap (file, addr, size, prot, flags, 0);
> +	*raddr = user_addr;
> +	err = 0;
> +	if (IS_ERR_VALUE(user_addr))
> +		err = (long)user_addr;
>  invalid:
>  	up_write(&current->mm->mmap_sem);
> -
> +	
>  	fput(file);
>  
> +out_nattch:
>  	mutex_lock(&shm_ids(ns).mutex);
>  	shp = shm_lock(ns, shmid);
>  	BUG_ON(!shp);
> @@ -933,17 +939,19 @@ invalid:
>  		shm_unlock(shp);
>  	mutex_unlock(&shm_ids(ns).mutex);
>  
> -	*raddr = (unsigned long) user_addr;
> -	err = 0;
> -	if (IS_ERR(user_addr))
> -		err = PTR_ERR(user_addr);
>  out:
>  	return err;
> -out_free:
> -	kfree(sfd);
> +
>  out_unlock:
>  	shm_unlock(shp);
>  	goto out;
> +
> +out_free:
> +	kfree(sfd);
> +out_put_path:
> +	dput(path.dentry);
> +	mntput(path.mnt);
> +	goto out_nattch;
>  		
>  }
>  


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

* [PATCH] sparse chokes on arch/i386/kernel/i8253.c
  2007-02-15 22:41   ` Andrew Morton
  2007-02-15 22:46     ` Mathieu Desnoyers
@ 2007-02-16  0:23     ` Mathieu Desnoyers
  2007-02-16  0:37       ` Andrew Morton
  1 sibling, 1 reply; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-16  0:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

sparse chokes on arch/i386/kernel/i8253.c

Here is a marker fix that puts the correct -i include/linux/marker.h in
the top level Makefile so sparse works correctly. The tricky part is to
keep the kernel compiling correctly with a kernel build directory
different from the kernel source tree too.

The fix applies on top the the Linux Kernel Markers for 2.6.20.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

--- a/Makefile
+++ b/Makefile
@@ -309,7 +309,8 @@ AFLAGS_KERNEL	=
 LINUXINCLUDE    := -Iinclude \
                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
 		   -include include/linux/autoconf.h \
-		   -include linux/marker.h
+		   -include \
+		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
 
 CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [PATCH] sparse chokes on arch/i386/kernel/i8253.c
  2007-02-16  0:23     ` [PATCH] sparse chokes on arch/i386/kernel/i8253.c Mathieu Desnoyers
@ 2007-02-16  0:37       ` Andrew Morton
  2007-02-16  0:58         ` Mathieu Desnoyers
  0 siblings, 1 reply; 81+ messages in thread
From: Andrew Morton @ 2007-02-16  0:37 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Tilman Schmidt, linux-kernel

On Thu, 15 Feb 2007 19:23:47 -0500
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> sparse chokes on arch/i386/kernel/i8253.c
> 
> Here is a marker fix that puts the correct -i include/linux/marker.h in
> the top level Makefile so sparse works correctly. The tricky part is to
> keep the kernel compiling correctly with a kernel build directory
> different from the kernel source tree too.
> 
> The fix applies on top the the Linux Kernel Markers for 2.6.20.
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> 
> --- a/Makefile
> +++ b/Makefile
> @@ -309,7 +309,8 @@ AFLAGS_KERNEL	=
>  LINUXINCLUDE    := -Iinclude \
>                     $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
>  		   -include include/linux/autoconf.h \
> -		   -include linux/marker.h
> +		   -include \
> +		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
>  
>  CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)

But what is so magical about marker.h to justify special-case treatment at the
kbuid level?

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

* Re: sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-15 23:44       ` Andrew Morton
@ 2007-02-16  0:37         ` Mathieu Desnoyers
  2007-02-16  1:22           ` Andrew Morton
  0 siblings, 1 reply; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-16  0:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

* Andrew Morton (akpm@linux-foundation.org) wrote:
> On Thu, 15 Feb 2007 17:46:56 -0500
> Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> 
> > > Me too.  It's due to the linux-kernel-markers patches.  Mathieu, can you
> > > take a look please?
> > 
> > I will give a deeper look in sparse, but I should say up front that I
> > add this to the root build tree Makefile :
> > 
> > LINUXINCLUDE    := -Iinclude \
> >                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
> >                    -include include/linux/autoconf.h \
> >                    -include linux/marker.h
> > 
> > I guess sparse is maybe not using this Makefile or variable ?
> 
> ow, that's going to hurt - this stuff is complex and fragile.
> 

Sorry, I will remember to do more explicit changelogs.

> For what reason was that change made?
> 

It was made so that we can use the markers in C code without actually
including marker.h everywhere. I am sure someone has a better way to do
it : I would be happy to use this-nice-build-system-feature-I-missed to
have marker.h included.

> Pleeze, tricky things like this should be changelogged - we shouldn't need
> to ask.  I missed it.
> 
> 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [PATCH] sparse chokes on arch/i386/kernel/i8253.c
  2007-02-16  0:37       ` Andrew Morton
@ 2007-02-16  0:58         ` Mathieu Desnoyers
  2007-02-16  1:31           ` Andrew Morton
  0 siblings, 1 reply; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-16  0:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

* Andrew Morton (akpm@linux-foundation.org) wrote:
> On Thu, 15 Feb 2007 19:23:47 -0500
> Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> 
> > sparse chokes on arch/i386/kernel/i8253.c
> > 
> > Here is a marker fix that puts the correct -i include/linux/marker.h in
> > the top level Makefile so sparse works correctly. The tricky part is to
> > keep the kernel compiling correctly with a kernel build directory
> > different from the kernel source tree too.
> > 
> > The fix applies on top the the Linux Kernel Markers for 2.6.20.
> > 
> > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> > 
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -309,7 +309,8 @@ AFLAGS_KERNEL	=
> >  LINUXINCLUDE    := -Iinclude \
> >                     $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
> >  		   -include include/linux/autoconf.h \
> > -		   -include linux/marker.h
> > +		   -include \
> > +		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
> >  
> >  CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
> 
> But what is so magical about marker.h to justify special-case treatment at the
> kbuid level?

Idealistically speaking, nothing. It is however much easier to maintain
an external set of patches introducing markers within the kernel tree :
most of the rejects between kernel version comes from new includes that
comes in the way.

So this is there more by convenience than requirement.

Mathieu

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1)
  2007-02-16  0:37         ` Mathieu Desnoyers
@ 2007-02-16  1:22           ` Andrew Morton
  2007-02-16 18:05             ` [PATCH] Move include linux/marker.h to kernel.h Mathieu Desnoyers
  0 siblings, 1 reply; 81+ messages in thread
From: Andrew Morton @ 2007-02-16  1:22 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Tilman Schmidt, linux-kernel

On Thu, 15 Feb 2007 19:37:39 -0500
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> > For what reason was that change made?
> > 
> 
> It was made so that we can use the markers in C code without actually
> including marker.h everywhere. I am sure someone has a better way to do
> it : I would be happy to use this-nice-build-system-feature-I-missed to
> have marker.h included.

Oh.  One could whack it in kernel.h: pretty much everything includes that.

But it'd be better to simply require that the clients of this
infrastructure include the appropriate header file.  We do that for
everything else and markers aren't special in this regard.

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

* Re: [PATCH] sparse chokes on arch/i386/kernel/i8253.c
  2007-02-16  0:58         ` Mathieu Desnoyers
@ 2007-02-16  1:31           ` Andrew Morton
  0 siblings, 0 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-16  1:31 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Tilman Schmidt, linux-kernel

On Thu, 15 Feb 2007 19:58:04 -0500
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> > > 
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -309,7 +309,8 @@ AFLAGS_KERNEL	=
> > >  LINUXINCLUDE    := -Iinclude \
> > >                     $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
> > >  		   -include include/linux/autoconf.h \
> > > -		   -include linux/marker.h
> > > +		   -include \
> > > +		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
> > >  
> > >  CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
> > 
> > But what is so magical about marker.h to justify special-case treatment at the
> > kbuid level?
> 
> Idealistically speaking, nothing. It is however much easier to maintain
> an external set of patches introducing markers within the kernel tree :
> most of the rejects between kernel version comes from new includes that
> comes in the way.
> 
> So this is there more by convenience than requirement.

No sale.  Let's kill it, please ;)

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

* Re: [PATCH] shm:  Fix the locking and cleanup error handling in do_shmat.
  2007-02-16  0:21         ` Michal Piotrowski
@ 2007-02-16  3:34           ` Eric W. Biederman
  2007-02-16  4:10             ` Wu, Bryan
  0 siblings, 1 reply; 81+ messages in thread
From: Eric W. Biederman @ 2007-02-16  3:34 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel

> drivers/video/Kconfig:1606:warning: 'select' used by config symbol 'FB_PS3'
> refer to undefined symbol 'PS3_PS3AV'
> /mnt/md0/devel/linux-mm/ipc/shm.c: In function 'do_shmat':
> /mnt/md0/devel/linux-mm/ipc/shm.c:945: warning: passing argument 1 of 'IS_ERR'
> makes pointer from integer without a cast
> /mnt/md0/devel/linux-mm/ipc/shm.c:946: warning: passing argument 1 of 'PTR_ERR'
> makes pointer from integer without a cast
> /mnt/md0/devel/linux-mm/ipc/shm.c:931: warning: label 'out_nattch' defined but
> not used
> /mnt/md0/devel/linux-mm/ipc/shm.c:890: error: label 'out_put_path' used but not
> defined
> make[2]: *** [ipc/shm.o] Error 1
> make[1]: *** [ipc] Error 2
> make: *** [_all] Error 2

Definitely some weird  patch application problem.

All of the calls to IS_ERR and PTR_ERR should have been removed.
Michal since it didn't seem to blow up when Andrew applied it I'm
going to assume the problem is on your end for now.

Eric



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

* Re: [PATCH] shm:  Fix the locking and cleanup error handling in do_shmat.
  2007-02-16  3:34           ` Eric W. Biederman
@ 2007-02-16  4:10             ` Wu, Bryan
  0 siblings, 0 replies; 81+ messages in thread
From: Wu, Bryan @ 2007-02-16  4:10 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Michal Piotrowski, Andrew Morton, linux-kernel

On Thu, 2007-02-15 at 22:34 -0500, Eric W. Biederman wrote:
> > drivers/video/Kconfig:1606:warning: 'select' used by config symbol
> 'FB_PS3' 
> > refer to undefined symbol 'PS3_PS3AV' 
> > /mnt/md0/devel/linux-mm/ipc/shm.c: In function 'do_shmat': 
> > /mnt/md0/devel/linux-mm/ipc/shm.c:945: warning: passing argument 1
> of 'IS_ERR' 
> > makes pointer from integer without a cast 
> > /mnt/md0/devel/linux-mm/ipc/shm.c:946: warning: passing argument 1
> of 'PTR_ERR' 
> > makes pointer from integer without a cast 
> > /mnt/md0/devel/linux-mm/ipc/shm.c:931: warning: label 'out_nattch'
> defined but 
> > not used 
> > /mnt/md0/devel/linux-mm/ipc/shm.c:890: error: label 'out_put_path'
> used but not 
> > defined 
> > make[2]: *** [ipc/shm.o] Error 1 
> > make[1]: *** [ipc] Error 2 
> > make: *** [_all] Error 2
> 
> Definitely some weird  patch application problem.
> 
> All of the calls to IS_ERR and PTR_ERR should have been removed. 
> Michal since it didn't seem to blow up when Andrew applied it I'm 
> going to assume the problem is on your end for now.
> 
> Eric
> 

Hi Eric,

I am also troubling with the incorrect "nattch" value in do_shmat().
Actually, I found this bugs when I do some LTP testing on
blackfin-uClinux platform.
The "nattch" value returned from shmctl() system call is wrong. 

So I think your patch can solve this bug. But which version Linux kernel
is your patch applying for? 
I want to do some test on my blackfin-uClinux 2.6.20 platform.

Thanks
-Bryan    

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

* Re: 2.6.20-mm1
  2007-02-15 23:39     ` 2.6.20-mm1 J.A. Magallón
@ 2007-02-16  5:30       ` Andrew Morton
  2007-02-16 23:50         ` 2.6.20-mm1 J.A. Magallón
  0 siblings, 1 reply; 81+ messages in thread
From: Andrew Morton @ 2007-02-16  5:30 UTC (permalink / raw)
  To: J.A. =?ISO-8859-1?B?TWFnYWxs824i?= <jamagallon@ono.com>
  Cc: linux-kernel

On Fri, 16 Feb 2007 00:39:12 +0100 "J.A. Magallón" <jamagallon@ono.com> wrote:

> > > ee1394 usblp evdev
> > > CPU:    1
> > > EIP:    0060:[<c0195f12>]    Tainted: P       VLI
> > > EFLAGS: 00010246   (2.6.20-jam01 #1)
> > > EIP is at sysfs_lookup+0x5b/0x20a
> > > eax: f6707118   ebx: f6b33e5c   ecx: f6917d38   edx: 00000004
> > > esi: 00000000   edi: f670717c   ebp: f6b33e24   esp: f6997db4
> > > ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> > > Process udevd (pid: 3899, ti=f6996000 task=f7e34540 task.ti=f6996000)
> > > Stack: f66e1800 f6707118 c016da12 f66e1800 f6707118 c02f75c0 f6707118 f6997f04 
> > >        f6997e38 c0164238 f6997e44 c210d8c0 f6b39340 f6b393b4 f7a7d025 f6997e38 
> > >        27692f8b f6997f04 c0165a6a f7a7d01d 00000000 000200d2 c037ddac 00000286 
> > > Call Trace:
> > >  [<c016da12>] d_alloc+0x140/0x198
> > >  [<c0164238>] do_lookup+0x128/0x165
> > >  [<c0165a6a>] __link_path_walk+0x7e2/0xc9b
> > >  [<c0165f68>] link_path_walk+0x45/0xbf
> > >  [<c01661b6>] do_path_lookup+0x88/0x1cc
> > >  [<c0165125>] getname+0x90/0xad
> > >  [<c0166aa4>] __user_walk_fd+0x2f/0x47
> > >  [<c01607c4>] vfs_lstat_fd+0x16/0x3d
> > >  [<c0160830>] sys_lstat64+0xf/0x23
> > >  [<c0111904>] do_page_fault+0x326/0x5e2
> > >  [<c01115de>] do_page_fault+0x0/0x5e2
> > >  [<c010288e>] sysenter_past_esp+0x5f/0x85
> > >  [<c02f0000>] wait_for_completion_interruptible+0xdf/0xee
> > 
> > 
> > Oh dear.  Any one of about 700 developers might have caused this.
> > 
> > bisection-search will find this.  Can you upload the .config please?
> > 
> 
> Here it goes:
> 
> http://belly.cps.unizar.es/~magallon/oops/config-2.6.20-jam01

Nope, can't reproduce (the bug, that is).

Actually, the oops you have there is the fourth one, so we might be seeing
downstream effects of oops #1.  Can you please capture the first oops
trace?  Increasing the log buffer size or using netconsole might help.

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

* Re: [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix
  2007-02-15 23:56 ` [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix Jiri Slaby
  2007-02-16  0:10   ` Jiri Slaby
@ 2007-02-16 13:55   ` Oleg Nesterov
  1 sibling, 0 replies; 81+ messages in thread
From: Oleg Nesterov @ 2007-02-16 13:55 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Andrew Morton, linux-kernel

On 02/16, Jiri Slaby wrote:
> 
> unify queue_delayed_work and queue_delayed_work_on fix
> 
> Since cwq->wq is unset for other than singlethread_cpu when singlethread
> workqueue was created, an oops occurs during bootup.

And I thought I tested this...

>                                                       Fix it by setting
> correct private value for workqueue.

Thanks!!!

> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
> 
> ---
> commit 7bc281be5811f9b1dd01c25eaf492f4765737fd0
> tree 7795008066bb89e7489384cde95e63260602d5af
> parent 61c2024a2dd044e32747542cfbf4b22251df3bc2
> author Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100
> committer Jiri Slaby <jirislaby@gmail.com> Fri, 16 Feb 2007 00:49:15 +0100
> 
>  kernel/workqueue.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index f2089bf..af5e597 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -210,7 +210,8 @@ int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
>  
>  		/* This stores cwq for the moment, for the timer_fn */
>  		set_wq_data(work,
> -			per_cpu_ptr(wq->cpu_wq, raw_smp_processor_id()));
> +			per_cpu_ptr(wq->cpu_wq, wq->singlethread ?
> +				singlethread_cpu : raw_smp_processor_id()));
>  		timer->expires = jiffies + delay;
>  		timer->data = (unsigned long)dwork;
>  		timer->function = delayed_work_timer_fn;


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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 22:39     ` Christoph Lameter
@ 2007-02-16 14:30       ` James Morris
  0 siblings, 0 replies; 81+ messages in thread
From: James Morris @ 2007-02-16 14:30 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

On Thu, 15 Feb 2007, Christoph Lameter wrote:

> On Thu, 15 Feb 2007, Andrew Morton wrote:
> 
> > I don't immediately see why that code isn't racy: the page can remain
> > in the pagevec for arbitrary amounts of time and someone can come along
> > and mlock it again.  But given the ease with which you're hitting this,
> > it may not be a race.
> 
> As long as the page is on the pagevec it should be off the LRU. 
> Marking a page PageMlocked requires the page to be on the LRU. So a page 
> cannot be marked PageMlocked as long as it is on the regular pagevecs.
> 
> Somehow a page off the LRU was marked PageMlocked. Or a new anonymous page 
> was allocated and marked PageMlocked and then some later processing put it 
> onto the LRU?
> 
> Maybe try_to_set_mlocked does work some havoc here.
> 
> Could you see if this patch fixes it? This just disabled an optimization 
> to set PageMlocked early.

Nope, doesn't fix the problem.


> Index: linux-2.6.20-mm1/mm/memory.c
> ===================================================================
> --- linux-2.6.20-mm1.orig/mm/memory.c	2007-02-15 14:35:41.000000000 -0800
> +++ linux-2.6.20-mm1/mm/memory.c	2007-02-15 14:35:54.000000000 -0800
> @@ -930,6 +930,8 @@ static void try_to_set_mlocked(struct pa
>  	struct zone *zone;
>  	unsigned long flags;
>  
> +	return;
> +
>  	if (!PageLRU(page) || PageMlocked(page))
>  		return;
>  
> 

-- 
James Morris
<jmorris@namei.org>

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-15 21:51   ` Andrew Morton
  2007-02-15 22:39     ` Christoph Lameter
@ 2007-02-16 14:59     ` James Morris
  2007-02-16 15:57       ` Christoph Lameter
  1 sibling, 1 reply; 81+ messages in thread
From: James Morris @ 2007-02-16 14:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Christoph Lameter

On Thu, 15 Feb 2007, Andrew Morton wrote:

> That's
> 
>                 VM_BUG_ON(PageMlocked(page));
> 
> Setting CONFIG_DEBUG_VM=n will shut it up.
> 

Then, I get this reliably as ntpd starts up:

[   92.725346] ------------[ cut here ]------------
[   92.741162] kernel BUG at mm/swap.c:469!
[   92.755867] invalid opcode: 0000 [#1]
[   92.769975] PREEMPT SMP 
[   92.783289] last sysfs file: /devices/pnp0/00:00/id
[   92.798654] Modules linked in: sg pcspkr e1000
[   92.813994] CPU:    2
[   92.813995] EIP:    0060:[<c014e548>]    Not tainted VLI
[   92.813997] EFLAGS: 00010002   (2.6.20-mm1 #4)
[   92.856416] EIP is at __pagevec_lru_add_mlock+0x5e/0xcf
[   92.871671] eax: 8011006c   ebx: c1c057f8   ecx: c1fe063c   edx: 00000001
[   92.888445] esi: c03d3500   edi: c1c5e7c0   ebp: f6037f14   esp: f6037f04
[   92.905436] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
[   92.905443] Process ntpd (pid: 1582, ti=f6036000 task=c1fe00f0 task.ti=f6036000)
[   92.905446] Stack: 00000000 00000002 f606acb8 00000007 f6037f20 c014e7ff c1c5cf30 f6037f40 
[   92.905456]        c015a03f b7ce9000 f606acb8 f6037f40 c1c5cf20 f606acb8 f7ef2f00 f6037f70 
[   92.905466]        c0155acb b7cf0000 f6037f5c 00000000 f7316420 c1fd2180 00000000 c1c5cf20 
[   92.905475] Call Trace:
[   92.905478]  [<c010389a>] show_trace_log_lvl+0x1a/0x2f
[   92.905485]  [<c010394a>] show_stack_log_lvl+0x9b/0xaa
[   92.905492]  [<c0103b3f>] show_registers+0x1e6/0x325
[   92.905497]  [<c0103d9b>] die+0x11d/0x21c
[   92.905500]  [<c0103f13>] do_trap+0x79/0x91
[   92.905504]  [<c01047d9>] do_invalid_op+0x97/0xa1
[   92.905509]  [<c02f223c>] error_code+0x7c/0x84
[   92.905514]  [<c014e7ff>] lru_add_drain+0x57/0x8d
[   92.905519]  [<c015a03f>] free_pages_and_swap_cache+0x12/0x85
[   92.905526]  [<c0155acb>] unmap_region+0xfd/0x129
[   92.905530]  [<c0156404>] do_munmap+0x153/0x1b4
[   92.905534]  [<c015648a>] sys_munmap+0x25/0x34
[   92.905538]  [<c01028fc>] syscall_call+0x7/0xb
[   92.905542]  =======================
[   92.905544] Code: 74 1a 85 d2 74 0b 8d 82 80 05 00 00 e8 6a 3a 1a 00 8d 86 80 05 00 00 e8 7c 36 1a 00 8b 03 a9 00 00 10 00 74
 3f 8b 03 a8 20 74 04 <0f> 0b eb fe f0 0f ba 2b 05 f0 0f ba 33 14 f0 0f ba 2b 06 ba 03 

-- 
James Morris
<jmorris@namei.org>

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-16 14:59     ` James Morris
@ 2007-02-16 15:57       ` Christoph Lameter
  2007-02-16 21:28         ` James Morris
  0 siblings, 1 reply; 81+ messages in thread
From: Christoph Lameter @ 2007-02-16 15:57 UTC (permalink / raw)
  To: James Morris; +Cc: Andrew Morton, linux-kernel, Christoph Lameter

On Fri, 16 Feb 2007, James Morris wrote:

> Then, I get this reliably as ntpd starts up:
> [   92.905514]  [<c014e7ff>] lru_add_drain+0x57/0x8d
> [   92.905519]  [<c015a03f>] free_pages_and_swap_cache+0x12/0x85
> [   92.905526]  [<c0155acb>] unmap_region+0xfd/0x129
> [   92.905530]  [<c0156404>] do_munmap+0x153/0x1b4
> [   92.905534]  [<c015648a>] sys_munmap+0x25/0x34
> [   92.905538]  [<c01028fc>] syscall_call+0x7/0xb
> [   92.905542]  =======================
> [   92.905544] Code: 74 1a 85 d2 74 0b 8d 82 80 05 00 00 e8 6a 3a 1a 00 8d 86 80 05 00 00 e8 7c 36 1a 00 8b 03 a9 00 00 10 00 74
>  3f 8b 03 a8 20 74 04 <0f> 0b eb fe f0 0f ba 2b 05 f0 0f ba 33 14 f0 0f ba 2b 06 ba 03 

Andrew already has this fix which cures it for me. PG_mlocked pages can 
be freed in some situations and thus we need the correct handling in the 
page allocator:


Index: linux-2.6.20/include/linux/page-flags.h
===================================================================
--- linux-2.6.20.orig/include/linux/page-flags.h	2007-02-15 20:42:42.000000000 -0800
+++ linux-2.6.20/include/linux/page-flags.h	2007-02-15 20:43:33.000000000 -0800
@@ -261,6 +261,7 @@ static inline void SetPageUptodate(struc
 #define PageMlocked(page)	test_bit(PG_mlocked, &(page)->flags)
 #define SetPageMlocked(page)	set_bit(PG_mlocked, &(page)->flags)
 #define ClearPageMlocked(page)	clear_bit(PG_mlocked, &(page)->flags)
+#define __ClearPageMlocked(page) __clear_bit(PG_mlocked, &(page)->flags)
 
 struct page;	/* forward declaration */
 
Index: linux-2.6.20/mm/page_alloc.c
===================================================================
--- linux-2.6.20.orig/mm/page_alloc.c	2007-02-15 20:42:42.000000000 -0800
+++ linux-2.6.20/mm/page_alloc.c	2007-02-15 20:55:23.000000000 -0800
@@ -203,6 +203,7 @@ static void bad_page(struct page *page)
 			1 << PG_slab    |
 			1 << PG_swapcache |
 			1 << PG_writeback |
+			1 << PG_mlocked |
 			1 << PG_buddy );
 	set_page_count(page, 0);
 	reset_page_mapcount(page);
@@ -442,6 +443,11 @@ static inline int free_pages_check(struc
 		bad_page(page);
 	if (PageDirty(page))
 		__ClearPageDirty(page);
+	if (PageMlocked(page)) {
+		/* Page is unused so no need to take the lru lock */
+		__ClearPageMlocked(page);
+		dec_zone_page_state(page, NR_MLOCK);
+	}
 	/*
 	 * For now, we report if PG_reserved was found set, but do not
 	 * clear it, and do not free the page.  But we shall soon need
@@ -588,6 +594,7 @@ static int prep_new_page(struct page *pa
 			1 << PG_swapcache |
 			1 << PG_writeback |
 			1 << PG_reserved |
+			1 << PG_mlocked |
 			1 << PG_buddy ))))
 		bad_page(page);
 

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

* Re: 2.6.20-mm1
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (9 preceding siblings ...)
  2007-02-15 23:56 ` [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix Jiri Slaby
@ 2007-02-16 16:37 ` Steve Fox
  2007-02-16 16:55   ` 2.6.20-mm1 Randy Dunlap
  2007-02-16 16:41 ` [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1) Frederik Deweerdt
                   ` (14 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Steve Fox @ 2007-02-16 16:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

bl6-13, an x86_64 box listed on test.kernel.org, tripped on this during
an LTP run, even with
unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch applied. 

I'm not sure why the LTP results aren't copied over to TKO, but here's
the details anyway.

If someone can give me an idea where to look, I can start a bi-sect if
it would help.

kernel BUG at mm/swap.c:469!
invalid opcode: 0000 [1] SMP 
last sysfs file: /devices/system/node/node0/cpumap
CPU 1 
Modules linked in: hidp rfcomm l2cap bluetooth sunrpc ipv6 video button battery asus_acpi ac lp parport_pc parport nvram pcspkr amd_rng rng_core i2c_amd756 i2c_core
Pid: 19380, comm: mlockall01 Not tainted 2.6.20-mm1-autokern1 #1
RIP: 0010:[<ffffffff8026e007>]  [<ffffffff8026e007>] __pagevec_lru_add_mlock+0x6f/0x108
RSP: 0018:ffff810022d0fdd8  EFLAGS: 00010002
RAX: 000000000011006c RBX: ffff81003ff41000 RCX: ffff81003ff40dc0
RDX: 0000000000000000 RSI: ffff810026df36b8 RDI: ffff81000000c480
RBP: ffff81000000bb00 R08: ffff8100212f0e40 R09: ffff81003ee13d84
R10: 0000000000000286 R11: 0000000000000246 R12: ffff81000502aae0
R13: 0000000000000000 R14: ffff81000501fd20 R15: 00000036d491a000
FS:  00002b212329b1e0(0000) GS:ffff81003ee13cc0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002b2123283000 CR3: 0000000023fba000 CR4: 00000000000006e0
Process mlockall01 (pid: 19380, threadinfo ffff810022d0e000, task ffff81002ccdc080)
Stack:  ffff8100212f0e40 ffff81003ff7a1c0 000000003eb47020 00000036d490e000
 ffff810031d31870 ffffffff8027387a 0000000000000000 ffff810022d0fed8
 ffffffffffffffff 0000000000000000 ffff810026df36b8 ffff810022d0fee0
Call Trace:
 [<ffffffff8027387a>] unmap_vmas+0x43c/0x760
 [<ffffffff802774fc>] exit_mmap+0x78/0xed
 [<ffffffff80230ca3>] mmput+0x45/0xb8
 [<ffffffff80235ee7>] do_exit+0x23d/0x811
 [<ffffffff80236537>] sys_exit_group+0x0/0xe
 [<ffffffff80209b6e>] system_call+0x7e/0x83


Code: 0f 0b eb fe f0 0f ba 2b 05 f0 0f ba 33 14 f0 0f ba 2b 06 be 
RIP  [<ffffffff8026e007>] __pagevec_lru_add_mlock+0x6f/0x108
 RSP <ffff810022d0fdd8>
Fixing recursive fault but reboot is needed!
BUG: spinlock lockup on CPU#3, syslogd/19381, ffff81000000c480

Call Trace:
 [<ffffffff80330047>] _raw_spin_lock+0xcf/0xf6
 [<ffffffff8026e100>] __pagevec_lru_add_active+0x60/0xe3
 [<ffffffff8027312f>] do_wp_page+0x3d8/0x485
 [<ffffffff80274a5d>] __handle_mm_fault+0x96d/0x9e2
 [<ffffffff804d1876>] do_page_fault+0x42b/0x7b1
 [<ffffffff80246af3>] lock_hrtimer_base+0x1b/0x3c
 [<ffffffff804cf801>] _spin_unlock_irq+0x9/0xc
 [<ffffffff8023c175>] do_sigaction+0x16b/0x17f
 [<ffffffff80236c29>] do_setitimer+0x18e/0x336
 [<ffffffff804cfc2d>] error_exit+0x0/0x84

-- 0:conmux-control -- time-stamp -- Feb/16/07  4:13:11 --
-- 0:conmux-control -- time-stamp -- Feb/16/07  5:22:45 --
BUG: spinlock lockup on CPU#0, portmap/1699, ffff81000000c480

Call Trace:
 [<ffffffff80330047>] _raw_spin_lock+0xcf/0xf6
 [<ffffffff8026e1e4>] __pagevec_lru_add+0x61/0xe0
 [<ffffffff8026e3aa>] __lru_add_drain+0x24/0x7e
 [<ffffffff80277324>] unmap_region+0x41/0x12c
 [<ffffffff8027808d>] do_munmap+0x1f9/0x276
 [<ffffffff804cf1e0>] __down_write_nested+0x34/0x9e
 [<ffffffff8027814a>] sys_munmap+0x40/0x5a
 [<ffffffff80209b6e>] system_call+0x7e/0x83

-- 

Steve Fox
IBM Linux Technology Center


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

* [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1)
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (10 preceding siblings ...)
  2007-02-16 16:37 ` 2.6.20-mm1 Steve Fox
@ 2007-02-16 16:41 ` Frederik Deweerdt
  2007-02-15 23:50   ` Andrew Morton
  2007-02-16 17:14 ` 2.6.20-mm1 - undefined reference to `delete_module' on x86 Steve Fox
                   ` (13 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Frederik Deweerdt @ 2007-02-16 16:41 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, torvalds, viro

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
> 
> Temporarily at
> 
>   http://userweb.kernel.org/~akpm/2.6.20-mm1/
> 
Hi,

It appears that the pcim_iomap_regions() function doesn't get the error
handling right. It BUGs early at boot with a backtrace along the lines of:

ahci_init
pci_register_driver
driver_register
[...]
ahci_init_one
pcim_iomap_region
pcim_iounmap

The following patch allows me to boot. Only the if(mask..) continue;
part fixes the problem actually, the gotos where changed so that we
don't try to unmap something we couldn't map anyway.

Regards,
Frederik

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>


diff --git a/lib/devres.c b/lib/devres.c
index 2a668dd..eb38849 100644
--- a/lib/devres.c
+++ b/lib/devres.c
@@ -274,21 +274,21 @@ int pcim_iomap_regions(struct pci_dev *pdev, u16 mask, const char *name)
 
 		rc = pci_request_region(pdev, i, name);
 		if (rc)
-			goto err_region;
+			goto err_inval;
 
 		rc = -ENOMEM;
 		if (!pcim_iomap(pdev, i, 0))
-			goto err_iomap;
+			goto err_region;
 	}
 
 	return 0;
 
- err_iomap:
-	pcim_iounmap(pdev, iomap[i]);
  err_region:
 	pci_release_region(pdev, i);
  err_inval:
 	while (--i >= 0) {
+		if (!(mask & (1 << i)))
+			continue;
 		pcim_iounmap(pdev, iomap[i]);
 		pci_release_region(pdev, i);
 	}

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

* Re: 2.6.20-mm1
  2007-02-16 16:37 ` 2.6.20-mm1 Steve Fox
@ 2007-02-16 16:55   ` Randy Dunlap
  2007-02-19 16:10     ` 2.6.20-mm1 Steve Fox
  0 siblings, 1 reply; 81+ messages in thread
From: Randy Dunlap @ 2007-02-16 16:55 UTC (permalink / raw)
  To: Steve Fox; +Cc: Andrew Morton, linux-kernel

On Fri, 16 Feb 2007 10:37:12 -0600 Steve Fox wrote:

> bl6-13, an x86_64 box listed on test.kernel.org, tripped on this during
> an LTP run, even with
> unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch applied. 
> 
> I'm not sure why the LTP results aren't copied over to TKO, but here's
> the details anyway.
> 
> If someone can give me an idea where to look, I can start a bi-sect if
> it would help.
> 
> kernel BUG at mm/swap.c:469!
> invalid opcode: 0000 [1] SMP 
> last sysfs file: /devices/system/node/node0/cpumap


Try this patch?  http://lkml.org/lkml/2007/2/16/220


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: 2.6.20-mm1 - undefined reference to `delete_module' on x86
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (11 preceding siblings ...)
  2007-02-16 16:41 ` [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1) Frederik Deweerdt
@ 2007-02-16 17:14 ` Steve Fox
  2007-02-16 18:37   ` Andrew Morton
  2007-02-20  0:02 ` [-mm patch] make struct vmi_ops static Adrian Bunk
                   ` (12 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Steve Fox @ 2007-02-16 17:14 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Full log at
http://test.kernel.org/abat/71719/debug/test.log.0
Config at
http://test.kernel.org/abat/71719/build/dotconfig

  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o(.text+0x1426a): In function `store_mod_unload':
kernel/kmod.c:168: undefined reference to `delete_module'
make: *** [.tmp_vmlinux1] Error 1

-- 

Steve Fox
IBM Linux Technology Center


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

* [PATCH] Move include linux/marker.h to kernel.h
  2007-02-16  1:22           ` Andrew Morton
@ 2007-02-16 18:05             ` Mathieu Desnoyers
  2007-02-16 18:43               ` Andrew Morton
  0 siblings, 1 reply; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-16 18:05 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

Move include linux/marker.h to kernel.h

* Andrew Morton (akpm@linux-foundation.org) wrote:
> Oh.  One could whack [include linux/marker.h] in kernel.h: pretty
> much everything includes that.
> 
> But it'd be better to simply require that the clients of this
> infrastructure include the appropriate header file.  We do that for
> everything else and markers aren't special in this regard.

It seems like the logical solution. This patch moves this include from
Makefile to include/linux/kernel.h.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

--- a/Makefile
+++ b/Makefile
@@ -308,9 +308,7 @@ AFLAGS_KERNEL	=
 # Needed to be compatible with the O= option
 LINUXINCLUDE    := -Iinclude \
                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
-		   -include include/linux/autoconf.h \
-		   -include \
-		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
+		   -include include/linux/autoconf.h
 
 CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
 
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -14,6 +14,7 @@
 #include <linux/compiler.h>
 #include <linux/bitops.h>
 #include <linux/log2.h>
+#include <linux/marker.h>
 #include <asm/byteorder.h>
 #include <asm/bug.h>
 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: 2.6.20-mm1 - undefined reference to `delete_module' on x86
  2007-02-16 17:14 ` 2.6.20-mm1 - undefined reference to `delete_module' on x86 Steve Fox
@ 2007-02-16 18:37   ` Andrew Morton
  0 siblings, 0 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-16 18:37 UTC (permalink / raw)
  To: Steve Fox; +Cc: linux-kernel

On Fri, 16 Feb 2007 11:14:17 -0600 Steve Fox <drfickle@linux.vnet.ibm.com> wrote:

> Full log at
> http://test.kernel.org/abat/71719/debug/test.log.0
> Config at
> http://test.kernel.org/abat/71719/build/dotconfig
> 
>   CHK     include/linux/compile.h
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> kernel/built-in.o(.text+0x1426a): In function `store_mod_unload':
> kernel/kmod.c:168: undefined reference to `delete_module'
> make: *** [.tmp_vmlinux1] Error 1
> 

Yes, sorry.  I believe Greg now has a replacement patch which fixes that up.

I think the workaround is CONFIG_MODULE_UNLOAD=y (or
CONFIG_MODULE_FORCE_UNLOAD=y).

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

* Re: [PATCH] Move include linux/marker.h to kernel.h
  2007-02-16 18:05             ` [PATCH] Move include linux/marker.h to kernel.h Mathieu Desnoyers
@ 2007-02-16 18:43               ` Andrew Morton
  2007-02-16 18:52                 ` [PATCH] Move include linux/marker.h from Makefile Mathieu Desnoyers
  2007-02-17 12:50                 ` [PATCH] Move include linux/marker.h to kernel.h Tim Schmielau
  0 siblings, 2 replies; 81+ messages in thread
From: Andrew Morton @ 2007-02-16 18:43 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Tilman Schmidt, linux-kernel

On Fri, 16 Feb 2007 13:05:13 -0500 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> Move include linux/marker.h to kernel.h
> 
> * Andrew Morton (akpm@linux-foundation.org) wrote:
> > Oh.  One could whack [include linux/marker.h] in kernel.h: pretty
> > much everything includes that.
> > 
> > But it'd be better to simply require that the clients of this
> > infrastructure include the appropriate header file.  We do that for
> > everything else and markers aren't special in this regard.
> 
> It seems like the logical solution. This patch moves this include from
> Makefile to include/linux/kernel.h.
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> 
> --- a/Makefile
> +++ b/Makefile
> @@ -308,9 +308,7 @@ AFLAGS_KERNEL	=
>  # Needed to be compatible with the O= option
>  LINUXINCLUDE    := -Iinclude \
>                     $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
> -		   -include include/linux/autoconf.h \
> -		   -include \
> -		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
> +		   -include include/linux/autoconf.h
>  
>  CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
>  
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -14,6 +14,7 @@
>  #include <linux/compiler.h>
>  #include <linux/bitops.h>
>  #include <linux/log2.h>
> +#include <linux/marker.h>
>  #include <asm/byteorder.h>
>  #include <asm/bug.h>

No, that's still crufty.  There's no reason why marker.h needs special
treatment whereas, say, jiffies.h does not (is there?)

It is conventional and reasonable to require that any code which uses this
mechanism must include its header file.


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

* Re: [PATCH] Move include linux/marker.h from Makefile
  2007-02-16 18:43               ` Andrew Morton
@ 2007-02-16 18:52                 ` Mathieu Desnoyers
  2007-02-17 12:50                 ` [PATCH] Move include linux/marker.h to kernel.h Tim Schmielau
  1 sibling, 0 replies; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-16 18:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tilman Schmidt, linux-kernel

* Andrew Morton (akpm@linux-foundation.org) wrote:
> No, that's still crufty.  There's no reason why marker.h needs special
> treatment whereas, say, jiffies.h does not (is there?)
> 
> It is conventional and reasonable to require that any code which uses this
> mechanism must include its header file.
> 

Ok, let's simply revert it then (and update the documentation
accordingly in a following patch).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

--- a/Makefile
+++ b/Makefile
@@ -308,9 +308,7 @@ AFLAGS_KERNEL	=
 # Needed to be compatible with the O= option
 LINUXINCLUDE    := -Iinclude \
                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
-		   -include include/linux/autoconf.h \
-		   -include \
-		   	$(if $(KBUILD_SRC),$(srctree)/)include/linux/marker.h
+		   -include include/linux/autoconf.h
 
 CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
 
-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: 2.6.20-mm1 [kernel BUG at mm/swap.c:442]
  2007-02-16 15:57       ` Christoph Lameter
@ 2007-02-16 21:28         ` James Morris
  0 siblings, 0 replies; 81+ messages in thread
From: James Morris @ 2007-02-16 21:28 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel, Christoph Lameter

On Fri, 16 Feb 2007, Christoph Lameter wrote:

> Andrew already has this fix which cures it for me. PG_mlocked pages can 
> be freed in some situations and thus we need the correct handling in the 
> page allocator:

Works for me.


- James
-- 
James Morris
<jmorris@namei.org>

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

* Re: 2.6.20-mm1
  2007-02-16  5:30       ` 2.6.20-mm1 Andrew Morton
@ 2007-02-16 23:50         ` J.A. Magallón
  0 siblings, 0 replies; 81+ messages in thread
From: J.A. Magallón @ 2007-02-16 23:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, 15 Feb 2007 21:30:06 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:

> 
> Nope, can't reproduce (the bug, that is).
> 
> Actually, the oops you have there is the fourth one, so we might be seeing
> downstream effects of oops #1.  Can you please capture the first oops
> trace?  Increasing the log buffer size or using netconsole might help.

Well, forget it. Booting without the nVidia driver makes the oopses go away.
I looks like nvidia is doing something strange with the i2c interface.
D**d closed source drivers...

--
J.A. Magallon <jamagallon()ono!com>     \               Software is like sex:
                                         \         It's better when it's free
Mandriva Linux release 2007.1 (Cooker) for i586
Linux 2.6.19-jam07 (gcc 4.1.2 20070115 (prerelease) (4.1.2-0.20070115.1mdv2007.1)) #2 SMP PREEMPT

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

* Re: [PATCH] Move include linux/marker.h to kernel.h
  2007-02-16 18:43               ` Andrew Morton
  2007-02-16 18:52                 ` [PATCH] Move include linux/marker.h from Makefile Mathieu Desnoyers
@ 2007-02-17 12:50                 ` Tim Schmielau
  1 sibling, 0 replies; 81+ messages in thread
From: Tim Schmielau @ 2007-02-17 12:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Mathieu Desnoyers, Tilman Schmidt, linux-kernel

On Fri, 16 Feb 2007, Andrew Morton wrote:

> No, that's still crufty.  There's no reason why marker.h needs special
> treatment whereas, say, jiffies.h does not (is there?)

Unforunately, even jiffies.h gets special treatment. sched.h still 
includes jiffies.h, as this is where it was originally defined.

I've had that on my to-do list for some years now, but unfortunately it 
will probably remain there for some more.
Somebody else who wants to check all files for properly including 
jiffies.h and then remove the include from sched.h?

Thanks,
Tim

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

* Re: 2.6.20-mm1
  2007-02-16 16:55   ` 2.6.20-mm1 Randy Dunlap
@ 2007-02-19 16:10     ` Steve Fox
  0 siblings, 0 replies; 81+ messages in thread
From: Steve Fox @ 2007-02-19 16:10 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

On Fri, 2007-02-16 at 08:55 -0800, Randy Dunlap wrote:
> On Fri, 16 Feb 2007 10:37:12 -0600 Steve Fox wrote:
> 
> > bl6-13, an x86_64 box listed on test.kernel.org, tripped on this during
> > an LTP run, even with
> > unify-queue_delayed_work-and-queue_delayed_work_on-fix.patch applied. 
> > 
> > I'm not sure why the LTP results aren't copied over to TKO, but here's
> > the details anyway.
> > 
> > If someone can give me an idea where to look, I can start a bi-sect if
> > it would help.
> > 
> > kernel BUG at mm/swap.c:469!
> > invalid opcode: 0000 [1] SMP 
> > last sysfs file: /devices/system/node/node0/cpumap
> 
> 
> Try this patch?  http://lkml.org/lkml/2007/2/16/220

That fixed it. Thanks.

-- 

Steve Fox
IBM Linux Technology Center


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

* [-mm patch] make struct vmi_ops static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (12 preceding siblings ...)
  2007-02-16 17:14 ` 2.6.20-mm1 - undefined reference to `delete_module' on x86 Steve Fox
@ 2007-02-20  0:02 ` Adrian Bunk
  2007-02-20  0:02 ` [-mm patch] marker exports must be EXPORT_SYMBOL_GPL Adrian Bunk
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:02 UTC (permalink / raw)
  To: Andrew Morton, Zachary Amsden; +Cc: linux-kernel, Andi Kleen

This patch makes the needlessly global struct vmi_ops static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm1/arch/i386/kernel/vmi.c.old	2007-02-16 14:26:50.000000000 +0100
+++ linux-2.6.20-mm1/arch/i386/kernel/vmi.c	2007-02-16 14:27:00.000000000 +0100
@@ -56,7 +56,7 @@
 static int disable_mtrr;
 
 /* Cached VMI operations */
-struct {
+static struct {
 	void (*cpuid)(void /* non-c */);
 	void (*_set_ldt)(u32 selector);
 	void (*set_tr)(u32 selector);


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

* [-mm patch] marker exports must be EXPORT_SYMBOL_GPL
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (13 preceding siblings ...)
  2007-02-20  0:02 ` [-mm patch] make struct vmi_ops static Adrian Bunk
@ 2007-02-20  0:02 ` Adrian Bunk
  2007-02-20 23:15   ` Mathieu Desnoyers
  2007-02-20  0:07 ` [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization Adrian Bunk
                   ` (10 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:02 UTC (permalink / raw)
  To: Andrew Morton, Mathieu Desnoyers; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> - Added the Linux Kernel Markers code.  No idea how to use it and it
>   seems we're not to be told.
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +linux-kernel-markers-kconfig-menus.patch
> +linux-kernel-markers-architecture-independant-code.patch
> +linux-kernel-markers-powerpc-optimization.patch
> +linux-kernel-markers-i386-optimization.patch
> +linux-kernel-markers-non-optimized-architectures.patch
> 
>  Linux Kenrel Markers
>...


This is definitely functionality illegal modules have no business to 
use.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 arch/i386/kernel/marker.c |    2 +-
 kernel/module.c           |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

--- linux-2.6.20-mm1/kernel/module.c.old	2007-02-15 16:02:09.000000000 +0100
+++ linux-2.6.20-mm1/kernel/module.c	2007-02-15 16:03:08.000000000 +0100
@@ -304,7 +304,7 @@
 void __mark_empty_function(const char *fmt, ...)
 {
 }
-EXPORT_SYMBOL(__mark_empty_function);
+EXPORT_SYMBOL_GPL(__mark_empty_function);
 
 #ifdef MARK_POLYMORPHIC
 static int marker_set_ins_enable(void *address, char enable)
@@ -461,7 +461,7 @@
 	mutex_unlock(&module_mutex);
 	return found;
 }
-EXPORT_SYMBOL(marker_set_probe);
+EXPORT_SYMBOL_GPL(marker_set_probe);
 
 int marker_remove_probe(marker_probe_func *probe)
 {
@@ -481,7 +481,7 @@
 	mutex_unlock(&module_mutex);
 	return found;
 }
-EXPORT_SYMBOL(marker_remove_probe);
+EXPORT_SYMBOL_GPL(marker_remove_probe);
 
 int marker_list_probe(marker_probe_func *probe)
 {
@@ -505,7 +505,7 @@
 	mutex_unlock(&module_mutex);
 	return found;
 }
-EXPORT_SYMBOL(marker_list_probe);
+EXPORT_SYMBOL_GPL(marker_list_probe);
 #endif
 
 #ifdef CONFIG_SMP
@@ -2510,7 +2510,7 @@
 	}
 	mutex_unlock(&module_mutex);
 }
-EXPORT_SYMBOL(list_modules);
+EXPORT_SYMBOL_GPL(list_modules);
 
 /* Given an address, look for it in the module exception tables. */
 const struct exception_table_entry *search_module_extables(unsigned long addr)
--- linux-2.6.20-mm1/arch/i386/kernel/marker.c.old	2007-02-15 16:03:22.000000000 +0100
+++ linux-2.6.20-mm1/arch/i386/kernel/marker.c	2007-02-15 16:03:34.000000000 +0100
@@ -90,4 +90,4 @@
 	flush_icache_range(address, size);
 	return 0;
 }
-EXPORT_SYMBOL(arch_marker_set_ins_enable);
+EXPORT_SYMBOL_GPL(arch_marker_set_ins_enable);






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

* [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (14 preceding siblings ...)
  2007-02-20  0:02 ` [-mm patch] marker exports must be EXPORT_SYMBOL_GPL Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:14   ` Dave Jones
  2007-02-20  0:07 ` [-mm patch] drivers/net/vioc/: possible cleanups Adrian Bunk
                   ` (9 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, Alexey Dobriyan; +Cc: linux-kernel, Dave Jones

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +rdmsr_on_cpu-wrmsr_on_cpu.patch
>...
>  x86 updates
>...

Let's save a few bytes in the CONFIG_SMP=n case.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

BTW: currently -ENOUSERS

 arch/i386/lib/Makefile     |    2 +-
 arch/i386/lib/msr-on-cpu.c |   12 ------------
 arch/x86_64/lib/Makefile   |    3 ++-
 include/asm-i386/msr.h     |   11 +++++++++++
 include/asm-x86_64/msr.h   |   11 +++++++++++
 5 files changed, 25 insertions(+), 14 deletions(-)

--- linux-2.6.20-mm1/arch/i386/lib/Makefile.old	2007-02-16 14:13:20.000000000 +0100
+++ linux-2.6.20-mm1/arch/i386/lib/Makefile	2007-02-16 14:14:22.000000000 +0100
@@ -8,4 +8,4 @@
 
 lib-$(CONFIG_X86_USE_3DNOW) += mmx.o
 
-obj-y = msr-on-cpu.o
+obj-$(CONFIG_SMP)	+= msr-on-cpu.o
--- linux-2.6.20-mm1/arch/x86_64/lib/Makefile.old	2007-02-16 14:13:52.000000000 +0100
+++ linux-2.6.20-mm1/arch/x86_64/lib/Makefile	2007-02-16 14:14:14.000000000 +0100
@@ -4,7 +4,8 @@
 
 CFLAGS_csum-partial.o := -funroll-loops
 
-obj-y := io.o iomap_copy.o msr-on-cpu.o
+obj-y := io.o iomap_copy.o
+obj-$(CONFIG_SMP)	+= msr-on-cpu.o
 
 lib-y := csum-partial.o csum-copy.o csum-wrappers.o delay.o \
 	usercopy.o getuser.o putuser.o  \
--- linux-2.6.20-mm1/include/asm-i386/msr.h.old	2007-02-16 14:14:43.000000000 +0100
+++ linux-2.6.20-mm1/include/asm-i386/msr.h	2007-02-16 14:16:00.000000000 +0100
@@ -83,8 +83,19 @@
 			  : "c" (counter))
 #endif	/* !CONFIG_PARAVIRT */
 
+#ifdef CONFIG_SMP
 void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
+#else  /*  CONFIG_SMP  */
+static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
+{
+	rdmsr(msr_no, *l, *h);
+}
+static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
+{
+	wrmsr(msr_no, l, h);
+}
+#endif  /*  CONFIG_SMP  */
 
 /* symbolic names for some interesting MSRs */
 /* Intel defined MSRs. */
--- linux-2.6.20-mm1/include/asm-x86_64/msr.h.old	2007-02-16 14:16:12.000000000 +0100
+++ linux-2.6.20-mm1/include/asm-x86_64/msr.h	2007-02-16 14:16:50.000000000 +0100
@@ -160,8 +160,19 @@
 #define MSR_IA32_UCODE_WRITE		0x79
 #define MSR_IA32_UCODE_REV		0x8b
 
+#ifdef CONFIG_SMP
 void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
+#else  /*  CONFIG_SMP  */
+static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
+{
+	rdmsr(msr_no, *l, *h);
+}
+static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
+{
+	wrmsr(msr_no, l, h);
+}
+#endif  /*  CONFIG_SMP  */
 
 #endif
 
--- linux-2.6.20-mm1/arch/i386/lib/msr-on-cpu.c.old	2007-02-16 14:17:06.000000000 +0100
+++ linux-2.6.20-mm1/arch/i386/lib/msr-on-cpu.c	2007-02-16 14:17:49.000000000 +0100
@@ -3,7 +3,6 @@
 #include <linux/smp.h>
 #include <asm/msr.h>
 
-#ifdef CONFIG_SMP
 struct msr_info {
 	u32 msr_no;
 	u32 l, h;
@@ -54,17 +53,6 @@
 	}
 	preempt_enable();
 }
-#else
-void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
-{
-	rdmsr(msr_no, *l, *h);
-}
-
-void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
-{
-	wrmsr(msr_no, l, h);
-}
-#endif
 
 EXPORT_SYMBOL(rdmsr_on_cpu);
 EXPORT_SYMBOL(wrmsr_on_cpu);

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

* [-mm patch] drivers/net/vioc/: possible cleanups
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (15 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:07 ` [-mm patch] make dvb_usb_gl861_debug static Adrian Bunk
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, Sriram Chidambaram, jgarzik; +Cc: linux-kernel, netdev

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +Fabric7-VIOC-driver.patch
>...
>  netdev stuff
>...


This patch contains the following possible cleanups:
- remove dead #ifdef EXPORT_SYMTAB code
- no "inline" functions in C files - gcc knows best whether or not to
  inline static functions
- move the vioc_ethtool_ops prototype to a header file
- make needlessly global code static
- #if 0 unused code
- vioc_irq.c: remove the unused vioc_driver_lock

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 drivers/net/vioc/f7/sppapi.h      |    2 -
 drivers/net/vioc/khash.h          |   10 -----
 drivers/net/vioc/spp.c            |   60 +++++++++++++++++++-----------
 drivers/net/vioc/vioc_api.c       |    5 ++
 drivers/net/vioc/vioc_api.h       |    3 +
 drivers/net/vioc/vioc_driver.c    |    3 -
 drivers/net/vioc/vioc_ethtool.c   |    2 -
 drivers/net/vioc/vioc_irq.c       |    9 +---
 drivers/net/vioc/vioc_provision.c |   16 +++++---
 drivers/net/vioc/vioc_receive.c   |    2 -
 drivers/net/vioc/vioc_spp.c       |    6 +--
 drivers/net/vioc/vioc_transmit.c  |   40 +++++++++++---------
 12 files changed, 85 insertions(+), 73 deletions(-)

--- linux-2.6.20-mm1/drivers/net/vioc/vioc_driver.c.old	2007-02-18 01:14:31.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_driver.c	2007-02-18 01:14:35.000000000 +0100
@@ -868,6 +868,3 @@
 module_init(vioc_module_init);
 module_exit(vioc_module_exit);
 
-#ifdef EXPORT_SYMTAB
-EXPORT_SYMBOL(vioc_viocdev);
-#endif				/* EXPORT_SYMTAB */
--- linux-2.6.20-mm1/drivers/net/vioc/khash.h.old	2007-02-18 01:16:28.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/khash.h	2007-02-18 01:25:29.000000000 +0100
@@ -52,14 +52,4 @@
 };
 
 
-struct shash_t  *hashT_create(u32, size_t, size_t, u32(*)(unsigned char *, unsigned long), int(*)(void *, void *), unsigned int);
-int hashT_delete(struct shash_t * , void *);
-struct hash_elem_t *hashT_lookup(struct shash_t * , void *);
-struct hash_elem_t *hashT_add(struct shash_t *, void *);
-void hashT_destroy(struct shash_t *);
-/* Accesors */
-void **hashT_getkeys(struct shash_t *);
-size_t hashT_tablesize(struct shash_t *);
-size_t hashT_size(struct shash_t *);
-
 #endif
--- linux-2.6.20-mm1/drivers/net/vioc/f7/sppapi.h.old	2007-02-18 01:26:44.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/f7/sppapi.h	2007-02-18 01:26:57.000000000 +0100
@@ -234,7 +234,5 @@
 
 extern void spp_msg_unregister(u32 key_facility);
 
-extern int read_spp_regbank32(int vioc, int bank, char *buffer);
-
 #endif /* _SPPAPI_H_ */
 
--- linux-2.6.20-mm1/drivers/net/vioc/spp.c.old	2007-02-18 01:19:34.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/spp.c	2007-02-18 01:27:13.000000000 +0100
@@ -50,6 +50,15 @@
   c -= a; c -= b; c ^= (b >> 15); \
 }
 
+static struct hash_elem_t *hashT_add(struct shash_t *htable, void *key);
+static struct shash_t *hashT_create(u32 sizehint, size_t keybuf_size,
+                                    size_t databuf_size,
+                                    u32(*hfunc) (unsigned char *,
+						 unsigned long),
+                                    int (*cfunc) (void *, void *),
+                                    unsigned int flags);
+static void hashT_destroy(struct shash_t *htable);
+static struct hash_elem_t *hashT_lookup(struct shash_t *htable, void *key);
 
 struct shash_t {
 	/* Common fields for all hash tables types */
@@ -65,7 +74,9 @@
 };
 
 struct hash_ops {
+#if 0
 	int (*delete) (struct shash_t *, void *);
+#endif  /*  0  */
 	struct hash_elem_t *(*lookup) (struct shash_t *, void *);
 	void (*destroy) (struct shash_t *);
 	struct hash_elem_t *(*add) (struct shash_t *, void *);
@@ -143,6 +154,7 @@
 	return ((htable->hash_fn(key, len)) & (htable->tsize - 1));
 }
 
+#if 0
 /* Data associated to this key MUST be freed by the caller */
 static int ch_delete(struct shash_t *htable, void *key)
 {
@@ -181,6 +193,7 @@
 
 	return -1;
 }
+#endif  /*  0  */
 
 static void ch_destroy(struct shash_t *htable)
 {
@@ -232,16 +245,21 @@
 }
 
 /* Accesors ******************************************************************/
-inline size_t hashT_tablesize(struct shash_t * htable)
+
+#if 0
+
+size_t hashT_tablesize(struct shash_t * htable)
 {
 	return htable->tsize;
 }
 
-inline size_t hashT_size(struct shash_t * htable)
+size_t hashT_size(struct shash_t * htable)
 {
 	return htable->nelems;
 }
 
+#endif  /*  0  */
+
 static struct hash_elem_t *ch_lookup(struct shash_t *htable, void *key)
 {
 	u32 idx;
@@ -330,15 +348,17 @@
 		return 1;
 }
 
-struct hash_ops ch_ops = {
+static struct hash_ops ch_ops = {
+#if 0
 	.delete = ch_delete,
+#endif  /*  0  */
 	.lookup = ch_lookup,
 	.destroy = ch_destroy,
 	.getkeys = ch_getkeys,
 	.add = ch_add
 };
 
-struct facility fTable[FACILITY_CNT];
+static struct facility fTable[FACILITY_CNT];
 
 int spp_init(void)
 {
@@ -511,7 +531,7 @@
 	spin_unlock(&elem->lock);
 }
 
-
+#if 0
 int read_spp_regbank32(int vioc_idx, int bank, char *buffer)
 {
 	struct vioc_device *viocdev = vioc_viocdev(vioc_idx);
@@ -531,14 +551,14 @@
 
 	return i;
 }
+#endif  /*  0  */
 
-struct shash_t *hashT_create(u32 sizehint,
-							size_t keybuf_size,
-							size_t databuf_size,
-							u32(*hfunc) (unsigned char *,
-							unsigned long),
-							int (*cfunc) (void *, void *),
-							unsigned int flags)
+static struct shash_t *hashT_create(u32 sizehint, size_t keybuf_size,
+                                    size_t databuf_size,
+                                    u32(*hfunc) (unsigned char *,
+                                                 unsigned long),
+                                    int (*cfunc) (void *, void *),
+                                    unsigned int flags)
 {
 	struct shash_t *htable;
 	u32 size = 0;		/* Table size */
@@ -591,36 +611,34 @@
 	return htable;
 }
 
+#if 0
 int hashT_delete(struct shash_t *htable, void *key)
 {
 	return htable->h_ops->delete(htable, key);
 }
+#endif  /*  0  */
 
-struct hash_elem_t *hashT_add(struct shash_t *htable, void *key)
+static struct hash_elem_t *hashT_add(struct shash_t *htable, void *key)
 {
 	return htable->h_ops->add(htable, key);
 }
 
-struct hash_elem_t *hashT_lookup(struct shash_t *htable, void *key)
+static struct hash_elem_t *hashT_lookup(struct shash_t *htable, void *key)
 {
 	return htable->h_ops->lookup(htable, key);
 }
 
-void hashT_destroy(struct shash_t *htable)
+static void hashT_destroy(struct shash_t *htable)
 {
-
 	htable->h_ops->destroy(htable);
 
 	vfree(htable);
 }
 
+#if 0
 void **hashT_getkeys(struct shash_t *htable)
 {
 	return htable->h_ops->getkeys(htable);
 }
+#endif  /*  0  */
 
-#ifdef EXPORT_SYMTAB
-EXPORT_SYMBOL(spp_msg_register);
-EXPORT_SYMBOL(spp_msg_unregister);
-EXPORT_SYMBOL(read_spp_regbank32);
-#endif
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_spp.c.old	2007-02-18 01:22:54.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_spp.c	2007-02-18 01:34:50.000000000 +0100
@@ -84,12 +84,12 @@
 
 static DECLARE_MUTEX(vnic_prov_sem);
 
-static inline void vnic_prov_get_sema(void)
+static void vnic_prov_get_sema(void)
 {
 	down(&vnic_prov_sem);
 }
 
-static inline void vnic_prov_put_sema(void)
+static void vnic_prov_put_sema(void)
 {
 	up(&vnic_prov_sem);
 }
@@ -290,7 +290,7 @@
 	vioc_reg_wr(1, viocdev->ba.virt, SPP_HB_SENSOR_REG);
 }
 
-void vioc_reset_rq_to_bmc(int vioc_id, u32 command)
+static void vioc_reset_rq_to_bmc(int vioc_id, u32 command)
 {
 	struct vioc_device *viocdev = vioc_viocdev(0);
 
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_transmit.c.old	2007-02-18 01:23:30.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_transmit.c	2007-02-18 12:28:58.000000000 +0100
@@ -73,49 +73,52 @@
 #define TXQ0            0
 #define NOT_SET        -1
 
-static inline u32 vnic_rd_txd_ctl(struct txq *txq)
+static u32 vnic_rd_txd_ctl(struct txq *txq)
 {
 	return readl(txq->va_of_vreg_veng_txd_ctl);
 }
 
-static inline void vnic_ring_tx_bell(struct txq *txq)
+static void vnic_ring_tx_bell(struct txq *txq)
 {
 	writel(txq->shadow_VREG_VENG_TXD_CTL | VREG_VENG_TXD_CTL_QRING_MASK,
 	       txq->va_of_vreg_veng_txd_ctl);
 	txq->bells++;
 }
 
-static inline void vnic_reset_tx_ring_err(struct txq *txq)
+static void vnic_reset_tx_ring_err(struct txq *txq)
 {
 	writel(txq->shadow_VREG_VENG_TXD_CTL |
 	       (VREG_VENG_TXD_CTL_QENABLE_MASK | VREG_VENG_TXD_CTL_CLEARMASK),
 	       txq->va_of_vreg_veng_txd_ctl);
 }
 
-static inline void vnic_enable_tx_ring(struct txq *txq)
+static void vnic_enable_tx_ring(struct txq *txq)
 {
 	txq->shadow_VREG_VENG_TXD_CTL = VREG_VENG_TXD_CTL_QENABLE_MASK;
 	writel(txq->shadow_VREG_VENG_TXD_CTL, txq->va_of_vreg_veng_txd_ctl);
 }
 
-static inline void vnic_disable_tx_ring(struct txq *txq)
+static void vnic_disable_tx_ring(struct txq *txq)
 {
 	txq->shadow_VREG_VENG_TXD_CTL = 0;
 	writel(0, txq->va_of_vreg_veng_txd_ctl);
 }
 
-static inline void vnic_pause_tx_ring(struct txq *txq)
+#if 0
+
+static void vnic_pause_tx_ring(struct txq *txq)
 {
 	txq->shadow_VREG_VENG_TXD_CTL |= VREG_VENG_TXD_CTL_QPAUSE_MASK;
 	writel(txq->shadow_VREG_VENG_TXD_CTL, txq->va_of_vreg_veng_txd_ctl);
 }
 
-static inline void vnic_resume_tx_ring(struct txq *txq)
+static void vnic_resume_tx_ring(struct txq *txq)
 {
 	txq->shadow_VREG_VENG_TXD_CTL &= ~VREG_VENG_TXD_CTL_QPAUSE_MASK;
 	writel(txq->shadow_VREG_VENG_TXD_CTL, txq->va_of_vreg_veng_txd_ctl);
 }
 
+#endif  /*  0  */
 
 /* TxQ must be locked */
 static void vnic_reset_txq(struct vnic_device *vnicdev, struct txq *txq)
@@ -395,8 +398,9 @@
 	viocdev->vioc_stats.tx_tasklets++;
 	// read_unlock(&viocdev->lock);
 }
-void vnic_enqueue_tx_pkt(struct vnic_device *vnicdev, struct txq *txq,
-			 struct sk_buff *skb, struct vioc_prov *prov)
+
+static void vnic_enqueue_tx_pkt(struct vnic_device *vnicdev, struct txq *txq,
+				struct sk_buff *skb, struct vioc_prov *prov)
 {
 	int idx, sop_idx, eop_idx, f;
 	struct tx_pktBufDesc_Phys_w *txd;
@@ -512,8 +516,9 @@
 
 }
 
-void vnic_enqueue_tx_buffers(struct vnic_device *vnicdev, struct txq *txq,
-			     struct sk_buff *skb, struct vioc_prov *prov)
+static void vnic_enqueue_tx_buffers(struct vnic_device *vnicdev,
+				    struct txq *txq, struct sk_buff *skb,
+				    struct vioc_prov *prov)
 {
 	int len;
 	int idx;
@@ -586,7 +591,7 @@
 	txq->next_to_use = idx;
 }
 
-static inline void init_f7_header(struct sk_buff *skb)
+static void init_f7_header(struct sk_buff *skb)
 {
 	struct vioc_f7pf_w *f7p;
 	unsigned char tag;
@@ -675,7 +680,7 @@
  * not hold - add a tx_enabled flag to the vnic struct protected
  * by txq->lock.  Or just read-lock the VIOC.
  */
-int vnic_start_xmit(struct sk_buff *skb, struct net_device *netdev)
+static int vnic_start_xmit(struct sk_buff *skb, struct net_device *netdev)
 {
 	struct vnic_device *vnicdev = netdev->priv;
 	struct txq *txq = &vnicdev->txq;
@@ -734,8 +739,9 @@
  *      saddr=NULL      means use device source address
  *      daddr=NULL      means leave destination address (eg unresolved arp)
  */
-int vnic_eth_header(struct sk_buff *skb, struct net_device *dev,
-		    unsigned short type, void *daddr, void *saddr, unsigned len)
+static int vnic_eth_header(struct sk_buff *skb, struct net_device *dev,
+			   unsigned short type, void *daddr, void *saddr,
+			   unsigned len)
 {
 	struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN);
 
@@ -952,6 +958,7 @@
 	vnicdev->txq.vbuf = NULL;
 }
 
+#if 0
 void vioc_reset_if_tx(struct net_device *netdev)
 {
 	struct vnic_device *vnicdev = netdev->priv;
@@ -959,8 +966,7 @@
 
 	vnic_reset_txq(vnicdev, txq);
 }
-
-extern struct ethtool_ops vioc_ethtool_ops;
+#endif  /*  0  */
 
 /**
  * vnic_uninit - Device Termination Routine
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_api.h.old	2007-02-18 01:28:17.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_api.h	2007-02-18 01:56:08.000000000 +0100
@@ -30,11 +30,12 @@
 #include <asm/io.h>
 #include "vioc_vnic.h"
 
+extern struct ethtool_ops vioc_ethtool_ops;
+
 extern int vioc_vnic_resources_set(int vioc_id, u32 vnic_id);
 extern void vioc_sw_reset(int vioc_id);
 extern u32 vioc_rrd(int vioc_id, int module_id, int vnic_id, int reg_addr);
 extern int vioc_rwr(int vioc_id, int module_id, int vnic_id, int reg_addr, u32 value);
-extern int vioc_set_vnic_mac(int vioc_id, u32 vnic_id, u8 * p);
 extern int vioc_get_vnic_mac(int vioc_id, u32 vnic_id, u8 * p);
 extern int vioc_set_txq(int vioc_id, u32 vnic_id, u32 txq_id, dma_addr_t base,
                 u32 num_elements);
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_api.c.old	2007-02-18 01:27:41.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_api.c	2007-02-18 01:28:59.000000000 +0100
@@ -46,7 +46,8 @@
 #include "vioc_vnic.h"
 #include "vioc_api.h"
 
-int vioc_set_rx_intr_param(int viocdev_idx, int rx_intr_id, u32 timeout, u32 cntout)
+static int vioc_set_rx_intr_param(int viocdev_idx, int rx_intr_id,
+				  u32 timeout, u32 cntout)
 {
 	int ret = 0;
 	struct vioc_device *viocdev;
@@ -83,6 +84,7 @@
 	return 0;
 }
 
+#if 0
 int vioc_set_vnic_mac(int viocdev_idx, u32 vnic_id, u8 * p)
 {
 	struct vioc_device *viocdev = vioc_viocdev(viocdev_idx);
@@ -101,6 +103,7 @@
 
 	return 0;
 }
+#endif  /*  0  */
 
 int vioc_set_txq(int viocdev_idx, u32 vnic_id, u32 txq_id, dma_addr_t base,
 		 u32 num_elements)
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_ethtool.c.old	2007-02-18 01:29:21.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_ethtool.c	2007-02-18 01:29:36.000000000 +0100
@@ -155,7 +155,7 @@
 	return 0;
 }
 
-int vioc_trace;
+static int vioc_trace;
 
 static u32 vnic_get_msglevel(struct net_device *netdev)
 {
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_irq.c.old	2007-02-18 01:29:59.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_irq.c	2007-02-18 12:56:33.000000000 +0100
@@ -55,9 +55,6 @@
 #define VIOC_INTERRUPTS_CNT    19	/* 16 Rx + 1 Tx + 1 BMC + 1 Error */
 #define VIOC_INTERRUPTS_CNT_PIN_IRQ    4	/* 2 Rx + 1 Tx + 1 BMC */
 
-#define VIOC_SLVAR(x) x spinlock_t vioc_driver_lock = SPIN_LOCK_UNLOCKED
-#define VIOC_CLI spin_lock_irq(&vioc_driver_lock)
-#define VIOC_STI spin_unlock_irq(&vioc_driver_lock)
 #define IRQRETURN return IRQ_HANDLED
 #define TX_IRQ_IDX			16
 #define BMC_IRQ_IDX			17
@@ -92,9 +89,7 @@
 };
 
 /* GLOBAL VIOC Interrupt table/structure */
-struct viocdev_intreq vioc_interrupts[VIOC_MAX_VIOCS];
-
-VIOC_SLVAR();
+static struct viocdev_intreq vioc_interrupts[VIOC_MAX_VIOCS];
 
 static irqreturn_t taskq_handler(int i, void *p)
 {
@@ -227,7 +222,7 @@
 	return 0;
 }
 
-int get_pci_pin_irq(struct pci_dev *dev_in, int func)
+static int get_pci_pin_irq(struct pci_dev *dev_in, int func)
 {
 	struct pci_dev *dev = NULL;
 	unsigned int slot, fn, devfn;
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_provision.c.old	2007-02-18 01:32:09.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_provision.c	2007-02-18 12:55:56.000000000 +0100
@@ -75,7 +75,7 @@
 
 */
 
-struct vnic_prov_def vnic_set_0 = {
+static struct vnic_prov_def vnic_set_0 = {
 	.rxd_ring[0].buf_size = RXDQ_SMALL_ALLOC_BUFSIZE,
 	.rxd_ring[0].entries = RXDQ_SMALL_ENTRIES,
 	.rxd_ring[0].id = 0,
@@ -92,7 +92,7 @@
 	    0,.rxc_intr_id = 0
 };
 
-struct vnic_prov_def vnic_set_1 = {
+static struct vnic_prov_def vnic_set_1 = {
 	.rxd_ring[0].buf_size = RXDQ_SMALL_ALLOC_BUFSIZE,
 	.rxd_ring[0].entries = RXDQ_SMALL_ENTRIES,
 	.rxd_ring[0].id = 4,
@@ -109,7 +109,7 @@
 	    1,.rxc_intr_id = 1
 };
 
-struct vnic_prov_def vnic_set_2 = {
+static struct vnic_prov_def vnic_set_2 = {
 	.rxd_ring[0].buf_size = RXDQ_SMALL_ALLOC_BUFSIZE,
 	.rxd_ring[0].entries = RXDQ_SMALL_ENTRIES,
 	.rxd_ring[0].id = 8,
@@ -126,7 +126,7 @@
 	    2,.rxc_intr_id = 2
 };
 
-struct vnic_prov_def vnic_set_3 = {
+static struct vnic_prov_def vnic_set_3 = {
 	.rxd_ring[0].buf_size = RXDQ_SMALL_ALLOC_BUFSIZE,
 	.rxd_ring[0].entries = RXDQ_SMALL_ENTRIES,
 	.rxd_ring[0].id = 12,
@@ -143,6 +143,7 @@
 	    3,.rxc_intr_id = 3
 };
 
+#if 0
 struct vnic_prov_def vnic_set_sim = {
 	.rxd_ring[0].buf_size = RXDQ_STD_ALLOC_BUFSIZE,
 	.rxd_ring[0].entries = 256,
@@ -158,8 +159,9 @@
 	.rxd_ring[2].state = 1,
 	.tx_entries = 256,.rxc_entries = 256 * 3,.rxc_id = 0,.rxc_intr_id = 0
 };
+#endif  /*  0  */
 
-struct vnic_prov_def *vnic_prov_pmm_pin_irq[VIOC_MAX_VNICS] = {
+static struct vnic_prov_def *vnic_prov_pmm_pin_irq[VIOC_MAX_VNICS] = {
 	&vnic_set_0,
 	&vnic_set_1,
 	&vnic_set_0,
@@ -178,7 +180,7 @@
 	&vnic_set_1
 };
 
-struct vnic_prov_def *vnic_prov_pmm_msi_x[VIOC_MAX_VNICS] = {
+static struct vnic_prov_def *vnic_prov_pmm_msi_x[VIOC_MAX_VNICS] = {
 	&vnic_set_0,
 	&vnic_set_1,
 	&vnic_set_2,
@@ -197,6 +199,7 @@
 	&vnic_set_3
 };
 
+#if 0
 struct vnic_prov_def *vnic_prov_sim[VIOC_MAX_VNICS] = {
 	&vnic_set_sim,
 	&vnic_set_sim,
@@ -215,6 +218,7 @@
 	&vnic_set_sim,
 	&vnic_set_sim
 };
+#endif  /*  0  */
 
 struct vnic_prov_def **vioc_prov_get(int num_rx_irq)
 {
--- linux-2.6.20-mm1/drivers/net/vioc/vioc_receive.c.old	2007-02-18 01:34:23.000000000 +0100
+++ linux-2.6.20-mm1/drivers/net/vioc/vioc_receive.c	2007-02-18 01:34:30.000000000 +0100
@@ -58,7 +58,7 @@
  * one RxSet, no locking is needed on RxDQs or RxCQs.
  * Return true if we got a packet, false if the queue is empty.
  */
-int vioc_rx_pkt(struct vioc_device *viocdev, struct rxc *rxc, u32 sw_idx)
+static int vioc_rx_pkt(struct vioc_device *viocdev, struct rxc *rxc, u32 sw_idx)
 {
 	u32 rx_status;
 	u32 vnic_id;


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

* [-mm patch] make dvb_usb_gl861_debug static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (16 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] drivers/net/vioc/: possible cleanups Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20 16:13   ` [v4l-dvb-maintainer] " Michael Krufky
  2007-02-20  0:07 ` [-mm patch] make pvr2_encoder_prep_config() static Adrian Bunk
                   ` (7 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, v4l-dvb-maintainer; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
>  git-dvb.patch
>...
>  git trees.
>...

This patch makes the needlessly global dvb_usb_gl861_debug static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm1/drivers/media/dvb/dvb-usb/gl861.c.old	2007-02-17 17:49:03.000000000 +0100
+++ linux-2.6.20-mm1/drivers/media/dvb/dvb-usb/gl861.c	2007-02-17 17:49:20.000000000 +0100
@@ -12,7 +12,7 @@
 #include "qt1010.h"
 
 /* debug */
-int dvb_usb_gl861_debug;
+static int dvb_usb_gl861_debug;
 module_param_named(debug,dvb_usb_gl861_debug, int, 0644);
 MODULE_PARM_DESC(debug, "set debugging level (1=rc (or-able))." DVB_USB_DEBUG_STATUS);
 


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

* [-mm patch] make pvr2_encoder_prep_config() static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (17 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make dvb_usb_gl861_debug static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:07 ` [-mm patch] make drivers/usb/misc/iowarrior.c:iowarrior_ids[] static Adrian Bunk
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, v4l-dvb-maintainer; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
>  git-dvb.patch
>...
>  git trees.
>...

This patch makes the needlessly global pvr2_encoder_prep_config() 
static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm1/drivers/media/video/pvrusb2/pvrusb2-encoder.c.old	2007-02-17 17:52:21.000000000 +0100
+++ linux-2.6.20-mm1/drivers/media/video/pvrusb2/pvrusb2-encoder.c	2007-02-17 17:52:30.000000000 +0100
@@ -324,7 +324,7 @@
 
 /* This implements some extra setup for the encoder that seems to be
    specific to the PVR USB2 hardware. */
-int pvr2_encoder_prep_config(struct pvr2_hdw *hdw)
+static int pvr2_encoder_prep_config(struct pvr2_hdw *hdw)
 {
 	int ret = 0;
 	int encMisc3Arg = 0;

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

* [-mm patch] make drivers/usb/misc/iowarrior.c:iowarrior_ids[] static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (18 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make pvr2_encoder_prep_config() static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:07 ` [-mm patch] make fs/partitions/msdos.c:check_sane_values() static Adrian Bunk
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, gregkh; +Cc: linux-kernel, linux-usb-devel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +gregkh-usb-usb-iowarrior.patch
>...
>  USB tree updates
>...


This patch makes the needlessly global struct iowarrior_ids[] static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm2/drivers/usb/misc/iowarrior.c.old	2007-02-18 22:32:11.000000000 +0100
+++ linux-2.6.20-mm2/drivers/usb/misc/iowarrior.c	2007-02-18 22:32:20.000000000 +0100
@@ -140,7 +140,7 @@
 /* driver registration */
 /*---------------------*/
 /* table of devices that work with this driver */
-struct usb_device_id iowarrior_ids[] = {
+static struct usb_device_id iowarrior_ids[] = {
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOWPV1)},


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

* [-mm patch] make fs/partitions/msdos.c:check_sane_values() static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (19 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make drivers/usb/misc/iowarrior.c:iowarrior_ids[] static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:07 ` [-mm patch] make kernel/kmod.c:kmod_mk static Adrian Bunk
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, TJ; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +filesystem-disk-errors-at-boot-time-caused-by-probe.patch
>...
>  Misc
>...


check_sane_values() can become static.

---
--- linux-2.6.20-mm2/fs/partitions/msdos.c.old	2007-02-18 22:44:25.000000000 +0100
+++ linux-2.6.20-mm2/fs/partitions/msdos.c	2007-02-18 22:44:32.000000000 +0100
@@ -431,7 +431,7 @@
  *
  * Copyright 31 January 2007, TJ <linux@tjworld.net>
  */
-int check_sane_values(struct partition *p, struct block_device *bdev)
+static int check_sane_values(struct partition *p, struct block_device *bdev)
 {
 	unsigned char *data;
 	struct partition *ext;


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

* [-mm patch] make kernel/kmod.c:kmod_mk static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (20 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make fs/partitions/msdos.c:check_sane_values() static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:07 ` [-mm patch] make ipc/shm.c:shm_nopage() static Adrian Bunk
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, Kay Sievers; +Cc: linux-kernel, Greg Kroah-Hartman

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +gregkh-driver-driver-core-let-request_module-send-a-sys-modules-kmod-uevent.patch
>...
>  driver tree updates
>...


This patch makes the needlessly global struct kmod_mk static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm2/kernel/kmod.c.old	2007-02-18 23:06:28.000000000 +0100
+++ linux-2.6.20-mm2/kernel/kmod.c	2007-02-18 23:06:35.000000000 +0100
@@ -48,7 +48,7 @@
 	modprobe_path is set via /proc/sys.
 */
 char modprobe_path[KMOD_PATH_LEN] = "/sbin/modprobe";
-struct module_kobject kmod_mk;
+static struct module_kobject kmod_mk;
 
 /**
  * request_module - try to load a kernel module


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

* [-mm patch] make ipc/shm.c:shm_nopage() static
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (21 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make kernel/kmod.c:kmod_mk static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  2:13   ` Eric W. Biederman
  2007-02-20  0:07 ` [-mm patch] mm/{,tiny-}shmem.c cleanups Adrian Bunk
                   ` (2 subsequent siblings)
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, Eric W. Biederman; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +shm-make-sysv-ipc-shared-memory-use-stacked-files.patch
>...
>  Misc
>...


shm_nopage() can become static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm2/ipc/shm.c.old	2007-02-18 22:58:03.000000000 +0100
+++ linux-2.6.20-mm2/ipc/shm.c	2007-02-18 22:58:18.000000000 +0100
@@ -226,8 +226,8 @@
 	mutex_unlock(&shm_ids(ns).mutex);
 }
 
-struct page *shm_nopage(struct vm_area_struct *vma, unsigned long address,
-			int *type)
+static struct page *shm_nopage(struct vm_area_struct *vma,
+			       unsigned long address, int *type)
 {
 	struct file *file = vma->vm_file;
 	struct shm_file_data *sfd = shm_file_data(file);


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

* [-mm patch] mm/{,tiny-}shmem.c cleanups
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (22 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] make ipc/shm.c:shm_nopage() static Adrian Bunk
@ 2007-02-20  0:07 ` Adrian Bunk
  2007-02-20  0:08 ` 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error Adrian Bunk
  2007-02-20  0:08 ` [-mm patch] include/linux/ptrace.h must #include <linux/errno.h> Adrian Bunk
  25 siblings, 0 replies; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:07 UTC (permalink / raw)
  To: Andrew Morton, Eric W. Biederman; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +shm-make-sysv-ipc-shared-memory-use-stacked-files.patch
>...
>  Misc
>...


shmem_{nopage,mmap} are no longer used in ipc/shm.c

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 include/linux/mm.h |    5 -----
 mm/shmem.c         |    5 +++--
 mm/tiny-shmem.c    |    2 ++
 3 files changed, 5 insertions(+), 7 deletions(-)

--- linux-2.6.20-mm2/include/linux/mm.h.old	2007-02-18 23:32:54.000000000 +0100
+++ linux-2.6.20-mm2/include/linux/mm.h	2007-02-18 23:34:02.000000000 +0100
@@ -662,15 +662,11 @@
 extern void show_free_areas(void);
 
 #ifdef CONFIG_SHMEM
-struct page *shmem_nopage(struct vm_area_struct *vma,
-			unsigned long address, int *type);
 int shmem_set_policy(struct vm_area_struct *vma, struct mempolicy *new);
 struct mempolicy *shmem_get_policy(struct vm_area_struct *vma,
 					unsigned long addr);
 int shmem_lock(struct file *file, int lock, struct user_struct *user);
 #else
-#define shmem_nopage filemap_nopage
-
 static inline int shmem_lock(struct file *file, int lock,
 			     struct user_struct *user)
 {
@@ -690,7 +686,6 @@
 }
 #endif
 struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags);
-extern int shmem_mmap(struct file *file, struct vm_area_struct *vma);
 
 int shmem_zero_setup(struct vm_area_struct *);
 
--- linux-2.6.20-mm2/mm/shmem.c.old	2007-02-18 23:33:38.000000000 +0100
+++ linux-2.6.20-mm2/mm/shmem.c	2007-02-18 23:34:14.000000000 +0100
@@ -1227,7 +1227,8 @@
 	return error;
 }
 
-struct page *shmem_nopage(struct vm_area_struct *vma, unsigned long address, int *type)
+static struct page *shmem_nopage(struct vm_area_struct *vma,
+				 unsigned long address, int *type)
 {
 	struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
 	struct page *page = NULL;
@@ -1334,7 +1335,7 @@
 	return retval;
 }
 
-int shmem_mmap(struct file *file, struct vm_area_struct *vma)
+static int shmem_mmap(struct file *file, struct vm_area_struct *vma)
 {
 	file_accessed(file);
 	vma->vm_ops = &shmem_vm_ops;
--- linux-2.6.20-mm2/mm/tiny-shmem.c.old	2007-02-18 23:34:21.000000000 +0100
+++ linux-2.6.20-mm2/mm/tiny-shmem.c	2007-02-18 23:34:57.000000000 +0100
@@ -126,6 +126,7 @@
 	return 0;
 }
 
+#if 0
 int shmem_mmap(struct file *file, struct vm_area_struct *vma)
 {
 	file_accessed(file);
@@ -135,6 +136,7 @@
 	return 0;
 #endif
 }
+#endif  /*  0  */
 
 #ifndef CONFIG_MMU
 unsigned long shmem_get_unmapped_area(struct file *file,


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

* 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (23 preceding siblings ...)
  2007-02-20  0:07 ` [-mm patch] mm/{,tiny-}shmem.c cleanups Adrian Bunk
@ 2007-02-20  0:08 ` Adrian Bunk
  2007-02-21 10:15   ` Roland McGrath
  2007-02-20  0:08 ` [-mm patch] include/linux/ptrace.h must #include <linux/errno.h> Adrian Bunk
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:08 UTC (permalink / raw)
  To: Andrew Morton, Roland McGrath; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +utrace-utrace-ptrace-compat.patch
>...
>  utrace tree
>...


This causes the following compile error with CONFIG_PTRACE=y, 
CONFIG_PROC_FS=n:

<--  snip  -->

...
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `sys_ptrace':
(.text+0x2a3c2): undefined reference to `ptrace_may_attach'
make[1]: *** [.tmp_vmlinux1] Error 1

<--  snip  -->

cu
Adrian

-- 

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


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

* [-mm patch] include/linux/ptrace.h must #include <linux/errno.h>
  2007-02-15 13:14 2.6.20-mm1 Andrew Morton
                   ` (24 preceding siblings ...)
  2007-02-20  0:08 ` 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error Adrian Bunk
@ 2007-02-20  0:08 ` Adrian Bunk
  2007-02-21  9:57   ` Roland McGrath
  25 siblings, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:08 UTC (permalink / raw)
  To: Andrew Morton, Roland McGrath; +Cc: linux-kernel

On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.20-rc6-mm3:
>...
> +utrace-utrace-ptrace-compat.patch
>...
>  utrace tree
>...


This patch fixes the following compile error:

<--  snip  -->

...
  CC      drivers/net/wan/lmc/lmc_media.o
In file included from /home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/drivers/net/wan/lmc/lmc_media.c:6:
/home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/include/linux/ptrace.h: In function 'ptrace_do_wait':
/home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/include/linux/ptrace.h:238: error: 'ECHILD' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/include/linux/ptrace.h:238: error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/include/linux/ptrace.h:238: error: for each function it appears in.)
make[5]: *** [drivers/net/wan/lmc/lmc_media.o] Error 1

<--  snip  -->


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---
--- linux-2.6.20-mm2/include/linux/ptrace.h.old	2007-02-19 22:59:04.000000000 +0100
+++ linux-2.6.20-mm2/include/linux/ptrace.h	2007-02-19 22:59:24.000000000 +0100
@@ -51,6 +51,7 @@
 #ifdef __KERNEL__
 #include <linux/compiler.h>
 #include <linux/types.h>
+#include <linux/errno.h>
 struct task_struct;
 struct siginfo;
 struct rusage;


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

* Re: [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-20  0:07 ` [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization Adrian Bunk
@ 2007-02-20  0:14   ` Dave Jones
  2007-02-20  0:21     ` Adrian Bunk
  2007-02-20 13:50     ` Alexey Dobriyan
  0 siblings, 2 replies; 81+ messages in thread
From: Dave Jones @ 2007-02-20  0:14 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel

On Tue, Feb 20, 2007 at 01:07:13AM +0100, Adrian Bunk wrote:
 > On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
 > >...
 > > Changes since 2.6.20-rc6-mm3:
 > >...
 > > +rdmsr_on_cpu-wrmsr_on_cpu.patch
 > >...
 > >  x86 updates
 > >...
 > 
 > Let's save a few bytes in the CONFIG_SMP=n case.
 > 
 > Signed-off-by: Adrian Bunk <bunk@stusta.de>
 > 
 > ---
 > 
 > BTW: currently -ENOUSERS

There was a follow-on patch that converted p4-clockmod to use it for one.

 > +#ifdef CONFIG_SMP
 >  void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 >  void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
 > +#else  /*  CONFIG_SMP  */
 > +static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
 > +{
 > +	rdmsr(msr_no, *l, *h);
 > +}
 > +static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
 > +{
 > +	wrmsr(msr_no, l, h);
 > +}
 > +#endif  /*  CONFIG_SMP  */

BUG_ON(cpu!=smp_processor_id()) maybe?

		Dave

-- 
http://www.codemonkey.org.uk

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

* Re: [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-20  0:14   ` Dave Jones
@ 2007-02-20  0:21     ` Adrian Bunk
  2007-02-20  0:29       ` Dave Jones
  2007-02-20 13:50     ` Alexey Dobriyan
  1 sibling, 1 reply; 81+ messages in thread
From: Adrian Bunk @ 2007-02-20  0:21 UTC (permalink / raw)
  To: Dave Jones, Andrew Morton, Alexey Dobriyan, linux-kernel

On Mon, Feb 19, 2007 at 07:14:34PM -0500, Dave Jones wrote:
> On Tue, Feb 20, 2007 at 01:07:13AM +0100, Adrian Bunk wrote:
>...
>  > +#ifdef CONFIG_SMP
>  >  void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
>  >  void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
>  > +#else  /*  CONFIG_SMP  */
>  > +static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
>  > +{
>  > +	rdmsr(msr_no, *l, *h);
>  > +}
>  > +static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
>  > +{
>  > +	wrmsr(msr_no, l, h);
>  > +}
>  > +#endif  /*  CONFIG_SMP  */
> 
> BUG_ON(cpu!=smp_processor_id()) maybe?

This is the CONFIG_SMP=n case.

> 		Dave

cu
Adrian

-- 

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


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

* Re: [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-20  0:21     ` Adrian Bunk
@ 2007-02-20  0:29       ` Dave Jones
  0 siblings, 0 replies; 81+ messages in thread
From: Dave Jones @ 2007-02-20  0:29 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel

On Tue, Feb 20, 2007 at 01:21:45AM +0100, Adrian Bunk wrote:
 > On Mon, Feb 19, 2007 at 07:14:34PM -0500, Dave Jones wrote:
 > > On Tue, Feb 20, 2007 at 01:07:13AM +0100, Adrian Bunk wrote:
 > >...
 > >  > +#ifdef CONFIG_SMP
 > >  >  void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 > >  >  void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
 > >  > +#else  /*  CONFIG_SMP  */
 > >  > +static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
 > >  > +{
 > >  > +	rdmsr(msr_no, *l, *h);
 > >  > +}
 > >  > +static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
 > >  > +{
 > >  > +	wrmsr(msr_no, l, h);
 > >  > +}
 > >  > +#endif  /*  CONFIG_SMP  */
 > > 
 > > BUG_ON(cpu!=smp_processor_id()) maybe?
 > 
 > This is the CONFIG_SMP=n case.

Yes. If someone is asking for the MSR on a specific CPU in UP mode,
it's a bug.

		Dave

-- 
http://www.codemonkey.org.uk

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

* Re: [-mm patch] make ipc/shm.c:shm_nopage() static
  2007-02-20  0:07 ` [-mm patch] make ipc/shm.c:shm_nopage() static Adrian Bunk
@ 2007-02-20  2:13   ` Eric W. Biederman
  0 siblings, 0 replies; 81+ messages in thread
From: Eric W. Biederman @ 2007-02-20  2:13 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

Adrian Bunk <bunk@stusta.de> writes:

> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>>...
>> Changes since 2.6.20-rc6-mm3:
>>...
>> +shm-make-sysv-ipc-shared-memory-use-stacked-files.patch
>>...
>>  Misc
>>...
>
>
> shm_nopage() can become static.

Acked-by: Eric W. Biederman <ebiederm@xmission.com>


>
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
>
> ---
> --- linux-2.6.20-mm2/ipc/shm.c.old	2007-02-18 22:58:03.000000000 +0100
> +++ linux-2.6.20-mm2/ipc/shm.c	2007-02-18 22:58:18.000000000 +0100
> @@ -226,8 +226,8 @@
>  	mutex_unlock(&shm_ids(ns).mutex);
>  }
>  
> -struct page *shm_nopage(struct vm_area_struct *vma, unsigned long address,
> -			int *type)
> +static struct page *shm_nopage(struct vm_area_struct *vma,
> +			       unsigned long address, int *type)
>  {
>  	struct file *file = vma->vm_file;
>  	struct shm_file_data *sfd = shm_file_data(file);

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

* Re: [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-20  0:14   ` Dave Jones
  2007-02-20  0:21     ` Adrian Bunk
@ 2007-02-20 13:50     ` Alexey Dobriyan
  2007-02-20 19:25       ` Dave Jones
  1 sibling, 1 reply; 81+ messages in thread
From: Alexey Dobriyan @ 2007-02-20 13:50 UTC (permalink / raw)
  To: Dave Jones, Adrian Bunk, Andrew Morton, linux-kernel

On Mon, Feb 19, 2007 at 07:14:34PM -0500, Dave Jones wrote:
> On Tue, Feb 20, 2007 at 01:07:13AM +0100, Adrian Bunk wrote:
>  > On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>  > >...
>  > > Changes since 2.6.20-rc6-mm3:
>  > >...
>  > > +rdmsr_on_cpu-wrmsr_on_cpu.patch
>  > >...
>  > >  x86 updates
>  > >...
>  >
>  > Let's save a few bytes in the CONFIG_SMP=n case.
>  >
>  > Signed-off-by: Adrian Bunk <bunk@stusta.de>
>  >
>  > ---
>  >
>  > BTW: currently -ENOUSERS
>
> There was a follow-on patch that converted p4-clockmod to use it for one.

And patch for powernow-k8 in preparations.

>  > +#ifdef CONFIG_SMP
>  >  void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
>  >  void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
>  > +#else  /*  CONFIG_SMP  */
>  > +static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
>  > +{
>  > +	rdmsr(msr_no, *l, *h);
>  > +}
>  > +static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
>  > +{
>  > +	wrmsr(msr_no, l, h);
>  > +}
>  > +#endif  /*  CONFIG_SMP  */
>
> BUG_ON(cpu!=smp_processor_id()) maybe?

This make sense. Fell free to add it.


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

* Re: [v4l-dvb-maintainer] [-mm patch] make dvb_usb_gl861_debug static
  2007-02-20  0:07 ` [-mm patch] make dvb_usb_gl861_debug static Adrian Bunk
@ 2007-02-20 16:13   ` Michael Krufky
  0 siblings, 0 replies; 81+ messages in thread
From: Michael Krufky @ 2007-02-20 16:13 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, v4l-dvb-maintainer, linux-kernel

Adrian Bunk wrote:
> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
>> ...
>> Changes since 2.6.20-rc6-mm3:
>> ...
>>  git-dvb.patch
>> ...
>>  git trees.
>> ...
> 
> This patch makes the needlessly global dvb_usb_gl861_debug static.
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>

Acked-by: Michael Krufky <mkrufky@linuxtv.org>

> 
> ---
> --- linux-2.6.20-mm1/drivers/media/dvb/dvb-usb/gl861.c.old	2007-02-17 17:49:03.000000000 +0100
> +++ linux-2.6.20-mm1/drivers/media/dvb/dvb-usb/gl861.c	2007-02-17 17:49:20.000000000 +0100
> @@ -12,7 +12,7 @@
>  #include "qt1010.h"
>  
>  /* debug */
> -int dvb_usb_gl861_debug;
> +static int dvb_usb_gl861_debug;
>  module_param_named(debug,dvb_usb_gl861_debug, int, 0644);
>  MODULE_PARM_DESC(debug, "set debugging level (1=rc (or-able))." DVB_USB_DEBUG_STATUS);
>  
> 
> 
> _______________________________________________
> v4l-dvb-maintainer mailing list
> v4l-dvb-maintainer@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/v4l-dvb-maintainer


-- 
Michael Krufky


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

* Re: [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization
  2007-02-20 13:50     ` Alexey Dobriyan
@ 2007-02-20 19:25       ` Dave Jones
  0 siblings, 0 replies; 81+ messages in thread
From: Dave Jones @ 2007-02-20 19:25 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: Adrian Bunk, Andrew Morton, linux-kernel

On Tue, Feb 20, 2007 at 04:50:44PM +0300, Alexey Dobriyan wrote:
 > On Mon, Feb 19, 2007 at 07:14:34PM -0500, Dave Jones wrote:
 > > On Tue, Feb 20, 2007 at 01:07:13AM +0100, Adrian Bunk wrote:
 > >  > On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
 > >  > >...
 > >  > > Changes since 2.6.20-rc6-mm3:
 > >  > >...
 > >  > > +rdmsr_on_cpu-wrmsr_on_cpu.patch
 > >  > >...
 > >  > >  x86 updates
 > >  > >...
 > >  >
 > >  > Let's save a few bytes in the CONFIG_SMP=n case.
 > >  >
 > >  > Signed-off-by: Adrian Bunk <bunk@stusta.de>
 > >  >
 > >  > ---
 > >  >
 > >  > BTW: currently -ENOUSERS
 > >
 > > There was a follow-on patch that converted p4-clockmod to use it for one.
 > 
 > And patch for powernow-k8 in preparations.

Cool. Can you resend me the p4-clockmod diff, I seem to have lost it.
I've just merged up the *msr_on_cpu diff (and will apply Adrians cleanup too).

thanks,

		Dave

-- 
http://www.codemonkey.org.uk

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

* Re: [-mm patch] marker exports must be EXPORT_SYMBOL_GPL
  2007-02-20  0:02 ` [-mm patch] marker exports must be EXPORT_SYMBOL_GPL Adrian Bunk
@ 2007-02-20 23:15   ` Mathieu Desnoyers
  0 siblings, 0 replies; 81+ messages in thread
From: Mathieu Desnoyers @ 2007-02-20 23:15 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

* Adrian Bunk (bunk@stusta.de) wrote:
> On Thu, Feb 15, 2007 at 05:14:08AM -0800, Andrew Morton wrote:
> >...
> > - Added the Linux Kernel Markers code.  No idea how to use it and it
> >   seems we're not to be told.
> >...
> > Changes since 2.6.20-rc6-mm3:
> >...
> > +linux-kernel-markers-kconfig-menus.patch
> > +linux-kernel-markers-architecture-independant-code.patch
> > +linux-kernel-markers-powerpc-optimization.patch
> > +linux-kernel-markers-i386-optimization.patch
> > +linux-kernel-markers-non-optimized-architectures.patch
> > 
> >  Linux Kenrel Markers
> >...
> 
> 
> This is definitely functionality illegal modules have no business to 
> use.
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

> 
> ---
> 
>  arch/i386/kernel/marker.c |    2 +-
>  kernel/module.c           |   10 +++++-----
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> --- linux-2.6.20-mm1/kernel/module.c.old	2007-02-15 16:02:09.000000000 +0100
> +++ linux-2.6.20-mm1/kernel/module.c	2007-02-15 16:03:08.000000000 +0100
> @@ -304,7 +304,7 @@
>  void __mark_empty_function(const char *fmt, ...)
>  {
>  }
> -EXPORT_SYMBOL(__mark_empty_function);
> +EXPORT_SYMBOL_GPL(__mark_empty_function);
>  
>  #ifdef MARK_POLYMORPHIC
>  static int marker_set_ins_enable(void *address, char enable)
> @@ -461,7 +461,7 @@
>  	mutex_unlock(&module_mutex);
>  	return found;
>  }
> -EXPORT_SYMBOL(marker_set_probe);
> +EXPORT_SYMBOL_GPL(marker_set_probe);
>  
>  int marker_remove_probe(marker_probe_func *probe)
>  {
> @@ -481,7 +481,7 @@
>  	mutex_unlock(&module_mutex);
>  	return found;
>  }
> -EXPORT_SYMBOL(marker_remove_probe);
> +EXPORT_SYMBOL_GPL(marker_remove_probe);
>  
>  int marker_list_probe(marker_probe_func *probe)
>  {
> @@ -505,7 +505,7 @@
>  	mutex_unlock(&module_mutex);
>  	return found;
>  }
> -EXPORT_SYMBOL(marker_list_probe);
> +EXPORT_SYMBOL_GPL(marker_list_probe);
>  #endif
>  
>  #ifdef CONFIG_SMP
> @@ -2510,7 +2510,7 @@
>  	}
>  	mutex_unlock(&module_mutex);
>  }
> -EXPORT_SYMBOL(list_modules);
> +EXPORT_SYMBOL_GPL(list_modules);
>  
>  /* Given an address, look for it in the module exception tables. */
>  const struct exception_table_entry *search_module_extables(unsigned long addr)
> --- linux-2.6.20-mm1/arch/i386/kernel/marker.c.old	2007-02-15 16:03:22.000000000 +0100
> +++ linux-2.6.20-mm1/arch/i386/kernel/marker.c	2007-02-15 16:03:34.000000000 +0100
> @@ -90,4 +90,4 @@
>  	flush_icache_range(address, size);
>  	return 0;
>  }
> -EXPORT_SYMBOL(arch_marker_set_ins_enable);
> +EXPORT_SYMBOL_GPL(arch_marker_set_ins_enable);
> 
> 
> 
> 
> 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Candidate, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [-mm patch] include/linux/ptrace.h must #include <linux/errno.h>
  2007-02-20  0:08 ` [-mm patch] include/linux/ptrace.h must #include <linux/errno.h> Adrian Bunk
@ 2007-02-21  9:57   ` Roland McGrath
  0 siblings, 0 replies; 81+ messages in thread
From: Roland McGrath @ 2007-02-21  9:57 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

Thanks for the fix.

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

* Re: 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error
  2007-02-20  0:08 ` 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error Adrian Bunk
@ 2007-02-21 10:15   ` Roland McGrath
  2007-02-22  3:35     ` Christoph Hellwig
  0 siblings, 1 reply; 81+ messages in thread
From: Roland McGrath @ 2007-02-21 10:15 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

> This causes the following compile error with CONFIG_PTRACE=y, 
> CONFIG_PROC_FS=n:

Bah.  I moved ptrace_may_attach to fs/proc/base.c so that CONFIG_PTRACE=n
could just omit kernel/ptrace.c entirely and still get the function for
fs/proc/base.c to use (and because that uses it many more times than ptrace
does).  I'd forgotten that procfs could be disabled, since noone ever does.

What do people suggest?  It's not a very big function.


Thanks,
Roland

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

* Re: 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error
  2007-02-21 10:15   ` Roland McGrath
@ 2007-02-22  3:35     ` Christoph Hellwig
  0 siblings, 0 replies; 81+ messages in thread
From: Christoph Hellwig @ 2007-02-22  3:35 UTC (permalink / raw)
  To: Roland McGrath; +Cc: Adrian Bunk, Andrew Morton, linux-kernel

On Wed, Feb 21, 2007 at 02:15:10AM -0800, Roland McGrath wrote:
> > This causes the following compile error with CONFIG_PTRACE=y, 
> > CONFIG_PROC_FS=n:
> 
> Bah.  I moved ptrace_may_attach to fs/proc/base.c so that CONFIG_PTRACE=n
> could just omit kernel/ptrace.c entirely and still get the function for
> fs/proc/base.c to use (and because that uses it many more times than ptrace
> does).  I'd forgotten that procfs could be disabled, since noone ever does.
> 
> What do people suggest?  It's not a very big function.

Put it into some other place in kernel/ that's always build, e.g.
kernel/sys.c and while you;re at it please give it a name that doesn't
include the word ptrace.

I remember mentioning that in my long utrace review mail.. :)

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

end of thread, other threads:[~2007-02-22  3:36 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-15 13:14 2.6.20-mm1 Andrew Morton
2007-02-15 14:28 ` 2.6.20-mm1 [kernel BUG at mm/swap.c:442] James Morris
2007-02-15 14:37   ` James Morris
2007-02-15 21:51   ` Andrew Morton
2007-02-15 22:39     ` Christoph Lameter
2007-02-16 14:30       ` James Morris
2007-02-16 14:59     ` James Morris
2007-02-16 15:57       ` Christoph Lameter
2007-02-16 21:28         ` James Morris
2007-02-15 14:37 ` 2.6.20-mm1 Michal Piotrowski
2007-02-15 22:02   ` 2.6.20-mm1 Andrew Morton
2007-02-15 22:38     ` 2.6.20-mm1 Eric W. Biederman
2007-02-15 23:24     ` 2.6.20-mm1 Michal Piotrowski
2007-02-16  0:04       ` [PATCH] shm: Fix the locking and cleanup error handling in do_shmat Eric W. Biederman
2007-02-16  0:16         ` Michal Piotrowski
2007-02-16  0:21         ` Michal Piotrowski
2007-02-16  3:34           ` Eric W. Biederman
2007-02-16  4:10             ` Wu, Bryan
2007-02-16  0:16       ` 2.6.20-mm1 Andrew Morton
2007-02-15 15:01 ` [-mm patch] MARKERS should depend on, not select MODULES Adrian Bunk
2007-02-15 19:27   ` Mathieu Desnoyers
2007-02-15 16:01 ` sparse chokes on arch/i386/kernel/i8253.c (was: 2.6.20-mm1) Tilman Schmidt
2007-02-15 22:41   ` Andrew Morton
2007-02-15 22:46     ` Mathieu Desnoyers
2007-02-15 23:44       ` Andrew Morton
2007-02-16  0:37         ` Mathieu Desnoyers
2007-02-16  1:22           ` Andrew Morton
2007-02-16 18:05             ` [PATCH] Move include linux/marker.h to kernel.h Mathieu Desnoyers
2007-02-16 18:43               ` Andrew Morton
2007-02-16 18:52                 ` [PATCH] Move include linux/marker.h from Makefile Mathieu Desnoyers
2007-02-17 12:50                 ` [PATCH] Move include linux/marker.h to kernel.h Tim Schmielau
2007-02-16  0:23     ` [PATCH] sparse chokes on arch/i386/kernel/i8253.c Mathieu Desnoyers
2007-02-16  0:37       ` Andrew Morton
2007-02-16  0:58         ` Mathieu Desnoyers
2007-02-16  1:31           ` Andrew Morton
2007-02-15 16:27 ` 2.6.20-mm1 Artem Bityutskiy
2007-02-15 17:33 ` 2.6.20-mm1 Valdis.Kletnieks
2007-02-15 18:00   ` 2.6.20-mm1 Marcin Juszkiewicz
2007-02-15 18:27     ` 2.6.20-mm1 Richard Purdie
2007-02-15 19:29 ` 2.6.20-mm1 Mattia Dongili
2007-02-15 19:39   ` 2.6.20-mm1 Richard Purdie
2007-02-15 21:30 ` 2.6.20-mm1 J.A. Magallón
2007-02-15 23:31   ` 2.6.20-mm1 Andrew Morton
2007-02-15 23:39     ` 2.6.20-mm1 J.A. Magallón
2007-02-16  5:30       ` 2.6.20-mm1 Andrew Morton
2007-02-16 23:50         ` 2.6.20-mm1 J.A. Magallón
2007-02-15 22:51 ` 2.6.20-mm1 Bartlomiej Zolnierkiewicz
2007-02-15 23:56 ` [PATCH 1/1] unify queue_delayed_work and queue_delayed_work_on fix Jiri Slaby
2007-02-16  0:10   ` Jiri Slaby
2007-02-16 13:55   ` Oleg Nesterov
2007-02-16 16:37 ` 2.6.20-mm1 Steve Fox
2007-02-16 16:55   ` 2.6.20-mm1 Randy Dunlap
2007-02-19 16:10     ` 2.6.20-mm1 Steve Fox
2007-02-16 16:41 ` [-mm patch] pci_iomap_regions error handling fix (was Re: 2.6.20-mm1) Frederik Deweerdt
2007-02-15 23:50   ` Andrew Morton
2007-02-16 17:14 ` 2.6.20-mm1 - undefined reference to `delete_module' on x86 Steve Fox
2007-02-16 18:37   ` Andrew Morton
2007-02-20  0:02 ` [-mm patch] make struct vmi_ops static Adrian Bunk
2007-02-20  0:02 ` [-mm patch] marker exports must be EXPORT_SYMBOL_GPL Adrian Bunk
2007-02-20 23:15   ` Mathieu Desnoyers
2007-02-20  0:07 ` [-mm patch] {rd,wr}msr_on_cpu SMP=n optimization Adrian Bunk
2007-02-20  0:14   ` Dave Jones
2007-02-20  0:21     ` Adrian Bunk
2007-02-20  0:29       ` Dave Jones
2007-02-20 13:50     ` Alexey Dobriyan
2007-02-20 19:25       ` Dave Jones
2007-02-20  0:07 ` [-mm patch] drivers/net/vioc/: possible cleanups Adrian Bunk
2007-02-20  0:07 ` [-mm patch] make dvb_usb_gl861_debug static Adrian Bunk
2007-02-20 16:13   ` [v4l-dvb-maintainer] " Michael Krufky
2007-02-20  0:07 ` [-mm patch] make pvr2_encoder_prep_config() static Adrian Bunk
2007-02-20  0:07 ` [-mm patch] make drivers/usb/misc/iowarrior.c:iowarrior_ids[] static Adrian Bunk
2007-02-20  0:07 ` [-mm patch] make fs/partitions/msdos.c:check_sane_values() static Adrian Bunk
2007-02-20  0:07 ` [-mm patch] make kernel/kmod.c:kmod_mk static Adrian Bunk
2007-02-20  0:07 ` [-mm patch] make ipc/shm.c:shm_nopage() static Adrian Bunk
2007-02-20  2:13   ` Eric W. Biederman
2007-02-20  0:07 ` [-mm patch] mm/{,tiny-}shmem.c cleanups Adrian Bunk
2007-02-20  0:08 ` 2.6.20-mm1: PTRACE=y, PROC_FS=n compile error Adrian Bunk
2007-02-21 10:15   ` Roland McGrath
2007-02-22  3:35     ` Christoph Hellwig
2007-02-20  0:08 ` [-mm patch] include/linux/ptrace.h must #include <linux/errno.h> Adrian Bunk
2007-02-21  9:57   ` Roland McGrath

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.