2006-02-28 12:25:45

by Andrew Morton

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


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


- A large procfs rework from Eric Biederman.

- The swap prefetching patch is back.



Boilerplate:

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

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

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

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

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

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

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

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

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



Changes since 2.6.16-rc4-mm2:

linus.patch
git-acpi.patch
git-agpgart.patch
git-alsa.patch
git-blktrace.patch
git-cfq.patch
git-cifs.patch
git-cpufreq.patch
git-drm.patch
git-ia64.patch
git-ieee1394.patch
git-infiniband.patch
git-input.patch
git-jfs.patch
git-kbuild.patch
git-libata-all.patch
git-netdev-all.patch
git-net.patch
git-nfs.patch
git-ocfs2.patch
git-powerpc.patch
git-sym2.patch
git-pcmcia.patch
git-scsi-rc-fixes.patch
git-sas-jg.patch
git-sparc64.patch
git-watchdog.patch
git-xfs.patch
git-cryptodev.patch
git-viro-bird-m32r.patch
git-viro-bird-m68k.patch
git-viro-bird-xfs.patch
git-viro-bird-uml.patch
git-viro-bird-frv.patch
git-viro-bird-misc.patch
git-viro-bird-upf.patch
git-viro-bird-volatile.patch

git trees

-scsi-aha152x-fixes.patch
-cache-align-futex-hash-buckets.patch
-m32r-enable-asm-code-optimization.patch
-m32r-fix-and-update-for-gcc-40.patch
-remove-module_parm.patch
-snd-cs4236-tpyo-fix.patch
-alsa-fix-bogus-snd_device_free-in-opl3-ossc.patch
-uml-correct-error-messages-in-cow-driver.patch
-uml-fix-usage-of-kernel_errno-in-place-of-errno.patch
-uml-fix-unused-attribute.patch
-uml-os_connect_socket-error-path-fixup.patch
-uml-better-error-reporting-for-read_output.patch
-uml-tidying-cow-code.patch
-vgacon-no-vertical-resizing-on-ega.patch
-kprobes-causes-nx-protection-fault-on-i686-smp.patch
-powerpc-fix-altivec_unavailable_exception-oopses.patch
-cfi-init-wait-queue-in-chip-struct.patch
-voyager-fix-boot-panic-by-adding-topology-export.patch
-voyager-fix-the-cpu_possible_map-to-make-voyager-boot-again.patch
-page-migration-fix-mpol_interleave-behavior-for-migration-via.patch
-x86-fix-smp-boot-sequence.patch
-x86-fix-smp-boot-sequence-fix.patch
-gbefb-ip32-gbefb-depth-change-fix.patch
-gbefb-set-default-of-fb_gbe_mem-to-4-mb.patch
-au1100fb-replaced-io_remap_page_range-with-io_remap_pfn_range.patch
-asiliantfb-fix-pseudo_palette-setup-in-asiliantfb_setcolreg.patch
-flags-parameter-for-linkat.patch
-flags-parameter-for-linkat-fix.patch
-vmscan-fix-zone_reclaim.patch
-gregkh-driver-sysfs-relay-channel-buffers-as-sysfs-attributes.patch
-gregkh-driver-relay-consolidate-relayfs-core-into-kernel-relay.c.patch
-gregkh-driver-sysfs-update-relay-file-support-for-generic-relay-api.patch
-gregkh-driver-relayfs-remove-relayfs-in-favour-of-config_relay.patch
-gregkh-driver-relay-relay-header-cleanup.patch
-gregkh-driver-sysfs-add-__attr_relay-helper-for-relay-attributes.patch
-add-cpia2-camera-support.patch
-drivers-net-tlanc-ifdef-config_pci-the-pci-specific-code.patch
-git-pcmcia-fixup.patch
-git-scsi-misc-restore-zeroing-of-packet_command-struct-in-sr_ioctlc.patch
-x86_64-mm-no_iommu-removal-in-pci-gartc.patch
-x86_64-mm-fix-user_ptrs_per_pgd.patch
-powerpc-newline-for-isync_on_smp.patch
-powerpc-native-atomic_add_unless.patch
-sem2mutex-nfs-idmapc.patch

Merged

+move-pci_dev_put-outside-a-spinlock.patch
+x86-microcode-driver-vs-hotplug-cpus.patch
+x86-microcode-driver-vs-hotplug-cpus-fix.patch
+fix-sys_migrate_pages-move-all-pages-when-invoked-from-root.patch
+powerpc-vdso-64bits-gettimeofday-bug.patch
+fuse-fix-bug-in-negative-lookup.patch
+s390-multiple-subchannel-sets-support-fix.patch
+drives-mtd-redbootc-recognise-a-foreign-byte-sex-partition-table.patch
+altix-more-ioc3-cleanups.patch
+video1394-fix-return-e-typo.patch
+tty-buffering-comment-out-debug-code.patch
+remove_from_swap-fix-locking.patch
+nommu-implement-vmalloc_node.patch
+mips-only-include-iomap-on-systems-with-pci.patch
+add-mm-task_size-and-fix-powerpc-vdso.patch

2.6.16 queue (mostly)

+dont-check-vfree-argument-for-null-in-vx_pcm.patch
+dont-check-vfree-arg-for-null-in-usbaudio.patch
+dont-null-check-vfree-argument-in-pdaudiocf_pcm.patch

ALSA cleanups

-git-audit-inotify_inode_queue_event-fix.patch
-sem2mutex-audit_netlink_sem.patch

Dropped due to droppage of git-audit-master.patch

+gregkh-driver-driver-core-add-macros-notice-dev_notice.patch

driver tree update

+input-pcspkr-device-and-driver-separation.patch
+input-pcspkr-device-and-driver-separation-fix.patch
+input-pcspkr-device-and-driver-separation-fix-2.patch
+input-pcspkr-device-and-driver-separation-fix-3.patch

PC speaker refactoring

-sata-acpi-build.patch
-sata-acpi-objects-support.patch
-additional-libata-parameters.patch

Old. Dropped.

+mmc-au1xmmc-fix-compilation-error-by-using-platform_driver.patch
+mmc-au1xmmc-fix-linking-error-because-mmc_rsp_type-doesnt-exist.patch
+mmc-au1xmmc-fix-a-compilation-warning-status-is-not-used.patch

MMC driver fixes

+ne2000-kconfig-help-entry-improvement.patch
+de620-fix-section-mismatch-warning.patch
+via-velocity-massive-memory-corruption-with-jumbo-frames.patch

netdev fixes

+git-net-fixup.patch

Fix reject in git-net.patch

+net-socket-timestamp-32-bit-handler-for-64-bit-kernel-fix.patch

Nicen net-socket-timestamp-32-bit-handler-for-64-bit-kernel-tidy.patch

+atm-fix-section-mismatch-warnings-in-fore200ec.patch
+wan-fix-section-mismatch-warning-in-sbni.patch

Net fixlets

+gregkh-pci-acpiphp-fix-bridge-handle.patch

PCI tree update

+small-whitespace-cleanup-for-qlogic-driver.patch

qlogic cleanup

+git-scsi-rc-fixes-fixup.patch

Fix rejects in git-scsi-rc-fixes.patch

+gregkh-usb-usb-reduce-syslog-clutter.patch

USB tree update

+x86_64-mm-raw1394-compat.patch
+x86_64-mm-prefetch-the-mmap_sem-in-the-fault-path.patch
+x86_64-mm-kernel-at-2mb.patch
+x86_64-mm-empty-pxm.patch
+x86_64-mm-s-overwrite-override--in-arch-x86-64.patch
+x86_64-mm-dmi-year.patch
+x86_64-mm-dmi-early.patch
+x86_64-mm-fixmap-init.patch
+x86_64-mm-head-first.patch
+x86_64-mm-drop-iommu-bus-check.patch
+x86_64-mm-year-check.patch
+x86_64-mm-time-style.patch
+x86_64-mm-reenable-cmos-warning.patch
+x86_64-mm-c3-timer-check-amd.patch

x86_64 tree updates

+x86_64-mm-dmi-year-fix.patch
+revert-x86_64-mm-dmi-early.patch
+x86_64-mm-c3-timer-check-amd-fix.patch

Fix it.

+vmscan-use-unsigned-longs-shrink_all_memory-fix.patch

Update vmscan-use-unsigned-longs.patch

+uninline-sys_mmap-common-code-reduce-binary-size.patch
+vmscan-remove-obsolete-checks-from-shrink_list-and-fix-unlikely-in-refill_inactive-zone.patch
+page-migration-fail-if-page-is-in-a-vma-flagged-vm_locked.patch
+usb-fix-ehci-bios-handshake.patch
+shmem-inline-to-avoid-warning.patch
+readahead-prev_page-can-overrun-the-ahead-window.patch
+readahead-fix-initial-window-size-calculation.patch
+enable-mprotect-on-huge-pages.patch
+hugepage-small-fixes-to-hugepage-clear-copy-path.patch
+hugepage-small-fixes-to-hugepage-clear-copy-path-tidy.patch
+hugepage-serialize-hugepage-allocation-and-instantiation.patch
+hugepage-serialize-hugepage-allocation-and-instantiation-tidy.patch
+hugepage-strict-page-reservation-for-hugepage-inodes.patch
+mm-make-shrink_all_memory-try-harder.patch

Various mm things.

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

Bring back swap-prefetch.

+selinux-fix-hard-link-count-for-selinuxfs-root-directory.patch

Fix SELinux patches in -mm.

+x86-start-early_printk-at-sensible-screen-row.patch
+x86-early-printk-remove-max_ypos-and-max_xpos-macros.patch
+i386-more-vsyscall-documentation.patch
+fix-implicit-declaration-of-get_apic_id-in-arch-i386-kernel-apicc.patch
+fix-the-imlicit-declaration-of-mtrr_centaur_report_mcr-in-arch-i386-kernel-cpu-centaurc.patch
+fix-the-imlicit-declaration-of-mtrr_centaur_report_mcr-in-arch-i386-kernel-cpu-centaurc-fix.patch

x86 updates

+x86_64-clean-up-timer-messages.patch

x86_64 fixlet.

+sem2mutex-blockdev-2-git-blktrace-fix.patch

Restored.

+cpuset-memory-spread-slab-cache-filesys.patch
+cpuset-memory-spread-slab-cache-format.patch

Apply cpuset slab spreading to lots of inode caches.

+add-missing-ifdef-for-via-rng-code.patch
+constify-tty-flip-buffer-handling.patch
+let-dac960-supply-entropy-to-random-pool.patch
+drivers-block-nbdc-dont-defer-compile-error-to-runtime.patch
+hysdn-remove-custom-types.patch
+remove-module_parm.patch
+remove-module_parm-fix.patch
+kernel-paramsc-make-param_array-static.patch
+fix-edd-to-properly-ignore-signature-of-non-existing-drives.patch
+fix-defined-but-not-used-warning-in-net-rxrpc-maincrxrpc_initialise.patch
+sysrq-cleanup.patch
+cache-align-futex-hash-buckets.patch
+inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
+inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix.patch
+ide-fix-section-mismatch-warning.patch
+block-floppy-fix-section-mismatch-warnings.patch
+move-pp_major-from-ppdevh-to-majorh.patch
+pnp-modalias-sysfs-export.patch
+mark-unwind-info-for-signal-trampolines-in-vdsos.patch

Misc patches.

+copy_process-cleanup-bad_fork_cleanup_signal-update.patch

Fix copy_process-cleanup-bad_fork_cleanup_signal.patch

-tiny-configurable-support-for-pci-serial-ports.patch

Dropped.

+kprobe-handler-discard-user-space-trap.patch

kprobes fix.

+sched-smpnice-fix-average-load-per-run-queue-calculations.patch

Update sched-implement-smpnice.patch

+oss-sonicvibesc-defines-its-own-hweight32.patch

Remove private hweight32()

+unify-pfn_to_page-sparc64-pfn_to_page-fix.patch

Fix unify-pfn_to_page-sparc64-pfn_to_page.patch

+for_each_online_pgdat-take2-define.patch
+for_each_online_pgdat-take2-for_each_bootmem.patch
+for_each_online_pgdat-take2-renaming.patch
+for_each_online_pgdat-take2-remove-sorting-pgdat.patch
+for_each_online_pgdat-take2-remove-pgdat_list.patch

Clean up iterating over NUMA node memory structures.

+uninline-zone-helpers.patch
+uninline-zone-helpers-fix.patch
+uninline-zone-helpers-prefetch-fix.patch

Uninline a few things.

+mips-fixed-collision-of-rtc-function-name.patch
+rtc-subsystem-library-functions.patch
+rtc-subsystem-class.patch
+rtc-subsystem-class-fix.patch
+rtc-subsystem-class-fix-2.patch

Updated rtc subsystem patches

+trivial-cleanup-to-proc_check_chroot.patch
+proc-fix-the-inode-number-on-proc-pid-fd.patch
+proc-remove-useless-bkl-in-proc_pid_readlink.patch
+proc-remove-unnecessary-and-misleading-assignments.patch
+proc-simplify-the-ownership-rules-for-proc.patch
+proc-replace-proc_inodetype-with-proc_inodefd.patch
+proc-remove-bogus-proc_task_permission.patch
+proc-kill-proc_mem_inode_operations.patch
+proc-properly-filter-out-files-that-are-not-visible.patch
+proc-fix-the-link-count-for-proc-pid-task.patch
+proc-move-proc_maps_operations-into-task_mmuc.patch
+dcache-add-helper-d_hash_and_lookup.patch
+proc-rewrite-the-proc-dentry-flush-on-exit.patch
+proc-close-the-race-of-a-process-dying-durning.patch
+proc-refactor-reading-directories-of-tasks.patch
+proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
+tref-implement-task-references.patch
+proc-dont-lock-task_structs-indefinitely.patch
+proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
+proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
+proc-optimize-proc_check_dentry_visible.patch

procfs rework.

+ide_generic_all_on-warning-fix.patch

Fix IDE warning

+vgacon-fix-ega-cursor-resize-function.patch

vgacon fix

+fbdev-framebuffer-driver-for-geode-gx-Kconfig-fix.patch

Fix fbdev-framebuffer-driver-for-geode-gx.patch

+kgdb-ga-remove-stuff.patch
+kgdb-remove-NO_CPUS.patch
+kgdb-remove-KGDB_TS.patch
+kgdb-remove-STACK_OVERFLOW_TEST.patch
+kgdb-remove-TRAP_BAD_SYSCALL_EXITS.patch
+kgdb-always-KGDB_CONSOLE.patch
+kgdb-remove-CONFIG_KGDB_USER_CONSOLE.patch
+kgdb-serial-cleanup.patch
+kgdb-serial-cleanup-2.patch
+kgdb-serial-cleanup-3.patch
+kgdb-nmi-cleanup.patch
+kgdb-cleanup-version.patch
+kgdb-cleanup-includes.patch
+kgdb-remove-KGDB_SYSRQ.patch
+kgdb-rename-breakpoint.patch
+kgdb-convert-for-cpu-helpers.patch
+kgdb-select-debug_info.patch

The -mm kgdb stub is rotting a bit. Before fixing it I need to be able to
read it.

-kgdboe-netpoll.patch
-kgdb-x86_64-support.patch

These broke.

+revert-tty-buffering-comment-out-debug-code.patch

tty debugging patch for -mm.

+vfree-null-check-fixup-for-sb_card.patch
+maestro3-vfree-null-check-fixup.patch
+no-need-to-check-vfree-arg-for-null-in-oss-sequencer.patch
+vfree-does-its-own-null-check-no-need-to-be-explicit-in-oss-msndc.patch
+fix-signed-vs-unsigned-in-nmi-watchdog.patch
+trivial-typos-in-documentation-cputopologytxt.patch

Little fixes



All 1259 patches:

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



2006-02-28 14:41:15

by Cornelia Huck

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

On Tue, 28 Feb 2006 04:24:39 -0800
Andrew Morton <[email protected]> wrote:

> +s390-multiple-subchannel-sets-support-fix.patch

If neither Greg nor Martin (on cc:) object, I'd prefer this patch to be
replaced with the one in
http://marc.theaimsgroup.com/?l=linux-kernel&m=114102840429459&q=raw
(it has a better check of the response code).

Cornelia

2006-02-28 14:55:45

by Martin Schwidefsky

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

On Tue, 2006-02-28 at 15:41 +0100, Cornelia Huck wrote:
> On Tue, 28 Feb 2006 04:24:39 -0800
> Andrew Morton <[email protected]> wrote:
>
> > +s390-multiple-subchannel-sets-support-fix.patch
>
> If neither Greg nor Martin (on cc:) object, I'd prefer this patch to be
> replaced with the one in
> http://marc.theaimsgroup.com/?l=linux-kernel&m=114102840429459&q=raw
> (it has a better check of the response code).

Fine with me.

--
blue skies,
Martin

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH


2006-02-28 15:01:12

by Michal Piotrowski

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

Hi,

On 28/02/06, Andrew Morton <[email protected]> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
>
>
> - A large procfs rework from Eric Biederman.
>
> - The swap prefetching patch is back.
>
[snip]
> +inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
> +inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix.patch

I have noticed this:
Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
inotify_d_instantiate+0x2f/0x62
Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
d_instantiate+0x46/0x72
Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
ext3_add_nondir+0x2c/0x40
Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb

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

Regards,
Michal

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

2006-02-28 15:08:24

by Greg Smith

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


From: Cornelia Huck <[email protected]>

> If neither Greg nor Martin (on cc:) object, I'd prefer this patch
> to be
> replaced with the one in
> http://marc.theaimsgroup.com/?l=linux-kernel&m=114102840429459&q=raw
> (it has a better check of the response code).

No objections here. Thanks Cornelia.

Greg Smith

2006-02-28 16:20:32

by Michal Piotrowski

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

On 28/02/06, Michal Piotrowski <[email protected]> wrote:
> Hi,
>
> On 28/02/06, Andrew Morton <[email protected]> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
> >
> >
> > - A large procfs rework from Eric Biederman.
> >
> > - The swap prefetching patch is back.
> >
> [snip]
> > +inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
> > +inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix.patch
>
> I have noticed this:
> Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
> /usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
> Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
> Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
> Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
> inotify_d_instantiate+0x2f/0x62
> Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
> d_instantiate+0x46/0x72
> Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
> ext3_add_nondir+0x2c/0x40
> Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
> Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
> Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
> Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
> Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
>
> Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
> Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config

This patch is causing that warning
inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch

It's full reproductible on my system, it appears when I start mozilla
thunderbird (v 1.0.7).

Regards,
Michal

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

2006-02-28 19:41:10

by Alexey Dobriyan

[permalink] [raw]
Subject: usb usb5: Manufacturer: Linux 2.6.16-rc5-mm1 ehci_hcd

Lines like the one below puzzle me for a couple -mm's:

usb usb5: new device found, idVendor=0000, idProduct=0000
usb usb5: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: EHCI Host Controller
==> usb usb5: Manufacturer: Linux 2.6.16-rc5-mm1 ehci_hcd <==
usb usb5: SerialNumber: 0000:00:1d.7
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 8 ports detected

Is it supposed to contain "Intel" and "Corporation"?

P.S.: 00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R)
USB2 EHCI Controller (rev 02)

2006-02-28 20:48:31

by Alan Stern

[permalink] [raw]
Subject: Re: [linux-usb-devel] usb usb5: Manufacturer: Linux 2.6.16-rc5-mm1 ehci_hcd

On Tue, 28 Feb 2006, Alexey Dobriyan wrote:

> Lines like the one below puzzle me for a couple -mm's:
>
> usb usb5: new device found, idVendor=0000, idProduct=0000
> usb usb5: new device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb5: Product: EHCI Host Controller
> ==> usb usb5: Manufacturer: Linux 2.6.16-rc5-mm1 ehci_hcd <==
> usb usb5: SerialNumber: 0000:00:1d.7
> usb usb5: configuration #1 chosen from 1 choice
> hub 5-0:1.0: USB hub found
> hub 5-0:1.0: 8 ports detected
>
> Is it supposed to contain "Intel" and "Corporation"?
>
> P.S.: 00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R)
> USB2 EHCI Controller (rev 02)

The log is not supposed to say "Intel Corporation".

The controller hardware does not contain a manufacturer string anywhere,
so instead the driver makes up a name based on the current kernel version.
(Likewise for the serial number; the driver makes up a name based on the
device's path.)

The name you see in the lspci output actually comes from the lspci program
itself, based on a code number embedded in the controller.

It has always been this way, and not just in -mm.

Alan Stern

2006-02-28 20:48:06

by Mattia Dongili

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

On Tue, Feb 28, 2006 at 04:24:39AM -0800, Andrew Morton wrote:
[...]
> +mips-fixed-collision-of-rtc-function-name.patch
> +rtc-subsystem-library-functions.patch
> +rtc-subsystem-class.patch
> +rtc-subsystem-class-fix.patch
> +rtc-subsystem-class-fix-2.patch
>
> Updated rtc subsystem patches

in drives/Makefile the line

obj-$(CONFIG_RTC_CLASS) += /rtc

causes the missing symbols
WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-test.ko needs unknown symbol rtc_time_to_tm
WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-core.ko needs unknown symbol rtc_valid_tm
WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-sysfs.ko needs unknown symbol rtc_tm_to_tim

when CONFIG_RTC_*=m. Maybe obj-y is nedded instead?

--
mattia
:wq!

2006-02-28 21:13:35

by Jesper Juhl

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

On 2/28/06, Andrew Morton <[email protected]> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
>

Ok, something is definately broken in this kernel.

If I launch Eclipse (http://www.eclipse.org/) while running a
2.6.16-rc5-mm1 kernel it loads for a second or two and then the box
just locks up solid.

I then went back to my previous kernel, 2.6.16-rc4-mm2, and there's no
problem what-so-ever when running that kernel (everything else
identical) - eclipse loads and runs just fine.

Since I'm in X when the lockup happens and I don't have enough time
from clicking the eclipse icon to the box locks up to make a switch to
a text console I don't know if an Oops or similar is dumped to the
console (there's nothing in the locks after a reboot) :-(

Unfortunately I don't have a second box to use with serial console or
netconsole, but I'll see if I can somehow get some console messages -
perhaps by slowing down the eclipse load process somehow... I'll see
what I can do and report back when I have more into.
If all else fails and noone on LKML can suggest patches to try and
revert or similar I guess I'll eventually do a git bisect, but I'd
rather try other things first...

The version of Eclipse I'm running is 3.1.2

The problem is completely reproducible (well, at least it occoured 6
times in a row and that's how many times I tried).

Sorry for the lack of detail, but I thought I'd better report the
issue at once and then follow up with details later :)

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-02-28 22:26:30

by Jiri Slaby

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jesper Juhl napsal(a):
> Since I'm in X when the lockup happens and I don't have enough time
> from clicking the eclipse icon to the box locks up to make a switch to
> a text console I don't know if an Oops or similar is dumped to the
> console (there's nothing in the locks after a reboot) :-(
So why don't just run eclipse from console (DISPLAY=... eclipse), or use atd,
crond... (less common variants)?

regards,
- --
Jiri Slaby http://www.fi.muni.cz/~xslaby
~\-/~ [email protected] ~\-/~
B67499670407CE62ACC8 22A032CC55C339D47A7E
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFEBM45MsxVwznUen4RAiABAKCUFCSNKZY44nCs70siadm7DKwIgACfQi8z
QQaYcwZXIsjIvVpWJAfPFog=
=thwP
-----END PGP SIGNATURE-----

2006-02-28 22:30:55

by Jesper Juhl

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

On 2/28/06, Jiri Slaby <[email protected]> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Jesper Juhl napsal(a):
> > Since I'm in X when the lockup happens and I don't have enough time
> > from clicking the eclipse icon to the box locks up to make a switch to
> > a text console I don't know if an Oops or similar is dumped to the
> > console (there's nothing in the locks after a reboot) :-(
> So why don't just run eclipse from console (DISPLAY=... eclipse), or use atd,
> crond... (less common variants)?
>

Good idea, thanks. Dunno why I didn't think of that.

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-02-28 22:34:28

by Rafael J. Wysocki

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

On Tuesday 28 February 2006 13:24, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
>
>
> - A large procfs rework from Eric Biederman.
>
> - The swap prefetching patch is back.

With this kernel something that causes the appended trace to appear happens on
my box (Asus L5D, 1 CPU, x86-64) 100% of the time during boot.

Greetings,
Rafael


usbcore: registered new driver usbserial
usbserial: USB Serial support registered for generic
usbcore: registered new driver usbserial_generic
usbserial: USB Serial Driver core
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:113/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
BUG: warning at kernel/fork.c:114/__put_task_struct()

Call Trace: <IRQ> <ffffffff80229c5d>{__put_task_struct+109}
<ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
<ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
general protection fault: 0000 [1] PREEMPT
last sysfs file: /class/vc/vcsa2/dev
CPU 0
Modules linked in: usbserial asus_acpi thermal processor fan button battery ac snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device af_packet p
cmcia firmware_class ohci1394 ieee1394 yenta_socket rsrc_nonstatic pcmcia_core usbhid sk98lin snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_
pcm ip6t_REJECT xt_tcpudp snd_timer snd ipt_REJECT xt_state soundcore iptable_mangle snd_page_alloc iptable_nat ip_nat iptable_filter i2c_n
force2 ip6table_mangle i2c_core ehci_hcd ohci_hcd ip_conntrack ip_tables ip6table_filter ip6_tables x_tables ipv6 parport_pc lp parport dm_
mod
Pid: 820, comm: kjournald Not tainted 2.6.16-rc5-mm1 #70
RIP: 0010:[<ffffffff8046747c>] <ffffffff8046747c>{schedule+1164}
RSP: 0000:ffff810001c53c38 EFLAGS: 00010007
RAX: 0000000000000000 RBX: 6b6b6b6b6b6b6b6b RCX: 949494959493a4ca
RDX: ffff810027ce1050 RSI: 0000000000000000 RDI: ffff810027ce1050
RBP: ffff810001c53c98 R08: ffff810001a83040 R09: 0000000000000009
R10: 00000000ffffffff R11: 0000000000000001 R12: ffff81002c8de4c8
R13: ffff81002fdf72f8 R14: ffff810001a83040 R15: 000000000000390b
FS: 00002adb23959b00(0000) GS:ffffffff8068d000(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00002b5b92aa91de CR3: 0000000027329000 CR4: 00000000000006e0
Process kjournald (pid: 820, threadinfo ffff810001c52000, task ffff81002fdf7090)
Stack: ffff81002fdf7090 ffff810027ce1050 ffff810001c53d18 ffff810001f2af10
ffff810001c53c78 ffff810001f2af10 ffff810001c53c78 ffff810001c53d08
ffff810001c53d18 0000000000000002
Call Trace: <ffffffff804676df>{io_schedule+15} <ffffffff8027efeb>{sync_buffer+59}
<ffffffff80468015>{__wait_on_bit_lock+69} <ffffffff8027efb0>{sync_buffer+0}
<ffffffff8027efb0>{sync_buffer+0} <ffffffff804680c8>{out_of_line_wait_on_bit_lock+120}
<ffffffff80242690>{wake_bit_function+0} <ffffffff8027e574>{__lock_buffer+36}
<ffffffff8027fdc1>{ll_rw_block+65} <ffffffff8030a3ab>{journal_commit_transaction+1659}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff8046981d>{_spin_unlock_irqrestore+29}
<ffffffff8030e5c3>{kjournald+339} <ffffffff80242520>{autoremove_wake_function+0}
<ffffffff8030e470>{kjournald+0} <ffffffff80242309>{kthread+217}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff80228929>{schedule_tail+73}
<ffffffff8020a85e>{child_rip+8} <ffffffff80242230>{kthread+0}
<ffffffff8020a856>{child_rip+0}

Code: 0f ab 83 d8 02 00 00 48 8b 53 48 48 b8 ff ff ff 7f ff ff ff
RIP <ffffffff8046747c>{schedule+1164} RSP <ffff810001c53c38>
<0>BUG: spinlock recursion on CPU#0, kjournald/820
lock: ffffffff80613400, .magic: dead4ead, .owner: kjournald/820, .owner_cpu: 0

Call Trace: <IRQ> <ffffffff80354555>{spin_bug+165} <ffffffff803547c1>{_raw_spin_lock+81}
<ffffffff80469837>{_spin_unlock_irqrestore+55} <ffffffff804693ee>{_spin_lock+30}
<ffffffff80469837>{_spin_unlock_irqrestore+55} <ffffffff80228367>{try_to_wake_up+55}
<ffffffff8022849d>{default_wake_function+13} <ffffffff80227463>{__wake_up_common+67}
<ffffffff802274e3>{__wake_up+67} <ffffffff8023e900>{delayed_work_timer_fn+0}
<ffffffff8023e42d>{__queue_work+93} <ffffffff8023e929>{delayed_work_timer_fn+41}
<ffffffff80236e39>{run_timer_softirq+361} <ffffffff802322e4>{__do_softirq+84}
<ffffffff8020abae>{call_softirq+30} <ffffffff8020c7d4>{do_softirq+52}
<ffffffff8023215f>{irq_exit+63} <ffffffff8020c781>{do_IRQ+65}
<ffffffff8020a232>{ret_from_intr+0} <EOI> <ffffffff804697cf>{_spin_unlock_irq+15}
<ffffffff804697c9>{_spin_unlock_irq+9} <ffffffff80468df6>{__down_read+54}
<ffffffff8023c2c2>{blocking_notifier_call_chain+34}
<ffffffff8022dae5>{profile_task_exit+21} <ffffffff8022f1e5>{do_exit+37}
<ffffffff8046981d>{_spin_unlock_irqrestore+29} <ffffffff8020b5a4>{die+84}
<ffffffff8020bae0>{do_general_protection+272} <ffffffff8020a6a5>{error_exit+0}
<ffffffff8046747c>{schedule+1164} <ffffffff80467468>{schedule+1144}
<ffffffff804676df>{io_schedule+15} <ffffffff8027efeb>{sync_buffer+59}
<ffffffff80468015>{__wait_on_bit_lock+69} <ffffffff8027efb0>{sync_buffer+0}
<ffffffff8027efb0>{sync_buffer+0} <ffffffff804680c8>{out_of_line_wait_on_bit_lock+120}
<ffffffff80242690>{wake_bit_function+0} <ffffffff8027e574>{__lock_buffer+36}
<ffffffff8027fdc1>{ll_rw_block+65} <ffffffff8030a3ab>{journal_commit_transaction+1659}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff8046981d>{_spin_unlock_irqrestore+29}
<ffffffff8030e5c3>{kjournald+339} <ffffffff80242520>{autoremove_wake_function+0}
<ffffffff8030e470>{kjournald+0} <ffffffff80242309>{kthread+217}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff80228929>{schedule_tail+73}
<ffffffff8020a85e>{child_rip+8} <ffffffff80242230>{kthread+0}
<ffffffff8020a856>{child_rip+0}
NMI Watchdog detected LOCKUP on CPU 0
CPU 0
Modules linked in: usbserial asus_acpi thermal processor fan button battery ac snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device af_packet p
cmcia firmware_class ohci1394 ieee1394 yenta_socket rsrc_nonstatic pcmcia_core usbhid sk98lin snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_
pcm ip6t_REJECT xt_tcpudp snd_timer snd ipt_REJECT xt_state soundcore iptable_mangle snd_page_alloc iptable_nat ip_nat iptable_filter i2c_n
force2 ip6table_mangle i2c_core ehci_hcd ohci_hcd ip_conntrack ip_tables ip6table_filter ip6_tables x_tables ipv6 parport_pc lp parport dm_
mod
Pid: 820, comm: kjournald Not tainted 2.6.16-rc5-mm1 #70
RIP: 0010:[<ffffffff80354817>] <ffffffff80354817>{_raw_spin_lock+167}
RSP: 0000:ffffffff80606d68 EFLAGS: 00000006
RAX: 000000006b1712ca RBX: ffffffff80613400 RCX: 00000000006da909
RDX: 0000000001b6a424 RSI: ffffffff804a674b RDI: 0000000000000001
RBP: ffffffff80606d88 R08: 0000000000000002 R09: 0000000000000001
R10: 0000000000000000 R11: 000000000000000a R12: 000000001b82fd67
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000086
FS: 00002adb23959b00(0000) GS:ffffffff8068d000(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00002b5b92aa91de CR3: 0000000027329000 CR4: 00000000000006e0
Process kjournald (pid: 820, threadinfo ffff810001c52000, task ffff81002fdf7090)
Stack: ffffffff80469837 ffffffff80613400 ffff81002fd2db40 ffff810001c47090
ffffffff80606da8 ffffffff804693ee ffffffff80469837 0000000000000003
ffffffff80606de8 ffffffff80228367
Call Trace: <IRQ> <ffffffff80469837>{_spin_unlock_irqrestore+55}
<ffffffff804693ee>{_spin_lock+30} <ffffffff80469837>{_spin_unlock_irqrestore+55}
<ffffffff80228367>{try_to_wake_up+55} <ffffffff8022849d>{default_wake_function+13}
<ffffffff80227463>{__wake_up_common+67} <ffffffff802274e3>{__wake_up+67}
<ffffffff8023e900>{delayed_work_timer_fn+0} <ffffffff8023e42d>{__queue_work+93}
<ffffffff8023e929>{delayed_work_timer_fn+41} <ffffffff80236e39>{run_timer_softirq+361}
<ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
<ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
<ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
<ffffffff804697cf>{_spin_unlock_irq+15} <ffffffff804697c9>{_spin_unlock_irq+9}
<ffffffff80468df6>{__down_read+54} <ffffffff8023c2c2>{blocking_notifier_call_chain+34}
<ffffffff8022dae5>{profile_task_exit+21} <ffffffff8022f1e5>{do_exit+37}
<ffffffff8046981d>{_spin_unlock_irqrestore+29} <ffffffff8020b5a4>{die+84}
<ffffffff8020bae0>{do_general_protection+272} <ffffffff8020a6a5>{error_exit+0}
<ffffffff8046747c>{schedule+1164} <ffffffff80467468>{schedule+1144}
<ffffffff804676df>{io_schedule+15} <ffffffff8027efeb>{sync_buffer+59}
<ffffffff80468015>{__wait_on_bit_lock+69} <ffffffff8027efb0>{sync_buffer+0}
<ffffffff8027efb0>{sync_buffer+0} <ffffffff804680c8>{out_of_line_wait_on_bit_lock+120}
<ffffffff80242690>{wake_bit_function+0} <ffffffff8027e574>{__lock_buffer+36}
<ffffffff8027fdc1>{ll_rw_block+65} <ffffffff8030a3ab>{journal_commit_transaction+1659}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff8046981d>{_spin_unlock_irqrestore+29}
<ffffffff8030e5c3>{kjournald+339} <ffffffff80242520>{autoremove_wake_function+0}
<ffffffff8030e470>{kjournald+0} <ffffffff80242309>{kthread+217}
<ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff80228929>{schedule_tail+73}
<ffffffff8020a85e>{child_rip+8} <ffffffff80242230>{kthread+0}
<ffffffff8020a856>{child_rip+0}

Code: 8b 03 c7 03 00 00 00 00 84 c0 7f 7d bf 01 00 00 00 49 ff c4
console shuts up ...

2006-02-28 23:16:55

by Andrew Morton

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

"Jesper Juhl" <[email protected]> wrote:
>
> Since I'm in X when the lockup happens and I don't have enough time
> from clicking the eclipse icon to the box locks up to make a switch to
> a text console I don't know if an Oops or similar is dumped to the
> console (there's nothing in the locks after a reboot) :-(

In a shell, do

sleep 10 ; /path-to-eclipse


2006-02-28 23:18:12

by Laurent Riffard

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

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.16-rc5-mm1
# Tue Feb 28 23:28:20 2006
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
# CONFIG_RELAY is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_UID16=y
CONFIG_VM86=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y

#
# Block layer
#
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_TSC=y
CONFIG_HPET_TIMER=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=m
CONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=m
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_REGPARM=y
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_KEXEC=y
CONFIG_PHYSICAL_START=0x100000
CONFIG_DOUBLEFAULT=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/hdb6"

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_HOTKEY=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_SONY is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=m
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_NETFILTER_XTABLES is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_NETBIOS_NS is not set
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
# CONFIG_IP_NF_PPTP is not set
CONFIG_IP_NF_QUEUE=m

#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set

#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_ESTIMATOR=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
CONFIG_WIRELESS_EXT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set

#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_CS5535 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SAS_CLASS is not set

#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_RAID6 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
# CONFIG_DM_SNAPSHOT is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
CONFIG_IEEE1394_OUI_DB=y
# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
# CONFIG_IEEE1394_EXPORT_FULL_API is not set

#
# Device Drivers
#
# CONFIG_IEEE1394_PCILYNX is not set
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
# CONFIG_IEEE1394_SBP2 is not set
# CONFIG_IEEE1394_ETH1394 is not set
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# PHY device support
#
# CONFIG_PHYLIB is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
CONFIG_NE2K_PCI=y
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
CONFIG_NET_RADIO=y

#
# Obsolete Wireless cards support (pre-802.11)
#
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set

#
# Wireless 802.11b ISA/PCI cards support
#
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set

#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
#
CONFIG_PRISM54=m
# CONFIG_HOSTAP is not set
# CONFIG_ACX is not set
CONFIG_NET_WIRELESS=y

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_UINPUT is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=m
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=m
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=m
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_MWAVE is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Hardware Monitoring support
#
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
CONFIG_SENSORS_LM80=m
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
CONFIG_SENSORS_VIA686A=m
# CONFIG_SENSORS_VT8231 is not set
CONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=m

#
# Video For Linux
#

#
# Video Adapters
#
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_W9966 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_VIDEO_OVCAMCHIP is not set
# CONFIG_VIDEO_AUDIO_DECODER is not set
# CONFIG_VIDEO_DECODER is not set

#
# Radio Adapters
#
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not set
# CONFIG_RADIO_GEMTEK is not set
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
# CONFIG_RADIO_SF16FMI is not set
# CONFIG_RADIO_SF16FMR2 is not set
# CONFIG_RADIO_TERRATEC is not set
# CONFIG_RADIO_TRUST is not set
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_FIRMWARE_EDID=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

#
# Logo configuration
#
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_SEQUENCER_OSS is not set
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_AC97_BUS=m
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# ISA devices
#
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
# CONFIG_SND_WAVEFRONT is not set

#
# PCI devices
#
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
CONFIG_SND_ENS1371=m
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_USBFS2=m

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_SPLIT_ISO is not set
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set

#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_STV680 is not set
# CONFIG_USB_ZC0301 is not set
# CONFIG_USB_PWC is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_MON is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_GOTEMP is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# LED devices
#
# CONFIG_NEW_LEDS is not set

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set

#
# SN Devices
#

#
# EDAC - error detection and reporting (RAS)
#
CONFIG_EDAC=m

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD76X=m
CONFIG_EDAC_E7XXX=m
# CONFIG_EDAC_E752X is not set
CONFIG_EDAC_I82875P=m
# CONFIG_EDAC_I82860 is not set
CONFIG_EDAC_R82600=m
CONFIG_EDAC_POLL=y

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set

#
# Real Time Clock
#
# CONFIG_RTC_CLASS is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT2_FS_XIP=y
CONFIG_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISER4_FS=m
CONFIG_REISER4_DEBUG=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
# CONFIG_FUSE_FS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=850
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ASFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Instrumentation Support
#
# CONFIG_PROFILING is not set
# CONFIG_KPROBES is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
CONFIG_UNWIND_INFO=y
CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_SYNCHRO_TEST is not set
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_STACK_BACKTRACE_COLS=1

#
# Page alloc debug is incompatible with Software Suspend on i386
#
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_INITDATA=y
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
# CONFIG_KGDB is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_TEST is not set

#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y


Attachments:
kernel2.log (26.08 kB)
config-2.6.16-rc5-mm1 (40.82 kB)
Download all attachments

2006-02-28 23:34:00

by Jesper Juhl

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

On 3/1/06, Andrew Morton <[email protected]> wrote:
> "Jesper Juhl" <[email protected]> wrote:
> >
> > Since I'm in X when the lockup happens and I don't have enough time
> > from clicking the eclipse icon to the box locks up to make a switch to
> > a text console I don't know if an Oops or similar is dumped to the
> > console (there's nothing in the locks after a reboot) :-(
>
> In a shell, do
>
> sleep 10 ; /path-to-eclipse
>

Yeah, I did (in a plain text console) :

export DISPLAY=:0.0 ; sleep 3 ; eclipse

then switched to tty0 and got the following - written down by hand so
I left out some bits, hope I got the important bits - a few things may
have scrolled off the top of the screen though..
If needed this is completely repproducible, so in a pinch I could
reboot with a higher fb resolution + write down every little bit by
hand, but I hope the following is enough :

EIP is at __wake_up_common+0x15/0x60
...
Process swapper (pid:0, threadinfo=c0454000 task=c03b9ae0)
Stack: ...
...
Call trace:
show_stack_log_lvl show_registers
die do_page_fault
error_code __wake_up
__wake_up_bit wake_up_bit
unlock_buffer end_buffer_read_sync
end_bio_bh_io_sync bio_endio
__end_that_request_first end_that_request_chunk
scsi_end_request scsi_io_completion
sd_rw_intr scsi_finish_command
scsi_softirq_done blk_done_softirq
__do_softirq do_softirq
==============
irq_exit do_IRQ
common_interrupt cpu_idle
rest_init start_kernel
0xc0100210
Code: ...
...
Kernel panic - not syncing: Fatal exception in interrupt
BUG: warning at arch/i386/kernel/smp.c:538/smp_call_function
show_trace dump_stack
smp_call_function smp_send_stop
panic die
do_page_fault error_code
__wake_up __wake_up_bit
wake_up_bit unlock_buffer
end_buffer_read_sync end_bio_bh_io_sync
bio_endio __end_that_request_first
end_that_request_chunk scsi_end_request
scsi_io_completion sd_rw_intr
scsi_finish_command scsi_softirq_done
blk_done_softirq __do_softirq
do_softirq
===========
irq_exit do_IRQ
common_interrupt cpu_idle
rest_init start_kernel
0xc0100210



--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-02-28 23:49:45

by Alessandro Zummo

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

On Tue, 28 Feb 2006 21:48:50 +0100
Mattia Dongili <[email protected]> wrote:

> in drives/Makefile the line
>
> obj-$(CONFIG_RTC_CLASS) += /rtc
>
> causes the missing symbols
> WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-test.ko needs unknown symbol rtc_time_to_tm
> WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-core.ko needs unknown symbol rtc_valid_tm
> WARNING: /lib/modules/2.6.16-rc5-mm1-1/kernel/drivers/rtc/rtc-sysfs.ko needs unknown symbol rtc_tm_to_tim
>
> when CONFIG_RTC_*=m. Maybe obj-y is nedded instead?


Hi,

thanks. It is now fixed as a side effect of another patch. I expect
to release the new version in a couple of days.

--

Best regards,

Alessandro Zummo,
Tower Technologies - Turin, Italy

http://www.towertech.it

2006-02-28 23:49:42

by Andrew Morton

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

"Rafael J. Wysocki" <[email protected]> wrote:
>
> On Tuesday 28 February 2006 13:24, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
> >
> >
> > - A large procfs rework from Eric Biederman.
> >
> > - The swap prefetching patch is back.
>
> With this kernel something that causes the appended trace to appear happens on
> my box (Asus L5D, 1 CPU, x86-64) 100% of the time during boot.
>
> usbcore: registered new driver usbserial
> usbserial: USB Serial support registered for generic
> usbcore: registered new driver usbserial_generic
> usbserial: USB Serial Driver core
> BUG: warning at kernel/fork.c:113/__put_task_struct()
>
> Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
> <ffffffff80226f60>{__put_task_struct_cb+16} <ffffffff8023faa4>{__rcu_process_callbacks+340}
> <ffffffff8023fb47>{rcu_process_callbacks+23} <ffffffff80231fa8>{tasklet_action+72}
> <ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
> <ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
> <ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
> BUG: warning at kernel/fork.c:114/__put_task_struct()
>
> ...
> general protection fault: 0000 [1] PREEMPT
> last sysfs file: /class/vc/vcsa2/dev
> CPU 0
> Modules linked in: usbserial asus_acpi thermal processor fan button battery ac snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device af_packet p
> cmcia firmware_class ohci1394 ieee1394 yenta_socket rsrc_nonstatic pcmcia_core usbhid sk98lin snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_
> pcm ip6t_REJECT xt_tcpudp snd_timer snd ipt_REJECT xt_state soundcore iptable_mangle snd_page_alloc iptable_nat ip_nat iptable_filter i2c_n
> force2 ip6table_mangle i2c_core ehci_hcd ohci_hcd ip_conntrack ip_tables ip6table_filter ip6_tables x_tables ipv6 parport_pc lp parport dm_
> mod
> Pid: 820, comm: kjournald Not tainted 2.6.16-rc5-mm1 #70
> RIP: 0010:[<ffffffff8046747c>] <ffffffff8046747c>{schedule+1164}
> RSP: 0000:ffff810001c53c38 EFLAGS: 00010007
> RAX: 0000000000000000 RBX: 6b6b6b6b6b6b6b6b RCX: 949494959493a4ca
> RDX: ffff810027ce1050 RSI: 0000000000000000 RDI: ffff810027ce1050
> RBP: ffff810001c53c98 R08: ffff810001a83040 R09: 0000000000000009
> R10: 00000000ffffffff R11: 0000000000000001 R12: ffff81002c8de4c8
> R13: ffff81002fdf72f8 R14: ffff810001a83040 R15: 000000000000390b
> FS: 00002adb23959b00(0000) GS:ffffffff8068d000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> CR2: 00002b5b92aa91de CR3: 0000000027329000 CR4: 00000000000006e0
> Process kjournald (pid: 820, threadinfo ffff810001c52000, task ffff81002fdf7090)
> Stack: ffff81002fdf7090 ffff810027ce1050 ffff810001c53d18 ffff810001f2af10
> ffff810001c53c78 ffff810001f2af10 ffff810001c53c78 ffff810001c53d08
> ffff810001c53d18 0000000000000002
> Call Trace: <ffffffff804676df>{io_schedule+15} <ffffffff8027efeb>{sync_buffer+59}
> <ffffffff80468015>{__wait_on_bit_lock+69} <ffffffff8027efb0>{sync_buffer+0}
> <ffffffff8027efb0>{sync_buffer+0} <ffffffff804680c8>{out_of_line_wait_on_bit_lock+120}
> <ffffffff80242690>{wake_bit_function+0} <ffffffff8027e574>{__lock_buffer+36}
> <ffffffff8027fdc1>{ll_rw_block+65} <ffffffff8030a3ab>{journal_commit_transaction+1659}
> <ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff8046981d>{_spin_unlock_irqrestore+29}
> <ffffffff8030e5c3>{kjournald+339} <ffffffff80242520>{autoremove_wake_function+0}
> <ffffffff8030e470>{kjournald+0} <ffffffff80242309>{kthread+217}
> <ffffffff804697d4>{_spin_unlock_irq+20} <ffffffff80228929>{schedule_tail+73}
> <ffffffff8020a85e>{child_rip+8} <ffffffff80242230>{kthread+0}
> <ffffffff8020a856>{child_rip+0}

I'd be suspecting the /proc patches. Can you send the .config please?

2006-02-28 23:56:29

by Martin Bligh

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

Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/

New panic on IBM power4 lpar of P690. 2.6.16-rc5-git3 is OK.

(config:
http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4)

http://test.kernel.org/24165/debug/console.log


STAFProc version 2.6.2 initialized
Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=32 NUMA PSERIES LPAR
Modules linked in:
NIP: C000000000064748 LR: C000000000064764 CTR: C0000000000A8B10
REGS: c00000077dfaad30 TRAP: 0300 Not tainted (2.6.16-rc5-mm1-autokern1)
MSR: 8000000000009032 <EE,ME,IR,DR> CR: 28000488 XER: 00000000
DAR: 0000000000000000, DSISR: 0000000040000000
TASK = c00000076a1ac720[11058] 'mingetty' THREAD: c00000077dfa8000 CPU: 1
GPR00: 0000000000000007 C00000077DFAAFB0 C000000000644F70 C00000076F303F08
GPR04: C00000076D478E00 0000000000000000 C00000076D478E00 0000000000000001
GPR08: 000000000000000A 0000000000000000 00000000000001AA C00000076F303F08
GPR12: 0000000048000442 C000000000548B80 0000000010060000 0000000010060000
GPR16: 0000000010060000 0000000010080000 0000000010080000 0000000010060000
GPR20: 0000000010010000 0000000000000001 0000000000000000 0000000000000001
GPR24: 0000000010003738 C00000077255F010 0000000000000001 0000000000000000
GPR28: 0000000000000007 0000000000000000 C00000000055F4A8 C0000000041F82A0
NIP [C000000000064748] .__rcu_process_callbacks+0x1fc/0x2f8
LR [C000000000064764] .__rcu_process_callbacks+0x218/0x2f8
Call Trace:
[C00000077DFAAFB0] [C000000000064764]
.__rcu_process_callbacks+0x218/0x2f8 (unreliable)
[C00000077DFAB040] [C000000000064874] .rcu_process_callbacks+0x30/0x58
[C00000077DFAB0C0] [C000000000053848] .tasklet_action+0xe4/0x19c
[C00000077DFAB160] [C000000000053EA8] .__do_softirq+0x9c/0x16c
[C00000077DFAB200] [C00000000000B6C8] .do_softirq+0x74/0xac
[C00000077DFAB280] [C000000000054388] .irq_exit+0x64/0x7c
[C00000077DFAB300] [C00000000001E0AC] .timer_interrupt+0x460/0x48c
[C00000077DFAB3E0] [C0000000000034DC] decrementer_common+0xdc/0x100
--- Exception: 901 at ._atomic_dec_and_lock+0x3c/0xb8
LR = .mntput_no_expire+0x30/0xcc
[C00000077DFAB6D0] [C0000007680CF438] 0xc0000007680cf438 (unreliable)
[C00000077DFAB750] [C0000000000CD6D0] .mntput_no_expire+0x30/0xcc
[C00000077DFAB7E0] [C0000000000B9F40] .path_release+0x44/0x5c
[C00000077DFAB870] [C0000000000ED840] .proc_pid_follow_link+0x34/0xf0
[C00000077DFAB900] [C0000000000BD01C] .__link_path_walk+0xe64/0x1394
[C00000077DFAB9E0] [C0000000000BD5DC] .link_path_walk+0x90/0x168
[C00000077DFABAE0] [C0000000000BDE28] .do_path_lookup+0x2fc/0x364
[C00000077DFABB90] [C0000000000BF4E0] .__user_walk_fd+0x68/0xa8
[C00000077DFABC30] [C0000000000B5578] .vfs_stat_fd+0x24/0x70
[C00000077DFABD30] [C0000000000B56BC] .sys_stat64+0x1c/0x50
[C00000077DFABE30] [C00000000000871C] syscall_exit+0x0/0x40
Instruction dump:
38000000 901d0080 e87f0040 2fa30000 419e00fc 7c6b1b78 3b800000 ebab0000
7d635b78 fbbf0040 60000000 e92b0008 <e8090000> f8410028 60000000 e9690010
<0>Kernel panic - not syncing: Fatal exception in interrupt
smp_call_function on cpu 1: other cpus not responding (1)
-- 0:conmux-control -- time-stamp -- Feb/28/06 5:08:52 --

2006-02-28 23:57:05

by Jesper Juhl

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

On 3/1/06, Laurent Riffard <[email protected]> wrote:
> Le 28.02.2006 23:30, Jesper Juhl a ?crit :
> > On 2/28/06, Jiri Slaby <[email protected]> wrote:
> >
> >>-----BEGIN PGP SIGNED MESSAGE-----
> >>Hash: SHA1
> >>
> >>Jesper Juhl napsal(a):
> >>
> >>>Since I'm in X when the lockup happens and I don't have enough time
> >>>from clicking the eclipse icon to the box locks up to make a switch to
> >>>a text console I don't know if an Oops or similar is dumped to the
> >>>console (there's nothing in the locks after a reboot) :-(
> >>
> >>So why don't just run eclipse from console (DISPLAY=... eclipse), or use atd,
> >>crond... (less common variants)?
> >>
> >
> >
> > Good idea, thanks. Dunno why I didn't think of that.
> >
> > --
> > Jesper Juhl <[email protected]>
>
> I experienced similar symptoms while launching mozilla 1.7.12. I
> found that java was the culprit.
>

I can confirm that. I just tried visiting a website, that launches a
java applet, with Firefox 1.5.0.1 which resulted in an instant freeze.
So it seems anything Java is a good test case.

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-03-01 00:28:32

by Andrew Morton

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

Laurent Riffard <[email protected]> wrote:
>
> BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034

I booted that thing on five machines, four architectures :(

Could people please test a couple more patchsets, see if we can isolate it?

http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz

is 2.6.16-rc5-mm1 minus:

proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
tref-implement-task-references.patch
proc-dont-lock-task_structs-indefinitely.patch
proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
proc-optimize-proc_check_dentry_visible.patch

and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is
2.6.16-rc5-mm1 minus:

trivial-cleanup-to-proc_check_chroot.patch
proc-fix-the-inode-number-on-proc-pid-fd.patch
proc-remove-useless-bkl-in-proc_pid_readlink.patch
proc-remove-unnecessary-and-misleading-assignments.patch
proc-simplify-the-ownership-rules-for-proc.patch
proc-replace-proc_inodetype-with-proc_inodefd.patch
proc-remove-bogus-proc_task_permission.patch
proc-kill-proc_mem_inode_operations.patch
proc-properly-filter-out-files-that-are-not-visible.patch
proc-fix-the-link-count-for-proc-pid-task.patch
proc-move-proc_maps_operations-into-task_mmuc.patch
dcache-add-helper-d_hash_and_lookup.patch
proc-rewrite-the-proc-dentry-flush-on-exit.patch
proc-close-the-race-of-a-process-dying-durning.patch
proc-refactor-reading-directories-of-tasks.patch
#
proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
tref-implement-task-references.patch
proc-dont-lock-task_structs-indefinitely.patch
proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
proc-optimize-proc_check_dentry_visible.patch


Thanks.

2006-03-01 00:33:43

by Jesper Juhl

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

On 3/1/06, Andrew Morton <[email protected]> wrote:
> Laurent Riffard <[email protected]> wrote:
> >
> > BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034
>
> I booted that thing on five machines, four architectures :(
>
> Could people please test a couple more patchsets, see if we can isolate it?
>
Sure, no problem. But it'll have to wait until tomorrow evening for me
- I have to get some sleep now or I won't ever be able to get up and
get to work tomorrow... But I'll test those as soon as I get home
tomorrow.

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-03-01 00:53:57

by Eric W. Biederman

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


Andrew Morton <[email protected]> writes:

> "Rafael J. Wysocki" <[email protected]> wrote:
>>
>> On Tuesday 28 February 2006 13:24, Andrew Morton wrote:
>>
>> usbcore: registered new driver usbserial
>> usbserial: USB Serial support registered for generic
>> usbcore: registered new driver usbserial_generic
>> usbserial: USB Serial Driver core
>> BUG: warning at kernel/fork.c:113/__put_task_struct()
>>
>> Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
>> <ffffffff80226f60>{__put_task_struct_cb+16}
> <ffffffff8023faa4>{__rcu_process_callbacks+340}
>> <ffffffff8023fb47>{rcu_process_callbacks+23}
> <ffffffff80231fa8>{tasklet_action+72}
>> <ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
>> <ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
>> <ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
>> BUG: warning at kernel/fork.c:114/__put_task_struct()
>>
>> ...
> I'd be suspecting the /proc patches. Can you send the .config please?

Yes this does feel like something got the reference counting of task structures
incorrect. And I touched a lot of reference counting. I will look into this
and see if I can find a culprit.


Eric

2006-03-01 02:16:13

by Nick Piggin

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

Michal Piotrowski wrote:
> On 28/02/06, Michal Piotrowski <[email protected]> wrote:
>
>>Hi,
>>
>>On 28/02/06, Andrew Morton <[email protected]> wrote:
>>
>>>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
>>>
>>>
>>>- A large procfs rework from Eric Biederman.
>>>
>>>- The swap prefetching patch is back.
>>>
>>
>>[snip]
>>
>>>+inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
>>>+inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix.patch
>>
>>I have noticed this:
>>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
>>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
>>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
>>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
>>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
>>inotify_d_instantiate+0x2f/0x62
>>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
>>d_instantiate+0x46/0x72
>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
>>ext3_add_nondir+0x2c/0x40
>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
>>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
>>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
>>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
>>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
>>
>>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
>>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
>
>
> This patch is causing that warning
> inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
>

The warning is harmless really. I guess it can be removed.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com

2006-03-01 02:44:56

by Andrew Morton

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

Nick Piggin <[email protected]> wrote:
>
> >>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
> >>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
> >>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
> >>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
> >>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
> >>inotify_d_instantiate+0x2f/0x62
> >>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
> >>d_instantiate+0x46/0x72
> >>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
> >>ext3_add_nondir+0x2c/0x40
> >>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
> >>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
> >>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
> >>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
> >>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> >>
> >>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
> >>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
> >
> >
> > This patch is causing that warning
> > inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
> >
>
> The warning is harmless really. I guess it can be removed.

? How did DCACHE_INOTIFY_PARENT_WATCHED get set on that dentry?

2006-03-01 03:06:12

by Paul Jackson

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

I have popped the patch stack back to including:
> trivial-cleanup-to-proc_check_chroot.patch
> proc-fix-the-inode-number-on-proc-pid-fd.patch

but not past that. It boots now, unlike before with the full patch
stack.

I will continue the hunt.

Meanwhile, on the side, I have a couple of permission problems to
report to Eric Biederman with apps that are complaining about not being
able to access /proc/<pid>/fd/[0-9]* files when before they could:

1) Logged in as root, running "/bin/ls -l /proc/*/fd/*"
causes some complaints. For example:

# /bin/ls -l /proc/2868/fd/?
/bin/ls: cannot read symbolic link /proc/2868/fd/6: Permission denied
/bin/ls: cannot read symbolic link /proc/2868/fd/7: Permission denied
lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/0 -> /dev/null
lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/1 -> /dev/pts/10
lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/2 -> /dev/pts/10
lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/3 -> /proc/sal/cmc/event
lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/4 -> /proc/sal/cmc/data
l-wx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/6
lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/7

I don't recall seeing any similar complaints before. My first reaction
is "wtf - I'm root - what's this permission denied error ?!?"

2) I have an SGI specific application that runs out of init on boot
that spews out some 50 or so "Permission denied" errors on
various /proc/<pid>/fd/* files, which it never did before that
I can recall.

For example, this app complained:

Cannot stat file /proc/1688/fd/3: Permission denied
Cannot stat file /proc/1688/fd/4: Permission denied
Cannot stat file /proc/1688/fd/5: Permission denied
Cannot stat file /proc/1688/fd/6: Permission denied
Cannot stat file /proc/1688/fd/7: Permission denied
Cannot stat file /proc/2781/fd/3: Permission denied
Cannot stat file /proc/2802/fd/1: Permission denied
Cannot stat file /proc/2802/fd/3: Permission denied
Cannot stat file /proc/2802/fd/4: Permission denied
Cannot stat file /proc/2878/fd/6: Permission denied
Cannot stat file /proc/2878/fd/7: Permission denied

You can see it is not complaining about all the fd's of a task,
but just some.

I might be confused in what patches I'm running, but I believe that
I am getting these permission denied errors with just the patches:

> trivial-cleanup-to-proc_check_chroot.patch
> proc-fix-the-inode-number-on-proc-pid-fd.patch

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.925.600.0401

2006-03-01 03:10:10

by Nick Piggin

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

Andrew Morton wrote:
> Nick Piggin <[email protected]> wrote:
>
>>>>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
>>>>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
>>>>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
>>>>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
>>>>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
>>>>inotify_d_instantiate+0x2f/0x62
>>>>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
>>>>d_instantiate+0x46/0x72
>>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
>>>>ext3_add_nondir+0x2c/0x40
>>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
>>>>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
>>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
>>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
>>>>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
>>>>
>>>>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
>>>>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
>>>
>>>
>>>This patch is causing that warning
>>>inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
>>>
>>
>>The warning is harmless really. I guess it can be removed.
>
>
> ? How did DCACHE_INOTIFY_PARENT_WATCHED get set on that dentry?
>

I guess it is because I don't clear it on +ve => -ve conversions.
We _could_ do that AFAIKS, by hooking into d_delete, but it would
have to be yet another fsnotify hook there because it will have to
be done under lock.

But there is no real gain in doing that.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com

2006-03-01 03:20:50

by Paul Jackson

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

> I might be confused in what patches I'm running, but I believe that
> I am getting these permission denied errors with just the patches:
>
> > trivial-cleanup-to-proc_check_chroot.patch
> > proc-fix-the-inode-number-on-proc-pid-fd.patch

drat - I was off by one in my reporting.

I'll try to get my act together before saying more.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.925.600.0401

2006-03-01 03:21:24

by Andrew Morton

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

Nick Piggin <[email protected]> wrote:
>
> Andrew Morton wrote:
> > Nick Piggin <[email protected]> wrote:
> >
> >>>>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
> >>>>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
> >>>>inotify_d_instantiate+0x2f/0x62
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
> >>>>d_instantiate+0x46/0x72
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
> >>>>ext3_add_nondir+0x2c/0x40
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> >>>>
> >>>>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
> >>>>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
> >>>
> >>>
> >>>This patch is causing that warning
> >>>inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
> >>>
> >>
> >>The warning is harmless really. I guess it can be removed.
> >
> >
> > ? How did DCACHE_INOTIFY_PARENT_WATCHED get set on that dentry?
> >
>
> I guess it is because I don't clear it on +ve => -ve conversions.
> We _could_ do that AFAIKS, by hooking into d_delete, but it would
> have to be yet another fsnotify hook there because it will have to
> be done under lock.
>

How could a -ve dentry become the source of a link? We should be sure we
know why this happened before ignoring it..

2006-03-01 03:30:49

by Nick Piggin

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

Andrew Morton wrote:
> Nick Piggin <[email protected]> wrote:
>
>>Andrew Morton wrote:
>>
>>>Nick Piggin <[email protected]> wrote:
>>>
>>>
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
>>>>>>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
>>>>>>inotify_d_instantiate+0x2f/0x62
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
>>>>>>d_instantiate+0x46/0x72
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
>>>>>>ext3_add_nondir+0x2c/0x40
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
>>>>>>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
>>>>>>
>>>>>>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
>>>>>>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
>>>>>
>>>>>
>>>>>This patch is causing that warning
>>>>>inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
>>>>>
>>>>
>>>>The warning is harmless really. I guess it can be removed.
>>>
>>>
>>>? How did DCACHE_INOTIFY_PARENT_WATCHED get set on that dentry?
>>>
>>
>>I guess it is because I don't clear it on +ve => -ve conversions.
>>We _could_ do that AFAIKS, by hooking into d_delete, but it would
>>have to be yet another fsnotify hook there because it will have to
>>be done under lock.
>>
>
>
> How could a -ve dentry become the source of a link? We should be sure we
> know why this happened before ignoring it..
>

The source of a link? That wouldn't get d_instantiate called on it, would it?
I figured this was the destination.

I can reproduce a similar looking oops by unlinking a PARENT_WATCHED file, then
touching it again.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com

2006-03-01 03:42:48

by Andrew Morton

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

Nick Piggin <[email protected]> wrote:
>
>
> I can reproduce a similar looking oops by unlinking a PARENT_WATCHED file, then
> touching it again.
>

Oh, OK.

What does a patch which clears that flag on the -ve dentry look like? I
think it'd be best to be paranoid at this stage..

2006-03-01 04:17:36

by Eric W. Biederman

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

Paul Jackson <[email protected]> writes:

> I have popped the patch stack back to including:
>> trivial-cleanup-to-proc_check_chroot.patch
>> proc-fix-the-inode-number-on-proc-pid-fd.patch
>
> but not past that. It boots now, unlike before with the full patch
> stack.
>
> I will continue the hunt.
>
> Meanwhile, on the side, I have a couple of permission problems to
> report to Eric Biederman with apps that are complaining about not being
> able to access /proc/<pid>/fd/[0-9]* files when before they could:
>
> 1) Logged in as root, running "/bin/ls -l /proc/*/fd/*"
> causes some complaints. For example:
>
> # /bin/ls -l /proc/2868/fd/?
> /bin/ls: cannot read symbolic link /proc/2868/fd/6: Permission denied
> /bin/ls: cannot read symbolic link /proc/2868/fd/7: Permission denied
> lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/0 -> /dev/null
> lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/1 -> /dev/pts/10
> lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/2 -> /dev/pts/10
> lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/3 ->
> /proc/sal/cmc/event
> lrwx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/4 -> /proc/sal/cmc/data
> l-wx------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/6
> lr-x------ 1 root root 64 Feb 28 18:39 /proc/2868/fd/7
>
> I don't recall seeing any similar complaints before. My first reaction
> is "wtf - I'm root - what's this permission denied error ?!?"
>
> 2) I have an SGI specific application that runs out of init on boot
> that spews out some 50 or so "Permission denied" errors on
> various /proc/<pid>/fd/* files, which it never did before that
> I can recall.
>
> For example, this app complained:
>
> Cannot stat file /proc/1688/fd/3: Permission denied
> Cannot stat file /proc/1688/fd/4: Permission denied
> Cannot stat file /proc/1688/fd/5: Permission denied
> Cannot stat file /proc/1688/fd/6: Permission denied
> Cannot stat file /proc/1688/fd/7: Permission denied
> Cannot stat file /proc/2781/fd/3: Permission denied
> Cannot stat file /proc/2802/fd/1: Permission denied
> Cannot stat file /proc/2802/fd/3: Permission denied
> Cannot stat file /proc/2802/fd/4: Permission denied
> Cannot stat file /proc/2878/fd/6: Permission denied
> Cannot stat file /proc/2878/fd/7: Permission denied
>
> You can see it is not complaining about all the fd's of a task,
> but just some.
>
> I might be confused in what patches I'm running, but I believe that
> I am getting these permission denied errors with just the patches:

So the function that will be giving you trouble is proc_check_dentry_visible.

The patch should be called something like:
proc-Properly-filter-out-files-that-are-not-visible-to-a-process

It was the 8th patch on my stack when I submitted it.

Largely what is happening is that I fixed the permission checks that
have been in the kernel since 2.2 so that they work. I'm not saying
that what I am doing right now is correct but it is something we need
to consider.

The logic is can I access this file in some other way besides through
/proc.

When applied to /proc/<pid>/exe
When applied to /proc/<pid>/root
When applied to /proc/<pid>/cwd

I have some concerns about it's correctness but when applied to
/proc/<pid>/fd/<#>
my only concern is if the checks are complete, or if we even want them.

There may be a capability I need to check that says anything goes.

There are 2 sets out file descriptors that will now be unaccessible.
- Files on internal filesystems like pipefs.
- Files on outside of your filesystem root or filesystem namespace.

If you share the struct file with the process everything should be visible.

We may want different checks for readlink and follow link.

If you want to kill the permission checks to stop the noise for a while
it should be straight forward.

Eric

2006-03-01 04:26:49

by Paul Jackson

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

Eric wrote:
> The logic is can I access this file in some other way besides through
> /proc.
>
> When applied to /proc/<pid>/exe
> When applied to /proc/<pid>/root
> When applied to /proc/<pid>/cwd

I can't make sense of the above. Could you elaborate?

And explain how any of these permission checks fail for
a root shell?

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.925.600.0401

2006-03-01 04:59:06

by Eric W. Biederman

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

Paul Jackson <[email protected]> writes:

> Eric wrote:
>> The logic is can I access this file in some other way besides through
>> /proc.
>>
>> When applied to /proc/<pid>/exe
>> When applied to /proc/<pid>/root
>> When applied to /proc/<pid>/cwd
>
> I can't make sense of the above. Could you elaborate?

Sorry. What I ment was when applied to the above files the
permission checks are not quite correct because I should check
to see if you share a fs_struct with them, checking for a shared
files_struct for exe,root,cwd is nonsense.

The permission check is not quite in the right place yet
in /proc.

The logical check which I have implemented imperfectly is:
Without going through /proc/fd can I see this file.

Part of the reason this happens now is the old check
unchanged since 2.2 was it only checked to see if the two
processes were in the same chroot. I made the check test
the actual files that were returned. Which is much more
correct, and much more likely to prevent information leaks.

> And explain how any of these permission checks fail for
> a root shell?

Because I probably need a check something like
if (capable(CAP_DAC_OVERRIDE))
return 0;
To allow an appropriately privileged root user to do anything.

The short answer is that I bug fixed the permission checks into working
but that is not sufficient for the permission checks to be correct. :(

These checks were previously done so badly they were mistaken for
generic permission checks that all files in /proc should have. Which
resulted in tons of useless cruft.

At this point the code is working as designed but it is clearly not
working as it needs to.

I am also beginning to think that readlink and followlink
should have different permissions. Especially to keep fuser
and his friends happy.

I am glad I found this issue with permissions on /proc/<pid>/fd,
but it is clear there is still more todo.

Ok. Now back to hunting bugs that crash the kernel.


Eric

2006-03-01 10:07:03

by Laurent Riffard

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


Le 01.03.2006 01:21, Andrew Morton a ?crit :
> Laurent Riffard <[email protected]> wrote:
>
>>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034
>
>
> I booted that thing on five machines, four architectures :(
>
> Could people please test a couple more patchsets, see if we can isolate it?
>
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
>
> is 2.6.16-rc5-mm1 minus:
>
> proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
> tref-implement-task-references.patch
> proc-dont-lock-task_structs-indefinitely.patch
> proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
> proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
> proc-optimize-proc_check_dentry_visible.patch

Ok, 2.6.16-rc5-mm1.1 works for me:
- I can run java from command line in runlevel 1
- I can launch Mozilla in X

> and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is
> 2.6.16-rc5-mm1 minus:
>
> trivial-cleanup-to-proc_check_chroot.patch
> proc-fix-the-inode-number-on-proc-pid-fd.patch
> proc-remove-useless-bkl-in-proc_pid_readlink.patch
> proc-remove-unnecessary-and-misleading-assignments.patch
> proc-simplify-the-ownership-rules-for-proc.patch
> proc-replace-proc_inodetype-with-proc_inodefd.patch
> proc-remove-bogus-proc_task_permission.patch
> proc-kill-proc_mem_inode_operations.patch
> proc-properly-filter-out-files-that-are-not-visible.patch
> proc-fix-the-link-count-for-proc-pid-task.patch
> proc-move-proc_maps_operations-into-task_mmuc.patch
> dcache-add-helper-d_hash_and_lookup.patch
> proc-rewrite-the-proc-dentry-flush-on-exit.patch
> proc-close-the-race-of-a-process-dying-durning.patch
> proc-refactor-reading-directories-of-tasks.patch
> #
> proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
> tref-implement-task-references.patch
> proc-dont-lock-task_structs-indefinitely.patch
> proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
> proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
> proc-optimize-proc_check_dentry_visible.patch
>
>
> Thanks.

I guess you don't need me to test 2.6.16-rc5-mm1.2 since
2.6.16-rc5-mm1.1 is OK.

thanks
--
laurent

2006-03-01 10:35:45

by Laurent Riffard

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

Host Controller Interface driver v3.0
ACPI (acpi_bus-0200): Device 'USB0' is not power manageable [20060210]
ACPI: PCI Interrupt 0000:00:04.2[D] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5
uhci_hcd 0000:00:04.2: UHCI Host Controller
uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:04.2: irq 5, io base 0x0000d400
usb usb1: new device found, idVendor=0000, idProduct=0000
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: UHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.16-rc5-mm1 uhci_hcd
usb usb1: SerialNumber: 0000:00:04.2
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI (acpi_bus-0200): Device 'USB1' is not power manageable [20060210]
ACPI: PCI Interrupt 0000:00:04.3[D] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5
uhci_hcd 0000:00:04.3: UHCI Host Controller
uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:04.3: irq 5, io base 0x0000d000
usb usb2: new device found, idVendor=0000, idProduct=0000
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: UHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.16-rc5-mm1 uhci_hcd
usb usb2: SerialNumber: 0000:00:04.3
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
usb 1-2: new low speed USB device using uhci_hcd and address 2
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[10] MMIO=[d5800000-d58007ff] Max Packet=[2048] IR/IT contexts=[8/8]
usb 1-2: new device found, idVendor=044f, idProduct=b303
usb 1-2: new device strings: Mfr=4, Product=30, SerialNumber=0
usb 1-2: Product: FireStorm Dual Analog 2
usb 1-2: Manufacturer: THRUSTMASTER
usb 1-2: configuration #1 chosen from 1 choice
input: THRUSTMASTER FireStorm Dual Analog 2 as /class/input/input2
input: USB HID v1.10 Gamepad [THRUSTMASTER FireStorm Dual Analog 2] on usb-0000:00:04.2-2
usbcore: registered new driver usbhid
usbhid: v2.6:USB HID core driver
Using specific hotkey driver
ieee1394: Host added: ID:BUS[0-00:1023] GUID[00308d0120e085ca]
EXT3 FS on dm-4, internal journal
Adding 257000k swap on /dev/hdb6. Priority:1 extents:1 across:257000k
Adding 64220k swap on /dev/hda5. Priority:2 extents:1 across:64220k
Adding 795208k swap on /dev/hdb7. Priority:2 extents:1 across:795208k
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
agpgart: AGP aperture is 32M @ 0xe6000000
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
md: md0 stopped.
md: bind<hdb9>
md: bind<hda7>
md: raid1 personality registered for level 1
raid1: raid set md0 active with 2 out of 2 mirrors
ReiserFS: dm-1: found reiserfs format "3.6" with standard journal
ReiserFS: dm-1: using ordered data mode
ReiserFS: dm-1: journal params: device dm-1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: dm-1: checking transaction log (dm-1)
ReiserFS: dm-1: Using r5 hash to sort names
Loading Reiser4. See http://www.namesys.com for a description of Reiser4.
ps_hash_table: 32 buckets
d_cursor_hash_table: 256 buckets
ef_hash_table: 8192 buckets
z_hash_table: 8192 buckets
z_hash_table: 8192 buckets
j_hash_table: 16384 buckets
loading reiser4 bitmap......done (19 jiffies)
ReiserFS: hda9: found reiserfs format "3.6" with standard journal
ReiserFS: hda9: using ordered data mode
ReiserFS: hda9: journal params: device hda9, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda9: checking transaction log (hda9)
ReiserFS: hda9: Using r5 hash to sort names
ReiserFS: dm-0: found reiserfs format "3.6" with standard journal
ReiserFS: dm-0: using ordered data mode
ReiserFS: dm-0: journal params: device dm-0, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: dm-0: checking transaction log (dm-0)
ReiserFS: dm-0: Using r5 hash to sort names
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
loop: loaded (max 8 devices)
hdc: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 48X CD-ROM drive, 128kB Cache, DMA
hda: cache flushes not supported
md: md0 in immediate safe mode
Using specific hotkey driver
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
NET: Registered protocol family 17
parport_pc: VIA 686A/8231 detected
parport_pc: probing current configuration
parport_pc: Current parallel port base: 0x378
parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE]
parport0: Printer, HEWLETT-PACKARD DESKJET 710C
parport_pc: VIA parallel port: io=0x378, irq=7
lp0: using parport0 (interrupt-driven).
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5
i2c_adapter i2c-9191: sensors disabled - enable with force_addr=0xe200
pktcdvd: writer pktcdvd0 mapped to hdc
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<e09ed0a6>] reiserfs_lookup+0xc8/0xd7 [reiserfs]
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<e09ed0a6>] reiserfs_lookup+0xc8/0xd7 [reiserfs]
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<c017c666>] ext3_lookup+0x74/0x7a
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<e09ed0a6>] reiserfs_lookup+0xc8/0xd7 [reiserfs]
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<e09ed0a6>] reiserfs_lookup+0xc8/0xd7 [reiserfs]
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75
BUG: warning at fs/inotify.c:533/inotify_d_instantiate()
[<c0103c01>] show_trace+0xd/0xf
[<c0103c18>] dump_stack+0x15/0x17
[<c0165f52>] inotify_d_instantiate+0x2e/0x4e
[<c015aa42>] d_splice_alias+0x6f/0x91
[<e09ed0a6>] reiserfs_lookup+0xc8/0xd7 [reiserfs]
[<c0152a8e>] do_lookup+0x9d/0x131
[<c0153173>] __link_path_walk+0x651/0xa30
[<c01535a0>] link_path_walk+0x4e/0xc6
[<c01539e7>] do_path_lookup+0x196/0x1b0
[<c0153e30>] __path_lookup_intent_open+0x44/0x76
[<c0153ebe>] path_lookup_open+0x10/0x12
[<c0154935>] open_namei+0x61/0x504
[<c014743b>] do_filp_open+0x1f/0x35
[<c0147535>] do_sys_open+0x3f/0xb7
[<c01475d9>] sys_open+0x16/0x18
[<c01029bb>] sysenter_past_esp+0x54/0x75


Attachments:
dmesg-2.6.16-rc5-mm1.1 (9.18 kB)

2006-03-01 10:44:05

by Andrew Morton

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

Laurent Riffard <[email protected]> wrote:
>
> Le 01.03.2006 01:21, Andrew Morton a ?crit :
> > Laurent Riffard <[email protected]> wrote:
> >
> >>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034
> >
> >
> > I booted that thing on five machines, four architectures :(
> >
> > Could people please test a couple more patchsets, see if we can isolate it?
> >
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
> >
> > is 2.6.16-rc5-mm1 minus:
> >
> > proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
> > tref-implement-task-references.patch
> > proc-dont-lock-task_structs-indefinitely.patch
> > proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
> > proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
> > proc-optimize-proc_check_dentry_visible.patch
>
> Ok, 2.6.16-rc5-mm1.1 works for me:
> - I can run java from command line in runlevel 1
> - I can launch Mozilla in X

Useful, thanks. So the second batch of /proc patches are indeed the problem.

If you have (even more) time you could test
http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
That's the latest of everything with the problematic sysfs patches reverted
and Eric's recent /proc fixes.

2006-03-01 10:49:17

by Andrew Morton

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

Laurent Riffard <[email protected]> wrote:
>
> Well, I should have check my logs... There is a bunch of BUGs
> when I launch Gnome:
>
> BUG: warning at fs/inotify.c:533/inotify_d_instantiate()

yup, that's a known-about warning for something which is harmless. We're
still working out what to do about that. The short-term solution is to
remove it.

--- devel/fs/inotify.c~a 2006-03-01 02:47:01.000000000 -0800
+++ devel-akpm/fs/inotify.c 2006-03-01 02:47:06.000000000 -0800
@@ -530,7 +530,6 @@ void inotify_d_instantiate(struct dentry
if (!inode)
return;

- WARN_ON(entry->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
spin_lock(&entry->d_lock);
parent = entry->d_parent;
if (inotify_inode_watched(parent->d_inode))
_

2006-03-01 11:26:48

by Andrew Morton

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

Andrew Morton <[email protected]> wrote:
>
> If you have (even more) time you could test
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.

err, don't enable CONFIG_ACPI_HOTPLUG_CPU.

Ashok, x86_64 and i386 share a lot of code. Please always perform good
regression testing against one when developing for the other.

arch/i386/kernel/acpi/boot.c: In function `acpi_unmap_lsapic':
arch/i386/kernel/acpi/boot.c:583: `num_processors' undeclared (first use in this function)

2006-03-01 11:43:10

by Rafael J. Wysocki

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

On Wednesday 01 March 2006 01:52, Eric W. Biederman wrote:
>
> Andrew Morton <[email protected]> writes:
>
> > "Rafael J. Wysocki" <[email protected]> wrote:
> >>
> >> On Tuesday 28 February 2006 13:24, Andrew Morton wrote:
> >>
> >> usbcore: registered new driver usbserial
> >> usbserial: USB Serial support registered for generic
> >> usbcore: registered new driver usbserial_generic
> >> usbserial: USB Serial Driver core
> >> BUG: warning at kernel/fork.c:113/__put_task_struct()
> >>
> >> Call Trace: <IRQ> <ffffffff80229c2b>{__put_task_struct+59}
> >> <ffffffff80226f60>{__put_task_struct_cb+16}
> > <ffffffff8023faa4>{__rcu_process_callbacks+340}
> >> <ffffffff8023fb47>{rcu_process_callbacks+23}
> > <ffffffff80231fa8>{tasklet_action+72}
> >> <ffffffff802322e4>{__do_softirq+84} <ffffffff8020abae>{call_softirq+30}
> >> <ffffffff8020c7d4>{do_softirq+52} <ffffffff8023215f>{irq_exit+63}
> >> <ffffffff8020c781>{do_IRQ+65} <ffffffff8020a232>{ret_from_intr+0} <EOI>
> >> BUG: warning at kernel/fork.c:114/__put_task_struct()
> >>
> >> ...
> > I'd be suspecting the /proc patches. Can you send the .config please?
>
> Yes this does feel like something got the reference counting of task structures
> incorrect. And I touched a lot of reference counting. I will look into this
> and see if I can find a culprit.

Thanks.

In the meantime it turned out the kernel booted with "init=/bin/bash" and
seemed to work. Still when booted to eg. runlevel 2, it crashes while starting
services.

The config is attached. If you need any more info/debugging for my part,
please let me know.

Greetings,
Rafael


Attachments:
(No filename) (1.57 kB)
2.6.16-rc5-mm1-config (44.11 kB)
Download all attachments

2006-03-01 13:57:17

by Mike Galbraith

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

On Wed, 2006-03-01 at 02:32 -0800, Andrew Morton wrote:
> Laurent Riffard <[email protected]> wrote:
> >
> > Le 01.03.2006 01:21, Andrew Morton a écrit :
> > > Laurent Riffard <[email protected]> wrote:
> > >
> > >>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034
> > >
> > >
> > > I booted that thing on five machines, four architectures :(
> > >
> > > Could people please test a couple more patchsets, see if we can isolate it?
> > >
> > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
> > >
> > > is 2.6.16-rc5-mm1 minus:
> > >
> > > proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
> > > tref-implement-task-references.patch
> > > proc-dont-lock-task_structs-indefinitely.patch
> > > proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
> > > proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
> > > proc-optimize-proc_check_dentry_visible.patch
> >
> > Ok, 2.6.16-rc5-mm1.1 works for me:
> > - I can run java from command line in runlevel 1
> > - I can launch Mozilla in X
>
> Useful, thanks. So the second batch of /proc patches are indeed the problem.
>
> If you have (even more) time you could test
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> That's the latest of everything with the problematic sysfs patches reverted
> and Eric's recent /proc fixes.

Seems to work OK here, with debug settings as in Paul Jackson's report.
No java crash, no fuser -n tcp NNNN crash. Only thing I see so far is
the proc symbolic link to nirvana permissions thingie. Box is P4 HT.

-Mike

2006-03-01 14:22:49

by J.A. Magallon

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

On Wed, 1 Mar 2006 02:32:35 -0800, Andrew Morton <[email protected]> wrote:

>
> Useful, thanks. So the second batch of /proc patches are indeed the problem.
>
> If you have (even more) time you could test
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> That's the latest of everything with the problematic sysfs patches reverted
> and Eric's recent /proc fixes.
>

I just tried rc5-mm1 and this. With this I can run java apps/applets again
without locking my system.

I also applied the patch you posted for inotify, but now I get this new one:

Mar 1 15:11:04 werewolf kernel: [ 1424.891482] BUG: warning at fs/inotify.c:410/set_dentry_child_flags()
Mar 1 15:11:04 werewolf kernel: [ 1424.891494] <b0177dae> set_dentry_child_flags+0x10b/0x113 <b0178109> remove_watch_no_event+0x138/0x171
Mar 1 15:11:04 werewolf kernel: [ 1424.891545] <b0178195> inotify_release+0x53/0x193 <b01556fa> __fput+0x91/0x181
Mar 1 15:11:04 werewolf kernel: [ 1424.891578] <b0152e37> filp_close+0x3e/0x62 <b0146011> exit_mmap+0xc5/0x116
Mar 1 15:11:04 werewolf kernel: [ 1424.891619] <b011b297> put_files_struct+0x8b/0xf8 <b011c2ee> do_exit+0x152/0x8c0
Mar 1 15:11:04 werewolf kernel: [ 1424.891660] <b011ca85> do_group_exit+0x29/0x72 <b01256dd> get_signal_to_deliver+0x27c/0x42a
Mar 1 15:11:04 werewolf kernel: [ 1424.891686] <b01025fc> do_notify_resume+0x1a0/0x670 <b02a83d4> unix_sock_destructor+0x7a/0x10a
Mar 1 15:11:04 werewolf kernel: [ 1424.891721] <b02a6e25> unix_release_sock+0x237/0x26f <b0158742> invalidate_inode_buffers+0xa/0x53
Mar 1 15:11:04 werewolf kernel: [ 1424.891748] <b016b01d> destroy_inode+0x28/0x37 <b0130383> sys_futex+0xcc/0x122
Mar 1 15:11:04 werewolf kernel: [ 1424.891781] <b0102c92> work_notifysig+0x13/0x19

It looks like there are couple more WARN_ONs spread over inotify.c.
Full patch:

--- devel/fs/inotify.c~a 2006-03-01 02:47:01.000000000 -0800
+++ devel-akpm/fs/inotify.c 2006-03-01 02:47:06.000000000 -0800
@@ -402,12 +402,8 @@
list_for_each_entry(child, &alias->d_subdirs, d_u.d_child) {
spin_lock(&child->d_lock);
if (watched) {
- WARN_ON(child->d_flags &
- DCACHE_INOTIFY_PARENT_WATCHED);
child->d_flags |= DCACHE_INOTIFY_PARENT_WATCHED;
} else {
- WARN_ON(!(child->d_flags &
- DCACHE_INOTIFY_PARENT_WATCHED));
child->d_flags&=~DCACHE_INOTIFY_PARENT_WATCHED;
}
spin_unlock(&child->d_lock);
@@ -530,7 +530,6 @@ void inotify_d_instantiate(struct dentry
if (!inode)
return;

- WARN_ON(entry->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
spin_lock(&entry->d_lock);
parent = entry->d_parent;
if (inotify_inode_watched(parent->d_inode))

--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.1 (Cooker) for i586
Linux 2.6.15-jam14 (gcc 4.0.3 (4.0.3-0.20060215.2mdk for Mandriva Linux release 2006.1))


Attachments:
signature.asc (191.00 B)

2006-03-01 14:50:23

by Laurent Riffard

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



Le 01.03.2006 14:58, Mike Galbraith a écrit :
> On Wed, 2006-03-01 at 02:32 -0800, Andrew Morton wrote:
>
>>Laurent Riffard <[email protected]> wrote:
>>
>>>Le 01.03.2006 01:21, Andrew Morton a écrit :
>>> > Laurent Riffard <[email protected]> wrote:
>>> >
>>> >>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000034
>>> >
>>> >
>>> > I booted that thing on five machines, four architectures :(
>>> >
>>> > Could people please test a couple more patchsets, see if we can isolate it?
>>> >
>>> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
>>> >
>>> > is 2.6.16-rc5-mm1 minus:
>>> >
>>> > proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
>>> > tref-implement-task-references.patch
>>> > proc-dont-lock-task_structs-indefinitely.patch
>>> > proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
>>> > proc-dont-lock-task_structs-indefinitely-cpuset-fix.patch
>>> > proc-optimize-proc_check_dentry_visible.patch
>>>
>>> Ok, 2.6.16-rc5-mm1.1 works for me:
>>> - I can run java from command line in runlevel 1
>>> - I can launch Mozilla in X
>>
>>Useful, thanks. So the second batch of /proc patches are indeed the problem.
>>
>>If you have (even more) time you could test
>>http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
>>That's the latest of everything with the problematic sysfs patches reverted
>>and Eric's recent /proc fixes.
>
>
> Seems to work OK here, with debug settings as in Paul Jackson's report.
> No java crash, no fuser -n tcp NNNN crash. Only thing I see so far is
> the proc symbolic link to nirvana permissions thingie. Box is P4 HT.
>
> -Mike
>

2.6.16-rc5-mm2-pre1 works fine for me except numerous "BUG: warning at fs/inotify.c:533/inotify_d_instantiate()".

Thanks
--
laurent

2006-03-01 15:32:06

by Mike Galbraith

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

On Wed, 2006-03-01 at 15:50 +0100, Laurent Riffard wrote:
>
>
> 2.6.16-rc5-mm2-pre1 works fine for me except numerous "BUG: warning at fs/inotify.c:533/inotify_d_instantiate()".

I feel left out. I get none.

-Mike

2006-03-01 16:46:08

by Olof Johansson

[permalink] [raw]
Subject: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

On Tue, Feb 28, 2006 at 03:56:24PM -0800, Martin Bligh wrote:
> Andrew Morton wrote:
> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
>
> New panic on IBM power4 lpar of P690. 2.6.16-rc5-git3 is OK.
>
> (config:
> http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4)
>
> http://test.kernel.org/24165/debug/console.log

For what it's worth, this is a NULL pointer dereference in the RCU
code.

Seems that the human-readible parts are printed at a differnet printk level
(well, _at_ a level), so they fell off. Not good.

Andrew and/or Paulus, see patch below.


Thanks,

Olof


---

It seems that the die() output is printk'd without any prink level,
so some distros will log the register dumps and the human readible
format differently.

(I.e. see http://test.kernel.org/24165/debug/console.log, which lacks
the KERN_ALERT parts)

Changing the die() output to include a level will likely confuse users
that currently rely on getting the output where they're getting it,
so instead remove it from the bad_page_fault() output.

Signed-off-by: Olof Johansson <[email protected]>


diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index ec4adcb..fee050a 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -389,7 +389,7 @@ void bad_page_fault(struct pt_regs *regs

/* kernel has accessed a bad area */

- printk(KERN_ALERT "Unable to handle kernel paging request for ");
+ printk("Unable to handle kernel paging request for ");
switch (regs->trap) {
case 0x300:
case 0x380:
@@ -402,8 +402,7 @@ void bad_page_fault(struct pt_regs *regs
default:
printk("unknown fault\n");
}
- printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n",
- regs->nip);
+ printk("Faulting instruction address: 0x%08lx\n", regs->nip);

die("Kernel access of bad area", regs, sig);
}

2006-03-01 18:20:18

by Raj, Ashok

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

On Wed, Mar 01, 2006 at 03:25:27AM -0800, Andrew Morton wrote:
> Andrew Morton <[email protected]> wrote:
> >
> > If you have (even more) time you could test
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
>
> err, don't enable CONFIG_ACPI_HOTPLUG_CPU.
>
> Ashok, x86_64 and i386 share a lot of code. Please always perform good
> regression testing against one when developing for the other.
>
> arch/i386/kernel/acpi/boot.c: In function `acpi_unmap_lsapic':
> arch/i386/kernel/acpi/boot.c:583: `num_processors' undeclared (first use in this function)

Sorry,

here is one to make it non-static for i386 as well.

--
Cheers,
Ashok Raj
- Open Source Technology Center


Need to make "num_processors" non-static since we need in acpi_unmap_lsapic
shared function in arch/i386/kernel/acpi/boot.c. Also needs to be __cpuinitdata
now.

Signed-off-by: Ashok Raj <[email protected]>
--------------------------------------------------------
arch/i386/kernel/mpparse.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.16-rc5-mm1/arch/i386/kernel/mpparse.c
===================================================================
--- linux-2.6.16-rc5-mm1.orig/arch/i386/kernel/mpparse.c
+++ linux-2.6.16-rc5-mm1/arch/i386/kernel/mpparse.c
@@ -75,7 +75,7 @@ unsigned int def_to_bigsmp = 0;
/* Processor that is doing the boot up */
unsigned int boot_cpu_physical_apicid = -1U;
/* Internal processor count */
-static unsigned int __devinitdata num_processors;
+unsigned int __cpuinitdata num_processors;

/* Bitmask of physically existing CPUs */
physid_mask_t phys_cpu_present_map;

2006-03-01 18:50:04

by Andrew Morton

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

Ashok Raj <[email protected]> wrote:
>
> On Wed, Mar 01, 2006 at 03:25:27AM -0800, Andrew Morton wrote:
> > Andrew Morton <[email protected]> wrote:
> > >
> > > If you have (even more) time you could test
> > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> >
> > err, don't enable CONFIG_ACPI_HOTPLUG_CPU.
> >
> > Ashok, x86_64 and i386 share a lot of code. Please always perform good
> > regression testing against one when developing for the other.
> >
> > arch/i386/kernel/acpi/boot.c: In function `acpi_unmap_lsapic':
> > arch/i386/kernel/acpi/boot.c:583: `num_processors' undeclared (first use in this function)
>
> ...
>
> Need to make "num_processors" non-static since we need in acpi_unmap_lsapic
> shared function in arch/i386/kernel/acpi/boot.c. Also needs to be __cpuinitdata
> now.
>
> ...
>
> -static unsigned int __devinitdata num_processors;
> +unsigned int __cpuinitdata num_processors;

We'll need more than that - the compile failed due to a missing declaration.

2006-03-01 19:32:09

by Raj, Ashok

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

On Wed, Mar 01, 2006 at 10:48:22AM -0800, Andrew Morton wrote:
> > -static unsigned int __devinitdata num_processors;
> > +unsigned int __cpuinitdata num_processors;
>
> We'll need more than that - the compile failed due to a missing declaration.



--
Cheers,
Ashok Raj
- Open Source Technology Center


Need to make this non-static since we need in acpi_unmap_lsapic
shared function in arch/i386/kernel/acpi/boot.c

Signed-off-by: Ashok Raj <[email protected]>
--------------------------------------------------------
arch/i386/kernel/mpparse.c | 2 +-
include/asm-i386/smp.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6.16-rc5-mm1/arch/i386/kernel/mpparse.c
===================================================================
--- linux-2.6.16-rc5-mm1.orig/arch/i386/kernel/mpparse.c
+++ linux-2.6.16-rc5-mm1/arch/i386/kernel/mpparse.c
@@ -75,7 +75,7 @@ unsigned int def_to_bigsmp = 0;
/* Processor that is doing the boot up */
unsigned int boot_cpu_physical_apicid = -1U;
/* Internal processor count */
-static unsigned int __devinitdata num_processors;
+unsigned int __cpuinitdata num_processors;

/* Bitmask of physically existing CPUs */
physid_mask_t phys_cpu_present_map;
Index: linux-2.6.16-rc5-mm1/include/asm-i386/smp.h
===================================================================
--- linux-2.6.16-rc5-mm1.orig/include/asm-i386/smp.h
+++ linux-2.6.16-rc5-mm1/include/asm-i386/smp.h
@@ -92,6 +92,7 @@ static __inline int logical_smp_processo

extern int __cpu_disable(void);
extern void __cpu_die(unsigned int cpu);
+extern unsigned int num_processors;
#endif /* !__ASSEMBLY__ */

#else /* CONFIG_SMP */

2006-03-01 20:18:58

by Andrew Morton

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

Mike Galbraith <[email protected]> wrote:
>
> On Wed, 2006-03-01 at 15:50 +0100, Laurent Riffard wrote:
> >
> >

OK, thanks guys. Eric, could you please cook up something to make the
permissions appear-to-work as expected?

> > 2.6.16-rc5-mm2-pre1 works fine for me except numerous "BUG: warning at fs/inotify.c:533/inotify_d_instantiate()".
>
> I feel left out. I get none.
>

Maybe you're not running applications which install inotify watches. This
is apparently triggerable by doing `touch foo;rm foo;touch foo' in a watched
directory.

Nick, isn't it simply a matter of..

--- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix 2006-03-01 12:10:48.000000000 -0800
+++ devel-akpm/fs/dcache.c 2006-03-01 12:11:33.000000000 -0800
@@ -173,6 +173,7 @@ repeat:
goto kill_it;
if (list_empty(&dentry->d_lru)) {
dentry->d_flags |= DCACHE_REFERENCED;
+ dentry->d_flags &= DCACHE_INOTIFY_PARENT_WATCHED;
list_add(&dentry->d_lru, &dentry_unused);
dentry_stat.nr_unused++;
}
_

2006-03-01 20:25:40

by Andrew Morton

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

Andrew Morton <[email protected]> wrote:
>
> Nick, isn't it simply a matter of..

err...

--- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix 2006-03-01 12:16:22.000000000 -0800
+++ devel-akpm/fs/dcache.c 2006-03-01 12:18:34.000000000 -0800
@@ -100,6 +100,7 @@ static void dentry_iput(struct dentry *
if (inode) {
dentry->d_inode = NULL;
list_del_init(&dentry->d_alias);
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
spin_unlock(&dentry->d_lock);
spin_unlock(&dcache_lock);
if (!inode->i_nlink)
_

2006-03-01 20:45:59

by Peter Staubach

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

Andrew Morton wrote:

>Maybe you're not running applications which install inotify watches. This
>is apparently triggerable by doing `touch foo;rm foo;touch foo' in a watched
>directory.
>
>Nick, isn't it simply a matter of..
>
>--- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix 2006-03-01 12:10:48.000000000 -0800
>+++ devel-akpm/fs/dcache.c 2006-03-01 12:11:33.000000000 -0800
>@@ -173,6 +173,7 @@ repeat:
> goto kill_it;
> if (list_empty(&dentry->d_lru)) {
> dentry->d_flags |= DCACHE_REFERENCED;
>+ dentry->d_flags &= DCACHE_INOTIFY_PARENT_WATCHED;
> list_add(&dentry->d_lru, &dentry_unused);
> dentry_stat.nr_unused++;
> }
>_
>
>-
>

This doesn;t look quite corect to me. First set DCACHE_REFERENCED in
the d_flags and then clear every bit in d_flags except
DCACHE_INOTIFY_PARENT_WATCHED? Should this be
"~DCACHE_INOTIFY_PARENT_WATCHED"?

Thanx...

ps

2006-03-01 20:46:04

by Eric W. Biederman

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

Andrew Morton <[email protected]> writes:

> Mike Galbraith <[email protected]> wrote:
>>
>> On Wed, 2006-03-01 at 15:50 +0100, Laurent Riffard wrote:
>> >
>> >
>
> OK, thanks guys. Eric, could you please cook up something to make the
> permissions appear-to-work as expected?

I'm thinking about it. Implementing it is easy. Figuring out what the
check for the /proc/<pid>/fd/<#> files should be is trickier.

What disturbs me is that by my current reading of the code all of the
cool file descriptor passing of unix domain sockets is unnecessary.
You can just walk up to any process and open any file it has open.

This includes sockets and pipes and the like, as well as files.

We don't bypass individual file permission checks as far as I can
tell but we do bypass all directory permission checks.

This seems to defeat the concept of using file descriptors as
capabilities. Heck even plan9 makes you bind your file descriptor
to your filesystem namespace before it was exported.

In the presence of chroot jails and multiple namespaces this is also
possible.

Now maybe this is all fine, and since this is what we have been doing
for years maybe it isn't a security bug, and I can just kill the
check altogether.

My gut says this is an ancient permission checking bug, and I have
started closing the hole.

So if anyone can help me wrap my head around what is expected and why.
I would greatly appreciate it.

The fuser and lsof cases seem to one aspect of it, that I had
not looked at.

Eric

2006-03-02 00:09:05

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

On Wed, Mar 01, 2006 at 10:45:31AM -0600, Olof Johansson wrote:
> On Tue, Feb 28, 2006 at 03:56:24PM -0800, Martin Bligh wrote:
> > Andrew Morton wrote:
> > >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
> >
> > New panic on IBM power4 lpar of P690. 2.6.16-rc5-git3 is OK.
> >
> > (config:
> > http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4)
> >
> > http://test.kernel.org/24165/debug/console.log
>
> For what it's worth, this is a NULL pointer dereference in the RCU
> code.

And in an area where it is tougher than usual to blame the problem
on a broken use of RCU, as well. ;-)

The "rcp" argument to __rcu_process_callbacks() is C00000076F303F08
and "rdp" is C00000076F303F08, or am I mis-remembering the POWER ABI?

Thanx, Paul

> Seems that the human-readible parts are printed at a differnet printk level
> (well, _at_ a level), so they fell off. Not good.
>
> Andrew and/or Paulus, see patch below.
>
>
> Thanks,
>
> Olof
>
>
> ---
>
> It seems that the die() output is printk'd without any prink level,
> so some distros will log the register dumps and the human readible
> format differently.
>
> (I.e. see http://test.kernel.org/24165/debug/console.log, which lacks
> the KERN_ALERT parts)
>
> Changing the die() output to include a level will likely confuse users
> that currently rely on getting the output where they're getting it,
> so instead remove it from the bad_page_fault() output.
>
> Signed-off-by: Olof Johansson <[email protected]>
>
>
> diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
> index ec4adcb..fee050a 100644
> --- a/arch/powerpc/mm/fault.c
> +++ b/arch/powerpc/mm/fault.c
> @@ -389,7 +389,7 @@ void bad_page_fault(struct pt_regs *regs
>
> /* kernel has accessed a bad area */
>
> - printk(KERN_ALERT "Unable to handle kernel paging request for ");
> + printk("Unable to handle kernel paging request for ");
> switch (regs->trap) {
> case 0x300:
> case 0x380:
> @@ -402,8 +402,7 @@ void bad_page_fault(struct pt_regs *regs
> default:
> printk("unknown fault\n");
> }
> - printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n",
> - regs->nip);
> + printk("Faulting instruction address: 0x%08lx\n", regs->nip);
>
> die("Kernel access of bad area", regs, sig);
> }
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2006-03-02 00:35:24

by Paul Mackerras

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

Olof Johansson writes:

> Seems that the human-readible parts are printed at a differnet printk level
> (well, _at_ a level), so they fell off. Not good.

My understanding was that printk lines without a level are considered
to be at KERN_ERR or so. Is that wrong?

> Andrew and/or Paulus, see patch below.

It really seems strange to be *removing* printk level tags. I'd like
to nack this until I understand why it will improve things. At the
very least it needs a big fat comment so some janitor doesn't come
along and put the tags back in.

Paul.

2006-03-02 01:14:25

by Martin Bligh

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

Paul Mackerras wrote:
> Olof Johansson writes:
>
>
>>Seems that the human-readible parts are printed at a differnet printk level
>>(well, _at_ a level), so they fell off. Not good.
>
>
> My understanding was that printk lines without a level are considered
> to be at KERN_ERR or so. Is that wrong?
>
>
>>Andrew and/or Paulus, see patch below.
>
>
> It really seems strange to be *removing* printk level tags. I'd like
> to nack this until I understand why it will improve things. At the
> very least it needs a big fat comment so some janitor doesn't come
> along and put the tags back in.

He's removing KERN_ALERT ... I guess it could get switched from
KERN_ALERT to KERN_ERR, but ...

Either way, KERN_ALERT seems way too low to me. I object to getting
half the oops, and not the other half ;-)

M.

2006-03-02 01:41:26

by Jesper Juhl

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

On 3/1/06, Andrew Morton <[email protected]> wrote:
>
> Could people please test a couple more patchsets, see if we can isolate it?
>
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
>

Haven't had time to test this one yet, and won't have time until tomorrow :(


> and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is

I've tested this one and I can't crash it with eclipse like I could
plain old 2.6.16-rc5-mm1


--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-03-02 02:23:43

by Olof Johansson

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

On Wed, Mar 01, 2006 at 05:14:21PM -0800, Martin Bligh wrote:

> He's removing KERN_ALERT ... I guess it could get switched from
> KERN_ALERT to KERN_ERR, but ...
>
> Either way, KERN_ALERT seems way too low to me. I object to getting
> half the oops, and not the other half ;-)

Right. The new printk's were added recently, and I took the KERN_ALERT
level from the x86 code then without double-checking what die() uses. I
guess I could move the die() output over instead, or move them both to
KERN_ERR.


-Olof

2006-03-02 03:11:08

by Paul Jackson

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

Andrew wrote:
> If you have (even more) time you could test
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> That's the latest of everything with the problematic sysfs patches reverted
> and Eric's recent /proc fixes.

I tested both the fuser command that had been crashing the earlier
kernels with Eric's /proc patches, and my "SGI internal software
management" application, on which I first saw these kernels fail.

With this 2.6.16-rc5-mm2-pre1 kernel, they both work - no more crash.

Good.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.925.600.0401

2006-03-02 04:52:23

by Nick Piggin

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

Index: linux-2.6/fs/dcache.c
===================================================================
--- linux-2.6.orig/fs/dcache.c
+++ linux-2.6/fs/dcache.c
@@ -1177,6 +1177,9 @@ void d_delete(struct dentry * dentry)
spin_lock(&dentry->d_lock);
isdir = S_ISDIR(dentry->d_inode->i_mode);
if (atomic_read(&dentry->d_count) == 1) {
+ /* remove this and other inotify debug checks after 2.6.18 */
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
+
dentry_iput(dentry);
fsnotify_nameremove(dentry, isdir);
return;
Index: linux-2.6/fs/inotify.c
===================================================================
--- linux-2.6.orig/fs/inotify.c
+++ linux-2.6/fs/inotify.c
@@ -390,6 +390,7 @@ static inline int inotify_inode_watched(

/*
* Get child dentry flag into synch with parent inode.
+ * Flag should always be clear for negative dentrys.
*/
static void set_dentry_child_flags(struct inode *inode, int watched)
{
@@ -400,6 +401,10 @@ static void set_dentry_child_flags(struc
struct dentry *child;

list_for_each_entry(child, &alias->d_subdirs, d_u.d_child) {
+ if (!child->d_inode) {
+ WARN_ON(child->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
+ continue;
+ }
spin_lock(&child->d_lock);
if (watched) {
WARN_ON(child->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);


Attachments:
inotify-dentry-flag-fix.patch (1.28 kB)

2006-03-02 04:53:08

by Andrew Morton

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

"J.A. Magallon" <[email protected]> wrote:
>
> On Wed, 1 Mar 2006 02:32:35 -0800, Andrew Morton <[email protected]> wrote:
>
> >
> > Useful, thanks. So the second batch of /proc patches are indeed the problem.
> >
> > If you have (even more) time you could test
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> > That's the latest of everything with the problematic sysfs patches reverted
> > and Eric's recent /proc fixes.
> >
>
> I just tried rc5-mm1 and this. With this I can run java apps/applets again
> without locking my system.
>
> I also applied the patch you posted for inotify, but now I get this new one:
>
> Mar 1 15:11:04 werewolf kernel: [ 1424.891482] BUG: warning at fs/inotify.c:410/set_dentry_child_flags()

Which patch was that? The first one was doubly broken.

This is closer.

diff -puN fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix fs/dcache.c
--- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix 2006-03-01 12:16:22.000000000 -0800
+++ devel-akpm/fs/dcache.c 2006-03-01 12:18:34.000000000 -0800
@@ -100,6 +100,7 @@ static void dentry_iput(struct dentry *
if (inode) {
dentry->d_inode = NULL;
list_del_init(&dentry->d_alias);
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
spin_unlock(&dentry->d_lock);
spin_unlock(&dcache_lock);
if (!inode->i_nlink)
_


2006-03-02 05:16:44

by Paul Mackerras

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

Martin Bligh writes:

> He's removing KERN_ALERT ... I guess it could get switched from
> KERN_ALERT to KERN_ERR, but ...
>
> Either way, KERN_ALERT seems way too low to me. I object to getting
> half the oops, and not the other half ;-)

KERN_ALERT is two steps higher in priority (lower number) than
KERN_ERR. Why on earth would we see KERN_ERR messages but not
KERN_ALERT messages?

In fact die() should probably be using KERN_EMERG.

Messages without a loglevel are by default logged at KERN_WARNING
level, one step lower in priority than KERN_ERR.

This all sounds to me like there is something wacky going on
somewhere, and we need to get to the bottom of it rather than just
remove printk tags.

Paul.


2006-03-02 05:25:48

by Anton Blanchard

[permalink] [raw]
Subject: Re: [PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)


> Right. The new printk's were added recently, and I took the KERN_ALERT
> level from the x86 code then without double-checking what die() uses. I
> guess I could move the die() output over instead, or move them both to
> KERN_ERR.

I just noticed x86 can now pass the log level around via
show_trace_log_lvl and show_stack_log_lvl. Something we might want to
add so we can KERN_EMERG the whole oops.

Anton

2006-03-02 10:27:17

by Peter Williams

[permalink] [raw]
Subject: Re: 2.6.16-rc5-mm1 -- strange load balancing problems

I'm seeing some strange load balancing problems with this kernel. I
don't think that they're due to the smpnice patches as I've applied them
on a standard 2.6.15-rc5 kernel and the problem doesn't happen there.

The problem is (as I say) quite strange and (for me) very reproducible.
I have two programs (aspin and gsmiley) which I use to produce CPU
hard spinners for testing purposes. What I'm finding is that when I
start several copies of aspin load balancing goes as expected but when I
launch several copies of gsmiley they all go to the one CPU and stick
there like glue. (The most obvious difference between the two programs
is that aspin is just a command line tool while gsmiley is an X windows
program that spins a simley face and reports its own assessment of the
percentage of CPU it's getting.) The machine that I've seen this
problem is a hyper threading Pentium 4 and I suspect that it may be due
to the SCHED_MC changes which overlap SCHED_SMT a bit.

I'm trying to test this on a non hyper threading machine but the machine
has crashed (different kernel) while doing the build. I'll resume this
effort tomorrow but I thought that I should report the problem so that
others could comment.

Peter
PS SCHED_MC was configured in but I'll try it without tomorrow and
report the results.
--
Peter Williams [email protected]

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce

2006-03-02 16:39:28

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH] proc: Use sane permission checks on the /proc/<pid>/fd/ symlinks.


Since 2.2 we have been doing a chroot check to see if it is appropriate
to return a read or follow one of these magic symlinks. The chroot
check was asking a question about the visibility of files to the
calling process and it was actually checking the destination process,
and not the files themselves. That test was clearly bogus.

In my first pass through I simply fixed the test to check the visibility
of the files themselves. That naive approach to fixing the permissions
was too strict and resulted in cases where a task could not even see
all of it's file descriptors.

What has disturbed me about relaxing this check is that file descriptors are
per-process private things, and they are occasionaly used a user space
capability tokens. Looking a little farther into the symlink path on
/proc I did find userid checks and a check for capability (CAP_DAC_OVERRIDE)
so there were permissions checking this.

But I was still concerned about privacy. Besides /proc there is only one
other way to find out this kind of information, and that is ptrace. ptrace
has been around for a long time and it has a well established security
model.

So after thinking about it I finally realized that the permission checks
that make sense are the permission checks applied to ptrace_attach.
The checks are simple per process, and won't cause nasty surprises for
people coming from less capable unices.

Unfortunately there is one case that the current ptrace_attach test
does not cover: Zombies and kernel threads. Single stepping those
kinds of processes is impossible. Being able to see which file
descriptors are open on these tasks is important to lsof, fuser and
friends. So for these special processes I made the rule you can't
find out unless you have CAP_SYS_PTRACE.

These proc permission checks should now conform to the principle of
least surprise. As well as using much less code to implement :)

Signed-off-by: Eric W. Biederman <[email protected]>


---

fs/proc/base.c | 123 ++++++++++++--------------------------------------------
1 files changed, 27 insertions(+), 96 deletions(-)

64ea648d12af9f8bc0556ec118b27fbfcbe17722
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 6a26847..d9be807 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -508,44 +508,33 @@ static int proc_oom_score(struct task_st
/************************************************************************/

/* permission checks */
-
-/* If the process being read is separated by chroot from the reading process,
- * don't let the reader access the threads.
- */
-static int proc_check_chroot(struct dentry *de, struct vfsmount *mnt)
+static int proc_fd_access_allowed(struct inode *inode)
{
- struct dentry *base;
- struct vfsmount *our_vfsmnt;
- int res = 0;
-
- read_lock(&current->fs->lock);
- our_vfsmnt = mntget(current->fs->rootmnt);
- base = dget(current->fs->root);
- read_unlock(&current->fs->lock);
-
- spin_lock(&vfsmount_lock);
-
- while (mnt != our_vfsmnt) {
- if (mnt == mnt->mnt_parent)
- goto out;
- de = mnt->mnt_mountpoint;
- mnt = mnt->mnt_parent;
+ struct task_struct *task;
+ int allowed = 0;
+ /* Allow access to a task's file descriptors if either we may
+ * use ptrace attach to the process and find out that
+ * information, or if the task cannot possibly be ptraced
+ * allow access if we have the proper capability.
+ */
+ task = get_proc_task(inode);
+ if (task) {
+ int alive;
+ task_lock(task);
+ alive = !!task->mm;
+ task_unlock(task);
+ if (alive)
+ /* For a living task obey ptrace_may_attach */
+ allowed = ptrace_may_attach(task);
+ else
+ /* For a special task simply check the capability */
+ allowed = capable(CAP_SYS_PTRACE);
}
-
- if (!is_subdir(de, base))
- goto out;
- spin_unlock(&vfsmount_lock);
-
-exit:
- dput(base);
- mntput(our_vfsmnt);
- return res;
-out:
- spin_unlock(&vfsmount_lock);
- res = -EACCES;
- goto exit;
+ put_task_struct(task);
+ return allowed;
}

+
extern struct seq_operations mounts_op;
struct proc_mounts {
struct seq_file m;
@@ -1001,52 +990,6 @@ static struct file_operations proc_secco
};
#endif /* CONFIG_SECCOMP */

-static int proc_check_dentry_visible(struct inode *inode,
- struct dentry *dentry, struct vfsmount *mnt)
-{
- /* Verify that the current process can already see the
- * file pointed at by the file descriptor.
- * This prevents /proc from being an accidental information leak.
- *
- * This prevents access to files that are not visible do to
- * being on the otherside of a chroot, in a different
- * namespace, or are simply process local (like pipes).
- */
- struct task_struct *task;
- int error = -EACCES;
-
- /* See if the the two tasks share a commone set of
- * file descriptors. If so everything is visible.
- */
- rcu_read_lock();
- task = tref_task(proc_tref(inode));
- if (task) {
- struct files_struct *task_files, *files;
- /* This test answeres the question:
- * Is there a point in time since we looked up the
- * file descriptor where the two tasks share the
- * same files struct?
- */
- rmb();
- files = current->files;
- task_files = task->files;
- if (files && (files == task_files))
- error = 0;
- }
- rcu_read_unlock();
- if (!error)
- goto out;
-
- /* If the two tasks don't share a common set of file
- * descriptors see if the destination dentry is already
- * visible in the current tasks filesystem namespace.
- */
- error = proc_check_chroot(dentry, mnt);
-out:
- return error;
-
-}
-
static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct inode *inode = dentry->d_inode;
@@ -1055,18 +998,12 @@ static void *proc_pid_follow_link(struct
/* We don't need a base pointer in the /proc filesystem */
path_release(nd);

- if (current->fsuid != inode->i_uid && !capable(CAP_DAC_OVERRIDE))
+ /* Are we allowed to snoop on the tasks file descriptors? */
+ if (!proc_fd_access_allowed(inode))
goto out;

error = PROC_I(inode)->op.proc_get_link(inode, &nd->dentry, &nd->mnt);
nd->last_type = LAST_BIND;
- if (error)
- goto out;
-
- /* Only return files this task can already see */
- error = proc_check_dentry_visible(inode, nd->dentry, nd->mnt);
- if (error)
- path_release(nd);
out:
return ERR_PTR(error);
}
@@ -1104,21 +1041,15 @@ static int proc_pid_readlink(struct dent
struct dentry *de;
struct vfsmount *mnt = NULL;

-
- if (current->fsuid != inode->i_uid && !capable(CAP_DAC_OVERRIDE))
+ /* Are we allowed to snoop on the tasks file descriptors? */
+ if (!proc_fd_access_allowed(inode))
goto out;

error = PROC_I(inode)->op.proc_get_link(inode, &de, &mnt);
if (error)
goto out;

- /* Only return files this task can already see */
- error = proc_check_dentry_visible(inode, de, mnt);
- if (error)
- goto out_put;
-
error = do_proc_readlink(de, mnt, buffer, buflen);
-out_put:
dput(de);
mntput(mnt);
out:
--
1.2.2.g709a-dirty

2006-03-02 20:16:34

by Jesper Juhl

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

On 3/2/06, Jesper Juhl <[email protected]> wrote:
> On 3/1/06, Andrew Morton <[email protected]> wrote:
> >
> > Could people please test a couple more patchsets, see if we can isolate it?
> >
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
> >
>
> Haven't had time to test this one yet, and won't have time until tomorrow :(
>

I just tested this kernel and it builds and runs just fine. Can't
crash it with my eclipse test case.

>
> > and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is
>
> I've tested this one and I can't crash it with eclipse like I could
> plain old 2.6.16-rc5-mm1
>

With all the recent patches and proposed patches and discussions about
various approaches to fix this I've lost track.

What kernel with what patches applied and/or reverted would it make
the most sense for me to test now, in order to provide the most useful
testing?


--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-03-02 21:11:09

by J.A. Magallon

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

On Wed, 1 Mar 2006 20:51:38 -0800, Andrew Morton <[email protected]> wrote:

> "J.A. Magallon" <[email protected]> wrote:
> >
> > On Wed, 1 Mar 2006 02:32:35 -0800, Andrew Morton <[email protected]> wrote:
> >
> > >
> > > Useful, thanks. So the second batch of /proc patches are indeed the problem.
> > >
> > > If you have (even more) time you could test
> > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz.
> > > That's the latest of everything with the problematic sysfs patches reverted
> > > and Eric's recent /proc fixes.
> > >
> >
> > I just tried rc5-mm1 and this. With this I can run java apps/applets again
> > without locking my system.
> >
> > I also applied the patch you posted for inotify, but now I get this new one:
> >
> > Mar 1 15:11:04 werewolf kernel: [ 1424.891482] BUG: warning at fs/inotify.c:410/set_dentry_child_flags()
>
> Which patch was that? The first one was doubly broken.
>
> This is closer.
>
> diff -puN fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix fs/dcache.c
> --- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix 2006-03-01 12:16:22.000000000 -0800
> +++ devel-akpm/fs/dcache.c 2006-03-01 12:18:34.000000000 -0800
> @@ -100,6 +100,7 @@ static void dentry_iput(struct dentry *
> if (inode) {
> dentry->d_inode = NULL;
> list_del_init(&dentry->d_alias);
> + dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
> spin_unlock(&dentry->d_lock);
> spin_unlock(&dcache_lock);
> if (!inode->i_nlink)
> _
>
>

What I have collected till now is below (against -mm2-pre1). What is
(not) needed from this ? Thanks...

--- devel/fs/inotify.c~a 2006-03-01 02:47:01.000000000 -0800
+++ devel-akpm/fs/inotify.c 2006-03-01 02:47:06.000000000 -0800
@@ -390,6 +390,7 @@ static inline int inotify_inode_watched(

/*
* Get child dentry flag into synch with parent inode.
+ * Flag should always be clear for negative dentrys.
*/
static void set_dentry_child_flags(struct inode *inode, int watched)
{
@@ -400,14 +401,14 @@ static void set_dentry_child_flags(struc
struct dentry *child;

list_for_each_entry(child, &alias->d_subdirs, d_u.d_child) {
+ if (!child->d_inode) {
+ WARN_ON(child->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
+ continue;
+ }
spin_lock(&child->d_lock);
if (watched) {
- WARN_ON(child->d_flags &
- DCACHE_INOTIFY_PARENT_WATCHED);
child->d_flags |= DCACHE_INOTIFY_PARENT_WATCHED;
} else {
- WARN_ON(!(child->d_flags &
- DCACHE_INOTIFY_PARENT_WATCHED));
child->d_flags&=~DCACHE_INOTIFY_PARENT_WATCHED;
}
spin_unlock(&child->d_lock);
@@ -530,7 +530,6 @@ void inotify_d_instantiate(struct dentry
if (!inode)
return;

- WARN_ON(entry->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
spin_lock(&entry->d_lock);
parent = entry->d_parent;
if (inotify_inode_watched(parent->d_inode))
--- linux-2.6.orig/fs/dcache.c
+++ linux-2.6/fs/dcache.c
@@ -100,6 +100,7 @@ static void dentry_iput(struct dentry *
if (inode) {
dentry->d_inode = NULL;
list_del_init(&dentry->d_alias);
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
spin_unlock(&dentry->d_lock);
spin_unlock(&dcache_lock);
if (!inode->i_nlink)
@@ -1203,6 +1204,9 @@ void d_delete(struct dentry * dentry)
spin_lock(&dentry->d_lock);
isdir = S_ISDIR(dentry->d_inode->i_mode);
if (atomic_read(&dentry->d_count) == 1) {
+ /* remove this and other inotify debug checks after 2.6.18 */
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
+
dentry_iput(dentry);
fsnotify_nameremove(dentry, isdir);
return;



--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.1 (Cooker) for i586
Linux 2.6.15-jam14 (gcc 4.0.3 (4.0.3-0.20060215.2mdk for Mandriva Linux release 2006.1))


Attachments:
signature.asc (191.00 B)

2006-03-02 22:23:45

by Peter Williams

[permalink] [raw]
Subject: Re: 2.6.16-rc5-mm1 -- strange load balancing problems

Peter Williams wrote:
> I'm seeing some strange load balancing problems with this kernel. I
> don't think that they're due to the smpnice patches as I've applied them
> on a standard 2.6.15-rc5 kernel and the problem doesn't happen there.
>
> The problem is (as I say) quite strange and (for me) very reproducible.
> I have two programs (aspin and gsmiley) which I use to produce CPU hard
> spinners for testing purposes. What I'm finding is that when I start
> several copies of aspin load balancing goes as expected but when I
> launch several copies of gsmiley they all go to the one CPU and stick
> there like glue. (The most obvious difference between the two programs
> is that aspin is just a command line tool while gsmiley is an X windows
> program that spins a simley face and reports its own assessment of the
> percentage of CPU it's getting.) The machine that I've seen this
> problem is a hyper threading Pentium 4 and I suspect that it may be due
> to the SCHED_MC changes which overlap SCHED_SMT a bit.
>
> I'm trying to test this on a non hyper threading machine but the machine
> has crashed (different kernel) while doing the build. I'll resume this
> effort tomorrow but I thought that I should report the problem so that
> others could comment.
>
> Peter
> PS SCHED_MC was configured in but I'll try it without tomorrow and
> report the results.

Configuring SCHED_MC to "no" causes this problem to go away.

Peter
--
Peter Williams [email protected]

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce

2006-03-02 22:29:03

by Andrew Morton

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

"J.A. Magallon" <[email protected]> wrote:
>
> What I have collected till now is below (against -mm2-pre1). What is
> (not) needed from this ? Thanks...

You should need only the below:


--- devel/fs/dcache.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix-2 2006-03-01 21:41:16.000000000 -0800
+++ devel-akpm/fs/dcache.c 2006-03-01 21:41:16.000000000 -0800
@@ -1177,6 +1177,9 @@ void d_delete(struct dentry * dentry)
spin_lock(&dentry->d_lock);
isdir = S_ISDIR(dentry->d_inode->i_mode);
if (atomic_read(&dentry->d_count) == 1) {
+ /* remove this and other inotify debug checks after 2.6.18 */
+ dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
+
dentry_iput(dentry);
fsnotify_nameremove(dentry, isdir);
return;
diff -puN fs/inotify.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix-2 fs/inotify.c
--- devel/fs/inotify.c~inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix-2 2006-03-01 21:41:16.000000000 -0800
+++ devel-akpm/fs/inotify.c 2006-03-01 21:41:16.000000000 -0800
@@ -390,6 +390,7 @@ static inline int inotify_inode_watched(

/*
* Get child dentry flag into synch with parent inode.
+ * Flag should always be clear for negative dentrys.
*/
static void set_dentry_child_flags(struct inode *inode, int watched)
{
@@ -400,6 +401,10 @@ static void set_dentry_child_flags(struc
struct dentry *child;

list_for_each_entry(child, &alias->d_subdirs, d_u.d_child) {
+ if (!child->d_inode) {
+ WARN_ON(child->d_flags & DCACHE_INOTIFY_PARENT_WATCHED);
+ continue;
+ }
spin_lock(&child->d_lock);
if (watched) {
WARN_ON(child->d_flags &
_


Anyway, I think things are pretty much sorted out now so I'll try to do mm2
today (approx 12 hours hence).

2006-03-02 22:36:49

by Eric W. Biederman

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

"Jesper Juhl" <[email protected]> writes:

> On 3/2/06, Jesper Juhl <[email protected]> wrote:
>> On 3/1/06, Andrew Morton <[email protected]> wrote:
>> >
>> > Could people please test a couple more patchsets, see if we can isolate it?
>> >
>> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
>> >
>>
>> Haven't had time to test this one yet, and won't have time until tomorrow :(
>>
>
> I just tested this kernel and it builds and runs just fine. Can't
> crash it with my eclipse test case.
>
>>
>> > and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is
>>
>> I've tested this one and I can't crash it with eclipse like I could
>> plain old 2.6.16-rc5-mm1
>>
>
> With all the recent patches and proposed patches and discussions about
> various approaches to fix this I've lost track.
>
> What kernel with what patches applied and/or reverted would it make
> the most sense for me to test now, in order to provide the most useful
> testing?

So it looks like we have this tracked and fixed. Andrew included my
fix in:
http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz

So just confirming that the fixed actually worked would probably be
the biggest help.

The problem should be fixed unless there is something else that
triggers the horrible and mysterious kernel death. So you are
getting the same results as everyone else.


Eric

2006-03-03 09:06:10

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] proc: Use sane permission checks on the /proc/<pid>/fd/ symlinks.


With all your latest patches I get a big spew lateish in the boot:

EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting. Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
security: 3 users, 6 roles, 1135 types, 133 bools, 1 sens, 256 cats
security: 55 classes, 37666 rules
SELinux: Completing initialization.
SELinux: Setting up existing superblocks.
SELinux: initialized (dev sda6, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts
SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts
SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs
SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses genfs_contexts
SELinux: initialized (dev devpts, type devpts), uses transition SIDs
SELinux: initialized (dev eventpollfs, type eventpollfs), uses genfs_contexts
SELinux: initialized (dev inotifyfs, type inotifyfs), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev futexfs, type futexfs), uses genfs_contexts
SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
SELinux: initialized (dev proc, type proc), uses genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
audit(1141341858.520:2): avc: denied { ptrace } for pid=372 comm="restorecon" scontext=system_u:system_r:restorecon_t:s0 tcontext=system_u:system_r:restorecon_t:s0 tclass=process
audit(1141341858.520:3): avc: denied { ptrace } for pid=372 comm="restorecon" scontext=system_u:system_r:restorecon_t:s0 tcontext=system_u:system_r:restorecon_t:s0 tclass=process
audit(1141341858.520:4): avc: denied { ptrace } for pid=372 comm="restorecon" scontext=system_u:system_r:restorecon_t:s0 tcontext=system_u:system_r:restorecon_t:s0 tclass=process
audit(1141341858.520:5): avc: denied { ptrace } for pid=372 comm="restorecon" scontext=system_u:system_r:restorecon_t:s0 tcontext=system_u:system_r:restorecon_t:s0 tclass=process
audit(1141341858.520:6): avc: denied { ptrace } for pid=372 comm="restorecon" scontext=system_u:system_r:restorecon_t:s0 tcontext=system_u:system_r:restorecon_t:s0 tclass=process
...
audit(1141370661.947:106): avc: denied { ptrace } for pid=380 comm="hwclock" scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=process
audit(1141370661.947:107): avc: denied { ptrace } for pid=380 comm="hwclock" scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=process
ICH6: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[B] -> GSI 18 (level, low) -> IRQ 18
ICH6: chipset revision 3
ICH6: not 100% native mode: will probe irqs later


Reverting just this patch prevents the above.

This is with basically unaltered FC5 as of a few days ago. The audit
patches weren't applied.

What is happening is that both `current' and get_proc_task(inode) are the
same task_struct: `restorecon' is trying to read its own proc files. But
ptrace_may_attach()->security_ptrace() is returning -EACCES.

So I bodged it in the obvious manner:

--- devel/fs/proc/base.c~proc-use-sane-permission-checks-on-the-proc-pid-fd-fix 2006-03-03 00:38:17.000000000 -0800
+++ devel-akpm/fs/proc/base.c 2006-03-03 00:43:54.000000000 -0800
@@ -521,8 +521,11 @@ static int proc_fd_access_allowed(struct
* allow access if we have the proper capability.
*/
task = get_proc_task(inode);
- if (task) {
+ if (task == current)
+ allowed = 1;
+ if (task && !allowed) {
int alive;
+
task_lock(task);
alive = !!task->mm;
task_unlock(task);

And the messages went away.

But I have a bad feeling about these /proc permission changes, Eric. I
suspect we'll be chasing a gradually decreasing frequency of weird problems
for a long time.


That task_lock() you have in proc_fd_access_allowed() looks very fishy,
btw. As soon as the lock is dropped, local `alive' becomes meaningless.
Either that, or the lock wasn't needed.


btw, it's surprising (to me) that security_ptrace(t1, t2) fails when
t1==t2?

2006-03-03 12:03:47

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH] proc: Use sane permission checks on the /proc/<pid>/fd/ symlinks.

Andrew Morton <[email protected]> writes:

> With all your latest patches I get a big spew lateish in the boot:
>
> Reverting just this patch prevents the above.
>
> This is with basically unaltered FC5 as of a few days ago. The audit
> patches weren't applied.
>
> What is happening is that both `current' and get_proc_task(inode) are the
> same task_struct: `restorecon' is trying to read its own proc files. But
> ptrace_may_attach()->security_ptrace() is returning -EACCES.
>
> So I bodged it in the obvious manner:

Ugh. Unless I am misreading the code we have the exact same problem
with /proc/self/mem. Which uses a stricter form of the same test.

> btw, it's surprising (to me) that security_ptrace(t1, t2) fails when
> t1==t2?

Same here. ptrace_attach explicitly denies that case but that happens
outside of ptrace_may_attach to allow for the /proc usage.

> --- devel/fs/proc/base.c~proc-use-sane-permission-checks-on-the-proc-pid-fd-fix
> 2006-03-03 00:38:17.000000000 -0800
> +++ devel-akpm/fs/proc/base.c 2006-03-03 00:43:54.000000000 -0800
> @@ -521,8 +521,11 @@ static int proc_fd_access_allowed(struct
> * allow access if we have the proper capability.
> */
> task = get_proc_task(inode);
> - if (task) {
> + if (task == current)
> + allowed = 1;
> + if (task && !allowed) {
> int alive;
> +
> task_lock(task);
> alive = !!task->mm;
> task_unlock(task);
>
> And the messages went away.

Agreed. Examining your self should always be valid.

I suspect this check get put in ptrace_may_attach, so we can always
read /proc/self/mem.

> But I have a bad feeling about these /proc permission changes, Eric. I
> suspect we'll be chasing a gradually decreasing frequency of weird problems
> for a long time.

You may be right, but even if that is the case I think it is worth it.
The old checks were bizarre if not outright wrong. And cause their
own share of weird cases when you start using things like namespaces.

The checks unify the two cases where we allow violating a tasks
privacy. Which is an important case to get right, and unification
of permissions means it is easier to administer if you don't want
someone doing that.

/proc and ptrace have had a connection since at least 2.0 so this
is nothing new. So if by using this on more than just /proc/<pid>/mem
I increase the frequency of usage and thus increase the frequency
of problem detection I think it is a good thing.

I think it is actually surprising no one noticed how bogus the
permissions on /proc/<pid>/fd/<fd#> have been, especially the people
concerned with security.

> That task_lock() you have in proc_fd_access_allowed() looks very fishy,
> btw. As soon as the lock is dropped, local `alive' becomes meaningless.
> Either that, or the lock wasn't needed.

Agreed. That does look a fishy.

I also spotted an outright bug. put_task_struct does not work on a
NULL pointer. Duh.

Sorry I obviously didn't switch levels very well when auditing that
code.

I will send in a patch to clean up those bits.

Eric


2006-03-03 15:32:14

by Adrian Bunk

[permalink] [raw]
Subject: 2.6.16-rc5-mm1: USB compile errors

On Tue, Feb 28, 2006 at 04:24:39AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.16-rc4-mm2:
>...
> +gregkh-usb-usb-reduce-syslog-clutter.patch
>
> USB tree update
>...

This patch causes tons of comile errors like the following in
non-modular drivers:

<-- snip -->

...
CC drivers/input/joystick/iforce/iforce-usb.o
drivers/input/joystick/iforce/iforce-usb.c: In function 'iforce_usb_irq':
drivers/input/joystick/iforce/iforce-usb.c:104: error: dereferencing pointer to incomplete type
make[4]: *** [drivers/input/joystick/iforce/iforce-usb.o] 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

2006-03-06 00:05:44

by Jesper Juhl

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

On 3/2/06, Eric W. Biederman <[email protected]> wrote:
> "Jesper Juhl" <[email protected]> writes:
>
> > On 3/2/06, Jesper Juhl <[email protected]> wrote:
> >> On 3/1/06, Andrew Morton <[email protected]> wrote:
> >> >
> >> > Could people please test a couple more patchsets, see if we can isolate it?
> >> >
> >> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.1.gz
> >> >
> >>
> >> Haven't had time to test this one yet, and won't have time until tomorrow :(
> >>
> >
> > I just tested this kernel and it builds and runs just fine. Can't
> > crash it with my eclipse test case.
> >
> >>
> >> > and http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm1.2.gz is
> >>
> >> I've tested this one and I can't crash it with eclipse like I could
> >> plain old 2.6.16-rc5-mm1
> >>
> >
> > With all the recent patches and proposed patches and discussions about
> > various approaches to fix this I've lost track.
> >
> > What kernel with what patches applied and/or reverted would it make
> > the most sense for me to test now, in order to provide the most useful
> > testing?
>
> So it looks like we have this tracked and fixed. Andrew included my
> fix in:
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.16-rc5-mm2-pre1.gz
>
> So just confirming that the fixed actually worked would probably be
> the biggest help.
>
> The problem should be fixed unless there is something else that
> triggers the horrible and mysterious kernel death. So you are
> getting the same results as everyone else.
>

2.6.16-rc5-mm2 works fine for me. Can't crash it with eclipse.

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

2006-03-13 04:46:13

by Peter Williams

[permalink] [raw]
Subject: Re: 2.6.16-rc5-mm1 -- strange load balancing problems

Peter Williams wrote:
> Peter Williams wrote:
>
>> I'm seeing some strange load balancing problems with this kernel. I
>> don't think that they're due to the smpnice patches as I've applied
>> them on a standard 2.6.15-rc5 kernel and the problem doesn't happen
>> there.
>>
>> The problem is (as I say) quite strange and (for me) very
>> reproducible. I have two programs (aspin and gsmiley) which I use to
>> produce CPU hard spinners for testing purposes. What I'm finding is
>> that when I start several copies of aspin load balancing goes as
>> expected but when I launch several copies of gsmiley they all go to
>> the one CPU and stick there like glue. (The most obvious difference
>> between the two programs is that aspin is just a command line tool
>> while gsmiley is an X windows program that spins a simley face and
>> reports its own assessment of the percentage of CPU it's getting.)
>> The machine that I've seen this problem is a hyper threading Pentium 4
>> and I suspect that it may be due to the SCHED_MC changes which overlap
>> SCHED_SMT a bit.
>>
>> I'm trying to test this on a non hyper threading machine but the
>> machine has crashed (different kernel) while doing the build. I'll
>> resume this effort tomorrow but I thought that I should report the
>> problem so that others could comment.
>>
>> Peter
>> PS SCHED_MC was configured in but I'll try it without tomorrow and
>> report the results.
>
>
> Configuring SCHED_MC to "no" causes this problem to go away.

This problem does not appear to be present in 2.6.16-rc6-mm1.

Peter
--
Peter Williams [email protected]

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce