2007-08-10 05:43:23

by Andrew Morton

[permalink] [raw]
Subject: 2.6.23-rc2-mm2


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/

- Various problems from 2.6.23-rc2-mm1 were fixed



Boilerplate:

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

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

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

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

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

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

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

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

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

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

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



Changes since 2.6.23-rc1-mm2:

origin.patch
git-acpi.patch
git-alsa.patch
git-agpgart.patch
git-audit-master.patch
git-cifs.patch
git-cpufreq.patch
git-dma.patch
git-drm.patch
git-dvb.patch
git-hwmon.patch
git-gfs2-nmw.patch
git-hid.patch
git-ieee1394.patch
git-infiniband.patch
git-input.patch
git-jfs.patch
git-jg-misc.patch
git-kvm.patch
git-libata-all.patch
git-m32r.patch
git-md-accel.patch
git-mips.patch
git-mmc.patch
git-mtd.patch
git-ubi.patch
git-netdev-all.patch
git-ixgbe.patch
git-nfsd.patch
git-ocfs2.patch
git-r8169.patch
git-s390.patch
git-sh.patch
git-sh64.patch
git-scsi-misc.patch
git-unionfs.patch
git-v9fs.patch
git-watchdog.patch
git-wireless.patch
git-ipwireless_cs.patch
git-newsetup.patch
git-xfs.patch
git-cryptodev.patch
git-kgdb.patch

git trees

-genirq-temporary-fix-for-level-triggered-irq-resend-fix.patch
-allow-rcutorture-to-handle-synchronize_sched.patch
-alpha-o_cloexec-definition.patch
-sound-pci-ioremap-iounmap-balancing.patch
-fix-ide-ide-add-platform-ide-driver.patch
-mmc-make-it-build.patch
-mmc-fix-section-mismatch-warnings-for-drivers-mmc-host.patch
-git-nfsd-build-fixes.patch
-nfsd-warning-fix.patch
-dvb-remove-bogus-bug_on-in-videobuf_dvb_thread.patch

Merged into mainline or a subsystem tree

+hex_dump-add-missing-const-qualifiers.patch
+rcu-remove-prototype-for-nonexistent-function.patch
+cris-drivers-cdrom-kconfig-no-longer.patch
+spidev-warning-fix.patch
+timerremove-clockevents_unregister_notifier.patch
+fix-compilation-with-gcc-42.patch
+fix-compilation-with-gcc-42-fix.patch
+lguest-files-should-explicitly-include-asm-paravirth.patch
+alpha-werror-fixes-for-sys_titanc.patch
+readahead-docbook-fix.patch

More 2.6.23 queue

+pm-fix-dependencies-of-config_suspend-and-config_hibernation-updated-3x.patch

Might be 2.6.23

+acpi-ec-remove-potential-deadlock-from-ec.patch

ACPI fix

+sound-pci-ioremap-iounmap-balancing.patch

ALSA fix

+make-power-supply-class-available-for-arm-architecture.patch

ARM fix

+git-dma-up-fix.patch

Fix git-dma

+jdelvare-i2c-i2c-mpc-dont-disable-i2c-module-on-stop-condition.patch
+jdelvare-i2c-i2c-core-make-some-code-static.patch

I2C tree updates

-drivers-i2c-i2c-corec-make-code-static.patch

Dropped

+alpm-increase-number-of-allowable-device-flags.patch

ALPM pathces were updated again

+st340823a-hpa-and-libata.patch
+pata_cmd64x-set-up-mwdma-modes-properly.patch
+ata_piix-disallow-udma-133-on-ich5-ich7.patch

ata/pata things

+ide-hpt366-fix-pci-clock-detection-for-hpt374.patch
+ide-hpt366-ultradma-filtering-for-sata-cards.patch
+ide-atiixp-dma-setup-fixes.patch
+ide-it8213-piix-slc90e66-remove-dma-2-pio.patch
+ide-au1xxx-use-ide-tune-dma.patch
+ide-hpt34x-fix-config-hpt34x-autodma-n-handling.patch
+ide-ide-remove-drive-init-speed-zeroing.patch
+ide-ide-remove-ide-use-fast-pio.patch
+ide-cs5530-sc1200-add-pio-autotune-fallback-to-ide-dma-check.patch
+ide-sl82c105-add-pio-autotune-fallback-to-ide-dma-check.patch
+ide-ide-cris-add-pio-autotune-fallback-to-ide-dma-check.patch
+ide-ide-pmac-add-pio-autotune-fallback-to-ide-dma-check.patch
+ide-ide-remove-ide-dma-check.patch

IDE tree updates

+mips-detect-bcm947xx-cpus.patch
+mips-bcm947xx-support.patch
+rfc-add-bcm947xx-to-kconfig.patch
+mips-add-bcm947xx-to-makefile.patch

MIPS things

-8139too-force-media-setting-fix.patch

Dropped - it broke

+revert-8139too-clean-up-i-o-remapping.patch

Revert dud patch from git-netdev-all

+drivers-net-remove-superfluous-memset.patch
+net-tulip-xircom_cbc-remove-superfulous-priv-assignment.patch
+3c59x-fix-duplex-configuration.patch
+wol-bugfix-for-3c59xc.patch

netdev fixes

-cpqphp_ctrlc-remove-dead-code.patch

Dropped

+drivers-scsi-ipsc-fix-scsi_add_host-warning.patch
+drivers-scsi-ipsc-fix-scsi_add_host-warning-fix.patch
+scsi-ipsc-warning-fix.patch
+message-fusion-remove-redundant-memset.patch

SCSI fixes

+x86_64-vdso-install-unstripped-copies-on-disk.patch

VDSO update

+consolidate-show_regs-and-show_registers-for-i386.patch
+i386-clean-up-oops-bug-reports.patch
+x86_64-remove-x86_cpu_to_log_apicid.patch

x86 things

+belkin_sa-avoid-divide-by-zero-error.patch

USB fix

+mm-clarify-__add_to_swap_cache-locking-fix.patch

Fix mm-clarify-__add_to_swap_cache-locking.patch

+move-mm_struct-and-vm_area_struct.patch

MM refactoring

+flush-cache-before-installing-new-page-at-migraton.patch
+flush-icache-before-set_pte-on-ia64-flush-icache-at-set_pte.patch

MM fixes

+file-capabilities-clear-fcaps-on-inode-change.patch

file caps update

+freezer-introduce-freezer-firendly-waiting-macros-fix.patch

PM fix

+uml-add-vde-networking-support.patch
+uml-remove-unnecessary-hostfs_getattr.patch

UML updates

+aoe-remove-unecessary-wrapper-function.patch
+unicode-diacritics-support.patch
+mxser-remove-use-of-dead-tty_flipbuf_size-definition.patch
+jsm-remove-further-unneeded-crud.patch
+remove-consolemaph-from-header-exports.patch
+lib-sortc-optimization.patch
+x86_64-efi-boot-support-efi-frame-buffer-driver.patch
+x86_64-efi-boot-support-efi-boot-document.patch
+vfs-check-nanoseconds-in-utimensat.patch
+fix-execute-checking-in-permission.patch
+exec-remove-unnecessary-check-for-mnt_noexec.patch
+clean-out-unused-code-in-dentry-pruning.patch
+include-linux-typesh-in-if_fddih.patch

misc

-nfs-remove-congestion_end.patch
-lib-percpu_counter_add.patch
-lib-percpu_counter-variable-batch.patch
-lib-make-percpu_counter_add-take-s64.patch
-lib-percpu_counter_set.patch
-lib-percpu_counter_sum_positive.patch
-lib-percpu_count_sum.patch
-lib-percpu_counter_init-error-handling.patch
-lib-percpu_counter_init_irq.patch
-mm-bdi-init-hooks.patch
-mm-bdi-init-hooks-fix.patch
-mtd-bdi-init-hooks.patch
-mtd-clean-up-the-backing_dev_info-usage.patch
-mtd-give-mtdconcat-devices-their-own-backing_dev_info.patch
-mm-scalable-bdi-statistics-counters.patch
-mm-count-reclaimable-pages-per-bdi.patch
-mm-count-writeback-pages-per-bdi.patch
-mm-expose-bdi-statistics-in-sysfs.patch
-lib-floating-proportions.patch
-lib-floating-proportions-_single.patch
-mm-per-device-dirty-threshold.patch
-mm-dirty-balancing-for-tasks.patch
-debug-sysfs-files-for-the-current-ratio-size-total.patch
-task-containersv11-add-procfs-interface-containers-bdi-init-hooks.patch

Dropped due to crashiness

+unprivileged-mounts-allow-unprivileged-mounts-fix-subtype-handling.patch

Fix unprivileged-mounts-allow-unprivileged-mounts.patch

+tdfxfb-mtrr-support-fix-2.patch

Fix tdfxfb-mtrr-support.patch

+fuse-fix-permission-checking-on-sticky-directories-fix-setting-i_mode-bits.patch

Fix fuse-fix-permission-checking-on-sticky-directories-fix.patch

+fuse-clean-up-execute-permission-checking.patch

FUES update

+fs-introduce-write_begin-write_end-and-perform_write-aops-revoke-fix.patch

Fix fs-introduce-write_begin-write_end-and-perform_write-aops-revoke.patch

+sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
+sysctl-factor-out-sysctl_data.patch
+sysctl-error-on-bad-sysctl-tables.patch
+sysctl-update-sysctl_check_table.patch
+sysct-mqueue-remove-the-binary-sysctl-numbers.patch
+sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
+sysctl-fix-neighbour-table-sysctls.patch
+sysctl-ipv6-route-flushing-kill-binary-path.patch
+sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
+sysctl-x86_64-remove-unnecessary-binary-paths.patch
+sysctl-remove-broken-cdrom-binary-sysctls.patch
+sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
+sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch

sysctl cleanups

+make-access-to-tasks-nsproxy-lighter.patch

nsproxy speedup



All 1215 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/patch-list



2007-08-10 08:00:19

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2: possible irq lock inversion dependency detected

Hello,

Have fun :)

=========================================================
[ INFO: possible irq lock inversion dependency detected ]
2.6.23-rc2-mm2 #1
---------------------------------------------------------
depscan.sh/5928 just changed the state of lock:
(_xmit_ETHER){-+..}, at: [<c03cb669>] dev_watchdog+0x17/0xcc
but this lock took another, soft-irq-unsafe lock in the past:
(&tp->lock){--..}

and interrupts could create inverse lock ordering between them.


other info that might help us debug this:
no locks held by depscan.sh/5928.

the first lock's dependencies:
-> (_xmit_ETHER){-+..} ops: 27 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c045282a>] _spin_lock_bh+0x3a/0x47
[<c03bc0a6>] dev_set_rx_mode+0x14/0x3b
[<c03bc5af>] dev_change_flags+0x68/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c03cb669>] dev_watchdog+0x17/0xcc
[<c01224b7>] run_timer_softirq+0x14b/0x1a9
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c01393d0>] __lock_acquire+0x73e/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c045282a>] _spin_lock_bh+0x3a/0x47
[<c03bc0a6>] dev_set_rx_mode+0x14/0x3b
[<c03bc5af>] dev_change_flags+0x68/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<c087e9e8>] netdev_xmit_lock_key+0x8/0x1c0
-> (&tp->lock){--..} ops: 44 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c0148b92>] request_irq+0xba/0x108
[<de84e52d>] rtl8139_open+0x2f/0x1e2 [8139too]
[<c03be80d>] dev_open+0x37/0x76
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
softirq-on-W at:
[<c01393f9>] __lock_acquire+0x767/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c01487ed>] free_irq+0x11b/0x146
[<de84ec90>] rtl8139_close+0x8a/0x14a [8139too]
[<c03bd5d3>] dev_close+0x57/0x74
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c01393d0>] __lock_acquire+0x73e/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c01487ed>] free_irq+0x11b/0x146
[<de84ec90>] rtl8139_close+0x8a/0x14a [8139too]
[<c03bd5d3>] dev_close+0x57/0x74
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<de852190>] __key.19796+0x0/0xffffd3c9 [8139too]
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<de84d275>] rtl8139_set_rx_mode+0x1e/0x166 [8139too]
[<c03bbe72>] __dev_set_rx_mode+0x24/0x85
[<c03bc0b8>] dev_set_rx_mode+0x26/0x3b
[<c03be830>] dev_open+0x5a/0x76
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff

-> (&priv->lock){++..} ops: 113 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04529cc>] _spin_lock_irq+0x3b/0x48
[<ded03256>] orinoco_init+0x8f5/0xbbd [orinoco]
[<c03bdbde>] register_netdevice+0x13a/0x3f8
[<c03bdece>] register_netdev+0x32/0x3f
[<ded2c4bb>] orinoco_cs_probe+0x368/0x3df [orinoco_cs]
[<ded378d9>] pcmcia_device_probe+0xc9/0x14c [pcmcia]
[<c02f324f>] driver_probe_device+0xa6/0x198
[<c02f3492>] __driver_attach+0xa2/0xa4
[<c02f271a>] bus_for_each_dev+0x43/0x61
[<c02f30d1>] driver_attach+0x19/0x1b
[<c02f2a89>] bus_add_driver+0x7e/0x1a5
[<c02f363f>] driver_register+0x45/0x75
[<ded38560>] pcmcia_register_driver+0xdb/0x12f [pcmcia]
[<de84b024>] 0xde84b024
[<c0140a47>] sys_init_module+0xc4/0x1622
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<ded03bb4>] orinoco_interrupt+0x3f/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<ded06a99>] orinoco_get_wireless_stats+0xeb/0x140 [orinoco]
[<c042b2ba>] get_wireless_stats+0x1a/0x21
[<c042bf69>] wireless_seq_show+0x20/0x143
[<c0187357>] seq_read+0x1af/0x2b8
[<c01a1ed2>] proc_reg_read+0x57/0x78
[<c016d781>] vfs_read+0xaa/0x147
[<c016dba6>] sys_read+0x3d/0x7b
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<ded03bb4>] orinoco_interrupt+0x3f/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<ded06a99>] orinoco_get_wireless_stats+0xeb/0x140 [orinoco]
[<c042b2ba>] get_wireless_stats+0x1a/0x21
[<c042bf69>] wireless_seq_show+0x20/0x143
[<c0187357>] seq_read+0x1af/0x2b8
[<c01a1ed2>] proc_reg_read+0x57/0x78
[<c016d781>] vfs_read+0xaa/0x147
[<c016dba6>] sys_read+0x3d/0x7b
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<ded0a298>] __key.20430+0x0/0xffffc9cd [orinoco]
-> (lweventlist_lock){+...} ops: 8 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03c78db>] linkwatch_add_event+0x10/0x31
[<c03c79ba>] linkwatch_fire_event+0x35/0x37
[<c03cb36a>] netif_carrier_off+0x19/0x20
[<ded023b5>] alloc_orinocodev+0x181/0x19c [orinoco]
[<ded2c170>] orinoco_cs_probe+0x1d/0x3df [orinoco_cs]
[<ded378d9>] pcmcia_device_probe+0xc9/0x14c [pcmcia]
[<c02f324f>] driver_probe_device+0xa6/0x198
[<c02f3492>] __driver_attach+0xa2/0xa4
[<c02f271a>] bus_for_each_dev+0x43/0x61
[<c02f30d1>] driver_attach+0x19/0x1b
[<c02f2a89>] bus_add_driver+0x7e/0x1a5
[<c02f363f>] driver_register+0x45/0x75
[<ded38560>] pcmcia_register_driver+0xdb/0x12f [pcmcia]
[<de84b024>] 0xde84b024
[<c0140a47>] sys_init_module+0xc4/0x1622
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03c78db>] linkwatch_add_event+0x10/0x31
[<c03c79ba>] linkwatch_fire_event+0x35/0x37
[<c03cb39a>] netif_carrier_on+0x29/0x2b
[<ded04bdc>] orinoco_interrupt+0x1067/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c03706cb>] cpuidle_idle_call+0x74/0x99
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
}
... key at: [<c05e4990>] lweventlist_lock+0x10/0x20
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03c78db>] linkwatch_add_event+0x10/0x31
[<c03c79ba>] linkwatch_fire_event+0x35/0x37
[<c03cb39a>] netif_carrier_on+0x29/0x2b
[<ded04bdc>] orinoco_interrupt+0x1067/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c03706cb>] cpuidle_idle_call+0x74/0x99
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff

-> (&cwq->lock){++..} ops: 4593 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0129002>] __queue_work+0xf/0x2d
[<c012909f>] queue_work+0x57/0x90
[<c0128714>] call_usermodehelper_exec+0xce/0xe1
[<c0265385>] kobject_uevent_env+0x34d/0x449
[<c026548b>] kobject_uevent+0xa/0xf
[<c0264b69>] kset_register+0x32/0x38
[<c0264b77>] subsystem_register+0x8/0xa
[<c02f2c9a>] bus_register+0x65/0x1f3
[<c0611db6>] platform_bus_init+0x23/0x38
[<c0611e0c>] driver_init+0x1c/0x31
[<c05fc68d>] kernel_init+0x5d/0x26b
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0129002>] __queue_work+0xf/0x2d
[<c012909f>] queue_work+0x57/0x90
[<c029239a>] acpi_os_execute+0xae/0xcb
[<c02aa226>] acpi_ec_gpe_handler+0x4d/0x5e
[<c0297f51>] acpi_ev_gpe_dispatch+0x4b/0x115
[<c0298253>] acpi_ev_gpe_detect+0x9a/0xe1
[<c0296989>] acpi_ev_sci_xrupt_handler+0x15/0x1d
[<c0291aae>] acpi_irq+0xe/0x18
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0129002>] __queue_work+0xf/0x2d
[<c0129044>] delayed_work_timer_fn+0x24/0x28
[<c01224b7>] run_timer_softirq+0x14b/0x1a9
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c0128b00>] run_workqueue+0xe8/0x1f3
[<c0129648>] worker_thread+0x9a/0xf2
[<c012c04e>] kthread+0x36/0x58
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff
}
... key at: [<c0657ae8>] __key.11148+0x0/0x8
-> (&q->lock){++..} ops: 74830 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04529cc>] _spin_lock_irq+0x3b/0x48
[<c044fcf5>] wait_for_completion+0x24/0xb5
[<c012c1d1>] kthread_create+0x69/0xa8
[<c0606fcc>] cpu_callback+0x48/0xa3
[<c0607043>] spawn_ksoftirqd+0x1c/0x4e
[<c05fc66c>] kernel_init+0x3c/0x26b
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0113d3b>] __wake_up+0x15/0x42
[<c02aa1ff>] acpi_ec_gpe_handler+0x26/0x5e
[<c0297f51>] acpi_ev_gpe_dispatch+0x4b/0x115
[<c0298253>] acpi_ev_gpe_detect+0x9a/0xe1
[<c0296989>] acpi_ev_sci_xrupt_handler+0x15/0x1d
[<c0291aae>] acpi_irq+0xe/0x18
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0113c7c>] complete+0x15/0x4b
[<c0129ebe>] wakeme_after_rcu+0xb/0xd
[<c012a013>] __rcu_process_callbacks+0x69/0x1cf
[<c012a18b>] rcu_process_callbacks+0x12/0x23
[<c011eda3>] tasklet_action+0x3b/0x7b
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
}
... key at: [<c0657f30>] __key.11466+0x0/0x8
-> (&rq->rq_lock_key){++..} ops: 216798 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c060664a>] init_idle+0x40/0x6d
[<c06067e0>] sched_init+0x169/0x17c
[<c05fc970>] start_kernel+0xd5/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c01157f3>] scheduler_tick+0x20/0x192
[<c0122c31>] update_process_times+0x43/0x62
[<c0134325>] tick_periodic+0x24/0x75
[<c013438e>] tick_handle_periodic+0x18/0x7a
[<c01064ae>] timer_interrupt+0xe/0x15
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c014890a>] setup_irq+0xf2/0x20d
[<c060656f>] time_init_hook+0x19/0x1b
[<c05ffcc8>] hpet_time_init+0xd/0x15
[<c05fca70>] start_kernel+0x1d5/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c0114ec2>] task_rq_lock+0x28/0x40
[<c011504c>] try_to_wake_up+0x18/0x92
[<c01150d1>] default_wake_function+0xb/0xd
[<c011284b>] __wake_up_common+0x39/0x59
[<c0113ca1>] complete+0x3a/0x4b
[<c0129ebe>] wakeme_after_rcu+0xb/0xd
[<c012a013>] __rcu_process_callbacks+0x69/0x1cf
[<c012a18b>] rcu_process_callbacks+0x12/0x23
[<c011eda3>] tasklet_action+0x3b/0x7b
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
}
... key at: [<c0635d28>] per_cpu__runqueues+0x468/0x470
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c0114ec2>] task_rq_lock+0x28/0x40
[<c011504c>] try_to_wake_up+0x18/0x92
[<c01150d1>] default_wake_function+0xb/0xd
[<c011284b>] __wake_up_common+0x39/0x59
[<c0113ca1>] complete+0x3a/0x4b
[<c012c037>] kthread+0x1f/0x58
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff

... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0113d3b>] __wake_up+0x15/0x42
[<c0128c6b>] insert_work+0x60/0x75
[<c0129012>] __queue_work+0x1f/0x2d
[<c012909f>] queue_work+0x57/0x90
[<c0128714>] call_usermodehelper_exec+0xce/0xe1
[<c0265385>] kobject_uevent_env+0x34d/0x449
[<c026548b>] kobject_uevent+0xa/0xf
[<c0264b69>] kset_register+0x32/0x38
[<c0264b77>] subsystem_register+0x8/0xa
[<c02f2c9a>] bus_register+0x65/0x1f3
[<c0611db6>] platform_bus_init+0x23/0x38
[<c0611e0c>] driver_init+0x1c/0x31
[<c05fc68d>] kernel_init+0x5d/0x26b
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff

... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c0129002>] __queue_work+0xf/0x2d
[<c012909f>] queue_work+0x57/0x90
[<c01294af>] queue_delayed_work+0x27/0x48
[<c01294f2>] schedule_delayed_work+0x22/0x26
[<c03c793c>] linkwatch_schedule_work+0x40/0x89
[<c03c79a9>] linkwatch_fire_event+0x24/0x37
[<c03cb39a>] netif_carrier_on+0x29/0x2b
[<ded04bdc>] orinoco_interrupt+0x1067/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c03706cb>] cpuidle_idle_call+0x74/0x99
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff

-> (base_lock_keys + cpu){++..} ops: 69219 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c01229f6>] lock_timer_base+0x41/0x66
[<c0122ab8>] __mod_timer+0x3b/0xc5
[<c0122bea>] mod_timer+0x47/0x4b
[<c0611091>] con_init+0x24b/0x27e
[<c061075a>] console_init+0x20/0x2e
[<c05fca30>] start_kernel+0x195/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c01229f6>] lock_timer_base+0x41/0x66
[<c0122a47>] del_timer+0x2c/0x62
[<c0302a8b>] ide_intr+0x72/0x1f0
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04529cc>] _spin_lock_irq+0x3b/0x48
[<c0122395>] run_timer_softirq+0x29/0x1a9
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c014890a>] setup_irq+0xf2/0x20d
[<c060656f>] time_init_hook+0x19/0x1b
[<c05ffcc8>] hpet_time_init+0xd/0x15
[<c05fca70>] start_kernel+0x1d5/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
}
... key at: [<c0657a96>] base_lock_keys+0x0/0xa
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c01229f6>] lock_timer_base+0x41/0x66
[<c0122ab8>] __mod_timer+0x3b/0xc5
[<c0122bea>] mod_timer+0x47/0x4b
[<c03cae67>] __netdev_watchdog_up+0x37/0x50
[<c03cb390>] netif_carrier_on+0x1f/0x2b
[<ded04bdc>] orinoco_interrupt+0x1067/0x1219 [orinoco]
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c03706cb>] cpuidle_idle_call+0x74/0x99
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff

-> (&list->lock#2){.+..} ops: 12 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03b70bb>] skb_queue_tail+0x14/0x33
[<c042b67b>] wireless_send_event+0x348/0x369
[<c042b9b9>] ioctl_standard_call+0x1b2/0x34d
[<c042beae>] wext_handle_ioctl+0x35a/0x3e4
[<c03be765>] dev_ioctl+0x31e/0x325
[<c03b153c>] sock_ioctl+0xb7/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03b716c>] skb_dequeue+0x12/0x50
[<c042b32d>] wireless_nlevent_process+0x2d/0x33
[<c011eda3>] tasklet_action+0x3b/0x7b
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<ded028e3>] orinoco_ioctl_commit+0x8e/0x10c [orinoco]
[<c042b2f0>] call_commit_handler+0x2f/0x3f
[<c042b9d2>] ioctl_standard_call+0x1cb/0x34d
[<c042beae>] wext_handle_ioctl+0x35a/0x3e4
[<c03be765>] dev_ioctl+0x31e/0x325
[<c03b153c>] sock_ioctl+0xb7/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<c0884a80>] __key.13323+0x0/0x20
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c03b70bb>] skb_queue_tail+0x14/0x33
[<c042b67b>] wireless_send_event+0x348/0x369
[<ded03b69>] orinoco_send_wevents+0x9a/0xa6 [orinoco]
[<c0128b28>] run_workqueue+0x110/0x1f3
[<c0129648>] worker_thread+0x9a/0xf2
[<c012c04e>] kthread+0x36/0x58
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff

-> (&rq->rq_lock_key){++..} ops: 216798 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<c060664a>] init_idle+0x40/0x6d
[<c06067e0>] sched_init+0x169/0x17c
[<c05fc970>] start_kernel+0xd5/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c01395db>] __lock_acquire+0x949/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c01157f3>] scheduler_tick+0x20/0x192
[<c0122c31>] update_process_times+0x43/0x62
[<c0134325>] tick_periodic+0x24/0x75
[<c013438e>] tick_handle_periodic+0x18/0x7a
[<c01064ae>] timer_interrupt+0xe/0x15
[<c014814d>] handle_IRQ_event+0x28/0x59
[<c0149a1a>] handle_level_irq+0xad/0x10b
[<c01058f3>] do_IRQ+0x93/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c014890a>] setup_irq+0xf2/0x20d
[<c060656f>] time_init_hook+0x19/0x1b
[<c05ffcc8>] hpet_time_init+0xd/0x15
[<c05fca70>] start_kernel+0x1d5/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c0114ec2>] task_rq_lock+0x28/0x40
[<c011504c>] try_to_wake_up+0x18/0x92
[<c01150d1>] default_wake_function+0xb/0xd
[<c011284b>] __wake_up_common+0x39/0x59
[<c0113ca1>] complete+0x3a/0x4b
[<c0129ebe>] wakeme_after_rcu+0xb/0xd
[<c012a013>] __rcu_process_callbacks+0x69/0x1cf
[<c012a18b>] rcu_process_callbacks+0x12/0x23
[<c011eda3>] tasklet_action+0x3b/0x7b
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
[<c01025e4>] cpu_idle+0x87/0x89
[<c044f214>] rest_init+0x60/0x62
[<c05fcad5>] start_kernel+0x23a/0x2c5
[<00000000>] 0x0
[<ffffffff>] 0xffffffff
}
... key at: [<c0635d28>] per_cpu__runqueues+0x468/0x470
... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c0114ec2>] task_rq_lock+0x28/0x40
[<c011504c>] try_to_wake_up+0x18/0x92
[<c01150ee>] wake_up_process+0xf/0x11
[<c011f5cc>] __tasklet_schedule+0x6d/0x6f
[<c042b697>] wireless_send_event+0x364/0x369
[<ded03b69>] orinoco_send_wevents+0x9a/0xa6 [orinoco]
[<c0128b28>] run_workqueue+0x110/0x1f3
[<c0129648>] worker_thread+0x9a/0xf2
[<c012c04e>] kthread+0x36/0x58
[<c010454b>] kernel_thread_helper+0x7/0x1c
[<ffffffff>] 0xffffffff

... acquired at:
[<c0139d2d>] __lock_acquire+0x109b/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c0452a5f>] _spin_lock_irqsave+0x3e/0x4e
[<ded03598>] orinoco_set_multicast_list+0x1b/0x5f [orinoco]
[<c03bbe72>] __dev_set_rx_mode+0x24/0x85
[<c03bc0b8>] dev_set_rx_mode+0x26/0x3b
[<c03be830>] dev_open+0x5a/0x76
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff


the second lock's dependencies:
-> (&tp->lock){--..} ops: 44 {
initial-use at:
[<c0138ea9>] __lock_acquire+0x217/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c0148b92>] request_irq+0xba/0x108
[<de84e52d>] rtl8139_open+0x2f/0x1e2 [8139too]
[<c03be80d>] dev_open+0x37/0x76
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
softirq-on-W at:
[<c01393f9>] __lock_acquire+0x767/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c01487ed>] free_irq+0x11b/0x146
[<de84ec90>] rtl8139_close+0x8a/0x14a [8139too]
[<c03bd5d3>] dev_close+0x57/0x74
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c01393d0>] __lock_acquire+0x73e/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<de84d6e2>] rtl8139_interrupt+0x27/0x469 [8139too]
[<c01487ed>] free_irq+0x11b/0x146
[<de84ec90>] rtl8139_close+0x8a/0x14a [8139too]
[<c03bd5d3>] dev_close+0x57/0x74
[<c03bc5d5>] dev_change_flags+0x8e/0x190
[<c03fcb5c>] devinet_ioctl+0x4af/0x652
[<c03fd442>] inet_ioctl+0x56/0x71
[<c03b152a>] sock_ioctl+0xa5/0x1d4
[<c0178a52>] do_ioctl+0x22/0x71
[<c0178af6>] vfs_ioctl+0x55/0x29e
[<c0178d72>] sys_ioctl+0x33/0x69
[<c01041da>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<de852190>] __key.19796+0x0/0xffffd3c9 [8139too]

stack backtrace:
[<c0104899>] show_trace_log_lvl+0x1a/0x30
[<c0105296>] show_trace+0x12/0x14
[<c01053fe>] dump_stack+0x15/0x17
[<c0137462>] print_irq_inversion_bug+0x101/0x123
[<c0137db1>] check_usage_forwards+0x3e/0x45
[<c0137f67>] mark_lock+0x1af/0x70c
[<c0139384>] __lock_acquire+0x6f2/0x11ac
[<c0139ed7>] lock_acquire+0x99/0xb2
[<c04527e3>] _spin_lock+0x35/0x42
[<c03cb669>] dev_watchdog+0x17/0xcc
[<c01224b7>] run_timer_softirq+0x14b/0x1a9
[<c011ecc2>] __do_softirq+0x5b/0xb2
[<c011ed66>] do_softirq+0x4d/0x4f
[<c011f04b>] irq_exit+0x48/0x4a
[<c01058f8>] do_IRQ+0x98/0xd0
[<c010444e>] common_interrupt+0x2e/0x34
=======================
Clocksource tsc unstable (delta = 9372868714 ns)



Regards,

Mariusz

2007-08-10 08:19:00

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Hi,
2.6.23-rc2-mm2:
config with CONFIG_NF_CONNTRACK_AMANDA=y
boot oops:

hand copyed :
the EIP: helper_hash

backtrace:
do_basic_setup
...
nf_conntrack_amanda_init
error_code
do_vivide_error
...

Regards
dave

2007-08-10 08:33:11

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 16:18:38 +0800 "Dave Young" <[email protected]> wrote:

> Hi,
> 2.6.23-rc2-mm2:
> config with CONFIG_NF_CONNTRACK_AMANDA=y
> boot oops:
>
> hand copyed :
> the EIP: helper_hash
>
> backtrace:
> do_basic_setup
> ...
> nf_conntrack_amanda_init
> error_code
> do_vivide_error
> ...
>

cc netdev

please send config

presumably nf_ct_helper_hsize is zero

I'd have thought that the same bug would be present in mainline - there's
nothing in git-net.patch.

(hunts around, discovers that there's a net-2.6.24 tree now. Bah)

2007-08-10 08:37:43

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

>On 8/10/07, Andrew Morton <[email protected]> wrote:
> On Fri, 10 Aug 2007 16:18:38 +0800 "Dave Young" <[email protected]> wrote:
>
> > Hi,
> > 2.6.23-rc2-mm2:
> > config with CONFIG_NF_CONNTRACK_AMANDA=y
> > boot oops:
> >
> > hand copyed :
> > the EIP: helper_hash
> >
> > backtrace:
> > do_basic_setup
> > ...
> > nf_conntrack_amanda_init
> > error_code
> > do_vivide_error
> > ...
> >
>
> cc netdev
>
> please send config
>
> presumably nf_ct_helper_hsize is zero
>
> I'd have thought that the same bug would be present in mainline - there's
> nothing in git-net.patch.
>
> (hunts around, discovers that there's a net-2.6.24 tree now. Bah)
>
MY config file for test:
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23-rc2-mm2
# Fri Aug 10 16:24:32 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_NONIRQ_WAKEUP=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_USER_NS=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CONTAINERS=y
# CONFIG_CONTAINER_DEBUG is not set
# CONFIG_CONTAINER_NS is not set
# CONFIG_CONTAINER_CPUACCT is not set
CONFIG_CPUSETS=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_KPAGEMAP=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
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
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBD=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_LSF=y
CONFIG_BLK_DEV_BSG=y

#
# 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_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_SMP=y
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_PARAVIRT=y
CONFIG_XEN=y
CONFIG_VMI=y
# 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=y
# CONFIG_MCORE2 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# 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_MVIAC7 is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
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_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_NR_CPUS=2
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_MCE_P4THERMAL=y
CONFIG_VM86=y
CONFIG_TOSHIBA=y
CONFIG_I8K=y
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
CONFIG_EDD=y
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y
CONFIG_DMIID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=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_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
CONFIG_HIGHPTE=y
CONFIG_MATH_EMULATION=y
CONFIG_MTRR=y
CONFIG_EFI=y
CONFIG_IRQBALANCE=y
CONFIG_BOOT_IOREMAP=y
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x100000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_SMP_POSSIBLE=y
CONFIG_SUSPEND=y
CONFIG_HIBERNATION_SMP_POSSIBLE=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_BAY=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_ASUS=y
CONFIG_ACPI_TOSHIBA=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_SBS=y
CONFIG_APM=y
CONFIG_APM_IGNORE_USER_SUSPEND=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_ALLOW_INTS=y
CONFIG_APM_REAL_MODE_POWER_OFF=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_POWERNOW_K6=y
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_GX_SUSPMOD=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_SMI=y
CONFIG_X86_P4_CLOCKMOD=y
CONFIG_X86_CPUFREQ_NFORCE2=y
CONFIG_X86_LONGRUN=y
CONFIG_X86_LONGHAUL=y
CONFIG_X86_E_POWERSAVER=y

#
# shared options
#
CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

#
# CPU idle PM support
#
CONFIG_CPU_IDLE=y

#
# Governors
#
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

#
# 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=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE=y
CONFIG_PCIEAER=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
CONFIG_SCx200=y
CONFIG_SCx200HR_TIMER=y
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=y
CONFIG_HOTPLUG_PCI_COMPAQ=y
CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
CONFIG_HOTPLUG_PCI_IBM=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=y
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
CONFIG_HOTPLUG_PCI_SHPC=y

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

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
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=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IP_VS=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK_ENABLED=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_SAME=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PROTO_GRE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_QUEUE=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_OWNER=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_RAW=y

#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=y

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_ULOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y
CONFIG_IP_DCCP_ACKVEC=y

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2=y
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
CONFIG_IP_DCCP_TFRC_LIB=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3_RTO=100

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=y
CONFIG_SCTP_DBG_MSG=y
CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
CONFIG_TIPC=y
CONFIG_TIPC_ADVANCED=y
CONFIG_TIPC_ZONES=3
CONFIG_TIPC_CLUSTERS=1
CONFIG_TIPC_NODES=255
CONFIG_TIPC_SLAVE_NODES=0
CONFIG_TIPC_PORTS=8191
CONFIG_TIPC_LOG=0
# CONFIG_TIPC_DEBUG is not set
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
CONFIG_ATM_CLIP_NO_ICMP=y
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
CONFIG_ATM_BR2684_IPFILTER=y
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
CONFIG_DECNET=y
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_IPX=y
CONFIG_IPX_INTERN=y
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=y
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_ECONET=y
CONFIG_ECONET_AUNUDP=y
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=y

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FIFO=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_ATM=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_RR=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_INGRESS=y

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_IPT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_CLS_POLICE=y
CONFIG_NET_CLS_IND=y

#
# Network testing
#
CONFIG_NET_PKTGEN=y
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
CONFIG_BAYCOM_SER_FDX=y
CONFIG_BAYCOM_SER_HDX=y
CONFIG_YAM=y
CONFIG_IRDA=y

#
# IrDA protocols
#
CONFIG_IRLAN=y
CONFIG_IRCOMM=y
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=y

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=y
CONFIG_ACTISYS_DONGLE=y
CONFIG_TEKRAM_DONGLE=y
CONFIG_TOIM3232_DONGLE=y
CONFIG_LITELINK_DONGLE=y
CONFIG_MA600_DONGLE=y
CONFIG_GIRBIL_DONGLE=y
CONFIG_MCP2120_DONGLE=y
CONFIG_OLD_BELKIN_DONGLE=y
CONFIG_ACT200L_DONGLE=y
CONFIG_KINGSUN_DONGLE=y

#
# Old SIR device drivers
#

#
# Old Serial dongle support
#

#
# FIR device drivers
#
CONFIG_USB_IRDA=y
CONFIG_SIGMATEL_FIR=y
CONFIG_NSC_FIR=y
CONFIG_WINBOND_FIR=y
CONFIG_TOSHIBA_FIR=y
CONFIG_SMC_IRCC_FIR=y
CONFIG_ALI_FIR=y
CONFIG_VLSI_FIR=y
CONFIG_VIA_FIR=y
CONFIG_MCS_FIR=y
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=y
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIBCM203X=y
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
CONFIG_BT_HCIVHCI=y
CONFIG_AF_RXRPC=y
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
CONFIG_FIB_RULES=y

#
# Wireless
#
# CONFIG_CFG80211 is not set
CONFIG_WIRELESS_EXT=y
# CONFIG_MAC80211 is not set
CONFIG_IEEE80211=y
# CONFIG_IEEE80211_DEBUG is not set
CONFIG_IEEE80211_CRYPT_WEP=y
# CONFIG_IEEE80211_CRYPT_CCMP is not set
# CONFIG_IEEE80211_CRYPT_TKIP is not set
# CONFIG_IEEE80211_SOFTMAC is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_UB=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
CONFIG_ATA_OVER_ETH=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_MISC_DEVICES=y
CONFIG_IBM_ASM=y
CONFIG_PHANTOM=y
CONFIG_EEPROM_93CX6=y
CONFIG_SGI_IOC4=y
CONFIG_TIFM_CORE=y
CONFIG_TIFM_7XX1=y
CONFIG_MSI_LAPTOP=y
CONFIG_SONY_LAPTOP=y
CONFIG_SONYPI_COMPAT=y
CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_DEBUG is not set
CONFIG_THINKPAD_ACPI_BAY=y
CONFIG_THINKPAD_ACPI_INPUT_ENABLED=y
CONFIG_IDE=y
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=y

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

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPNP=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_OPTI621=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDEDMA_FORCED=y
CONFIG_IDEDMA_ONLYDISK=y
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
CONFIG_WDC_ALI15X3=y
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CY82C693=y
CONFIG_BLK_DEV_CS5520=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_CS5535=y
CONFIG_BLK_DEV_HPT34X=y
CONFIG_HPT34X_AUTODMA=y
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_JMICRON=y
CONFIG_BLK_DEV_SC1200=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IT8213=y
CONFIG_BLK_DEV_IT821X=y
CONFIG_BLK_DEV_NS87415=y
CONFIG_BLK_DEV_PDC202XX_OLD=y
CONFIG_PDC202XX_BURST=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
CONFIG_BLK_DEV_TRM290=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_BLK_DEV_TC86C001=y
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_HD=y

#
# SCSI device support
#
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

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

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

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=y
# CONFIG_AIC94XX_DEBUG is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS 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_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
CONFIG_SCSI_EATA=y
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_GDTH=y
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
CONFIG_PATA_PLATFORM=y
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
CONFIG_I2O=y
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_CONFIG=y
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_NETDEVICES_MULTIQUEUE=y
CONFIG_IFB=y
CONFIG_DUMMY=y
CONFIG_BONDING=y
CONFIG_MACVLAN=y
CONFIG_EQUALIZER=y
CONFIG_TUN=y
CONFIG_NET_SB1000=y
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y
CONFIG_ICPLUS_PHY=y
CONFIG_FIXED_PHY=y
CONFIG_FIXED_MII_10_FDX=y
CONFIG_FIXED_MII_100_FDX=y
# CONFIG_FIXED_MII_1000_FDX is not set
CONFIG_FIXED_MII_AMNT=1
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_CASSINI=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_DE4X5=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
CONFIG_ULI526X=y
CONFIG_HP100=y
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
CONFIG_PCNET32_NAPI=y
CONFIG_AMD8111_ETH=y
CONFIG_AMD8111E_NAPI=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_ADAPTEC_STARFIRE_NAPI=y
CONFIG_FORCEDETH=y
CONFIG_FORCEDETH_NAPI=y
CONFIG_DGRS=y
CONFIG_EEPRO100=y
CONFIG_E100=y
CONFIG_FEALNX=y
CONFIG_NATSEMI=y
CONFIG_NE2K_PCI=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_SIS900=y
CONFIG_EPIC100=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_RHINE_NAPI=y
CONFIG_SC92031=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 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_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_XEN_NETDEV_FRONTEND is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
CONFIG_SHAPER=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=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 is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# 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_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_VSXXXAA=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_WISTRON_BTNS=y
CONFIG_INPUT_ATLAS_BTNS=y
CONFIG_INPUT_ATI_REMOTE=y
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_UINPUT=y

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

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_COMPUTONE=y
CONFIG_ROCKETPORT=y
CONFIG_CYCLADES=y
CONFIG_CYZ_INTR=y
CONFIG_DIGIEPCA=y
CONFIG_MOXA_INTELLIO=y
CONFIG_MOXA_SMARTIO=y
CONFIG_MOXA_SMARTIO_NEW=y
CONFIG_ISI=y
CONFIG_SYNCLINK=y
CONFIG_SYNCLINKMP=y
CONFIG_SYNCLINK_GT=y
CONFIG_N_HDLC=y
CONFIG_SPECIALIX=y
CONFIG_SPECIALIX_RTSCTS=y
CONFIG_SX=y
CONFIG_RIO=y
CONFIG_RIO_OLDPCI=y
CONFIG_STALDRV=y
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_HVC_DRIVER=y
CONFIG_HVC_XEN=y
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_ACQUIRE_WDT=y
CONFIG_ADVANTECH_WDT=y
CONFIG_ALIM1535_WDT=y
CONFIG_ALIM7101_WDT=y
CONFIG_SC520_WDT=y
CONFIG_EUROTECH_WDT=y
CONFIG_IB700_WDT=y
CONFIG_IBMASR=y
CONFIG_WAFER_WDT=y
CONFIG_I6300ESB_WDT=y
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_SC1200_WDT=y
CONFIG_SCx200_WDT=y
CONFIG_PC87413_WDT=y
CONFIG_60XX_WDT=y
CONFIG_SBC8360_WDT=y
CONFIG_CPU5_WDT=y
CONFIG_SMSC37B787_WDT=y
CONFIG_W83627HF_WDT=y
CONFIG_W83697HF_WDT=y
CONFIG_W83877F_WDT=y
CONFIG_W83977F_WDT=y
CONFIG_MACHZ_WDT=y
CONFIG_SBC_EPX_C3_WATCHDOG=y

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=y
CONFIG_WDTPCI=y
CONFIG_WDT_501_PCI=y

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_NVRAM=y
CONFIG_RTC=y
CONFIG_R3964=y
CONFIG_APPLICOM=y
CONFIG_SONYPI=y
CONFIG_AGP=y
CONFIG_AGP_ALI=y
CONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_NVIDIA=y
CONFIG_AGP_SIS=y
CONFIG_AGP_SWORKS=y
CONFIG_AGP_VIA=y
CONFIG_AGP_EFFICEON=y
CONFIG_DRM=y
CONFIG_DRM_TDFX=y
CONFIG_DRM_R128=y
CONFIG_DRM_RADEON=y
CONFIG_DRM_I810=y
CONFIG_DRM_I830=y
# CONFIG_DRM_I915 is not set
CONFIG_DRM_MGA=y
CONFIG_DRM_SIS=y
CONFIG_DRM_VIA=y
CONFIG_DRM_SAVAGE=y
CONFIG_MWAVE=y
CONFIG_SCx200_GPIO=y
CONFIG_PC8736x_GPIO=y
CONFIG_NSC_GPIO=y
CONFIG_CS5535_GPIO=y
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=y
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_NSC=y
CONFIG_TCG_ATMEL=y
CONFIG_TCG_INFINEON=y
CONFIG_TELCLOCK=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=y
CONFIG_I2C_ALI1563=y
CONFIG_I2C_ALI15X3=y
CONFIG_I2C_AMD756=y
CONFIG_I2C_AMD756_S4882=y
CONFIG_I2C_AMD8111=y
CONFIG_I2C_I801=y
CONFIG_I2C_I810=y
CONFIG_I2C_PIIX4=y
CONFIG_I2C_NFORCE2=y
CONFIG_I2C_OCORES=y
CONFIG_I2C_PARPORT_LIGHT=y
CONFIG_I2C_PROSAVAGE=y
CONFIG_I2C_SAVAGE4=y
CONFIG_I2C_SIMTEC=y
CONFIG_SCx200_I2C=y
CONFIG_SCx200_I2C_SCL=12
CONFIG_SCx200_I2C_SDA=13
CONFIG_SCx200_ACB=y
CONFIG_I2C_SIS5595=y
CONFIG_I2C_SIS630=y
CONFIG_I2C_SIS96X=y
CONFIG_I2C_TAOS_EVM=y
CONFIG_I2C_STUB=m
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIA=y
CONFIG_I2C_VIAPRO=y
CONFIG_I2C_VOODOO3=y

#
# Miscellaneous I2C Chip support
#
CONFIG_SENSORS_DS1337=y
CONFIG_SENSORS_DS1374=y
# CONFIG_SENSORS_DS1682 is not set
CONFIG_SENSORS_EEPROM=y
CONFIG_SENSORS_PCF8574=y
CONFIG_SENSORS_PCA9539=y
CONFIG_SENSORS_PCF8591=y
CONFIG_SENSORS_MAX6875=y
CONFIG_SENSORS_TSL2550=y
# 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
CONFIG_W1=y
# CONFIG_W1_CON is not set

#
# 1-wire Bus Masters
#
# CONFIG_W1_MASTER_MATROX is not set
# CONFIG_W1_MASTER_DS2490 is not set
# CONFIG_W1_MASTER_DS2482 is not set

#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2433 is not set
CONFIG_W1_SLAVE_DS2760=y
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_BATTERY_DS2760=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADM1021=y
CONFIG_SENSORS_ADM1025=y
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=y
CONFIG_SENSORS_ADM1031=y
CONFIG_SENSORS_ADM9240=y
CONFIG_SENSORS_K8TEMP=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_FSCHER=y
CONFIG_SENSORS_FSCPOS=y
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_IT87=y
CONFIG_SENSORS_LM63=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
CONFIG_SENSORS_LM78=y
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LM90=y
CONFIG_SENSORS_LM92=y
CONFIG_SENSORS_LM93=y
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=y
CONFIG_SENSORS_SIS5595=y
CONFIG_SENSORS_DME1737=y
CONFIG_SENSORS_SMSC47M1=y
CONFIG_SENSORS_SMSC47M192=y
CONFIG_SENSORS_SMSC47B397=y
# CONFIG_SENSORS_THMC50 is not set
CONFIG_SENSORS_VIA686A=y
CONFIG_SENSORS_VT1211=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
CONFIG_SENSORS_W83792D=y
CONFIG_SENSORS_W83793=y
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83627HF=y
CONFIG_SENSORS_W83627EHF=y
CONFIG_SENSORS_HDAPS=y
CONFIG_SENSORS_APPLESMC=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE=y

#
# Multifunction device drivers
#
CONFIG_MFD_SM501=y

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_TVAUDIO=y
CONFIG_VIDEO_TDA7432=y
CONFIG_VIDEO_TDA9840=y
CONFIG_VIDEO_TDA9875=y
CONFIG_VIDEO_TEA6415C=y
CONFIG_VIDEO_TEA6420=y
CONFIG_VIDEO_MSP3400=y
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_WM8775=y
CONFIG_VIDEO_WM8739=y
CONFIG_VIDEO_VP27SMPX=y
CONFIG_VIDEO_BT819=y
CONFIG_VIDEO_BT856=y
CONFIG_VIDEO_KS0127=y
CONFIG_VIDEO_OV7670=y
CONFIG_VIDEO_SAA7110=y
CONFIG_VIDEO_SAA7111=y
CONFIG_VIDEO_SAA7114=y
CONFIG_VIDEO_SAA711X=y
CONFIG_VIDEO_TVP5150=y
CONFIG_VIDEO_VPX3220=y
CONFIG_VIDEO_CX25840=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_SAA7127=y
CONFIG_VIDEO_SAA7185=y
CONFIG_VIDEO_ADV7170=y
CONFIG_VIDEO_ADV7175=y
CONFIG_VIDEO_UPD64031A=y
CONFIG_VIDEO_UPD64083=y
CONFIG_VIDEO_VIVI=y
CONFIG_VIDEO_BT848=y
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_SAA6588=y
CONFIG_VIDEO_CPIA=y
CONFIG_VIDEO_CPIA_USB=y
CONFIG_VIDEO_CPIA2=y
CONFIG_VIDEO_SAA5246A=y
CONFIG_VIDEO_SAA5249=y
CONFIG_TUNER_3036=y
CONFIG_TUNER_TEA5761=y
CONFIG_VIDEO_STRADIS=y
CONFIG_VIDEO_ZORAN_ZR36060=y
CONFIG_VIDEO_ZORAN=y
CONFIG_VIDEO_ZORAN_BUZ=y
CONFIG_VIDEO_ZORAN_DC10=y
CONFIG_VIDEO_ZORAN_DC30=y
CONFIG_VIDEO_ZORAN_LML33=y
CONFIG_VIDEO_ZORAN_LML33R10=y
CONFIG_VIDEO_ZORAN_AVS6EYES=y
CONFIG_VIDEO_MEYE=y
CONFIG_VIDEO_SAA7134=y
CONFIG_VIDEO_SAA7134_DVB=y
CONFIG_VIDEO_MXB=y
CONFIG_VIDEO_DPC=y
CONFIG_VIDEO_HEXIUM_ORION=y
CONFIG_VIDEO_HEXIUM_GEMINI=y
CONFIG_VIDEO_CX88=y
CONFIG_VIDEO_CX88_BLACKBIRD=y
CONFIG_VIDEO_CX88_DVB=y
CONFIG_VIDEO_CX88_VP3054=y
CONFIG_VIDEO_IVTV=y
# CONFIG_VIDEO_IVTV_FB is not set
CONFIG_VIDEO_CAFE_CCIC=y
CONFIG_V4L_USB_DRIVERS=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_29XXX=y
CONFIG_VIDEO_PVRUSB2_24XXX=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_USBVISION=y
CONFIG_VIDEO_USBVIDEO=y
CONFIG_USB_VICAM=y
CONFIG_USB_IBMCAM=y
CONFIG_USB_KONICAWC=y
CONFIG_USB_QUICKCAM_MESSENGER=y
CONFIG_USB_ET61X251=y
CONFIG_VIDEO_OVCAMCHIP=y
CONFIG_USB_W9968CF=y
CONFIG_USB_OV511=y
CONFIG_USB_SE401=y
CONFIG_USB_SN9C102=y
CONFIG_USB_STV680=y
CONFIG_USB_ZC0301=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_ZR364XX=y
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_GEMTEK_PCI=y
CONFIG_RADIO_MAXIRADIO=y
CONFIG_RADIO_MAESTRO=y
CONFIG_USB_DSBR=y
CONFIG_DVB_CORE=y
CONFIG_DVB_CORE_ATTACH=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_DVB_AV7110=y
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET=y
CONFIG_DVB_BUDGET_CI=y
CONFIG_DVB_BUDGET_AV=y
CONFIG_DVB_BUDGET_PATCH=y

#
# Supported USB Adapters
#
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_DIBUSB_MB=y
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_CXUSB=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_VP7045=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y
CONFIG_DVB_CINERGYT2=y
CONFIG_DVB_CINERGYT2_TUNING=y
CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32
CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512
CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250
CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y
CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=50

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_DVB_B2C2_FLEXCOP_PCI=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=y

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=y

#
# Supported DVB Frontends
#

#
# Customise DVB Frontends
#
CONFIG_DVB_FE_CUSTOMISE=y

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_STV0299=y
CONFIG_DVB_CX24110=y
CONFIG_DVB_CX24123=y
CONFIG_DVB_TDA8083=y
CONFIG_DVB_MT312=y
CONFIG_DVB_VES1X93=y
CONFIG_DVB_S5H1420=y
CONFIG_DVB_TDA10086=y

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=y
CONFIG_DVB_SP887X=y
CONFIG_DVB_CX22700=y
CONFIG_DVB_CX22702=y
CONFIG_DVB_L64781=y
CONFIG_DVB_TDA1004X=y
CONFIG_DVB_NXT6000=y
CONFIG_DVB_MT352=y
CONFIG_DVB_ZL10353=y
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
CONFIG_DVB_DIB7000M=y
CONFIG_DVB_DIB7000P=y

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=y
CONFIG_DVB_TDA10021=y
CONFIG_DVB_TDA10023=y
CONFIG_DVB_STV0297=y

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=y
CONFIG_DVB_OR51211=y
CONFIG_DVB_OR51132=y
CONFIG_DVB_BCM3510=y
CONFIG_DVB_LGDT330X=y
CONFIG_DVB_S5H1409=m

#
# Tuners/PLL support
#
CONFIG_DVB_PLL=y
CONFIG_DVB_TDA826X=y
CONFIG_DVB_TDA827X=y
CONFIG_DVB_TUNER_QT1010=y
CONFIG_DVB_TUNER_MT2060=y
CONFIG_DVB_TUNER_MT2266=m
CONFIG_DVB_TUNER_MT2131=m
CONFIG_DVB_TUNER_DIB0070=y

#
# Miscellaneous devices
#
CONFIG_DVB_LNBP21=y
CONFIG_DVB_ISL6421=y
CONFIG_DVB_TUA6100=y
CONFIG_VIDEO_SAA7146=y
CONFIG_VIDEO_SAA7146_VV=y
CONFIG_VIDEO_TUNER=y
CONFIG_VIDEO_BUF=y
CONFIG_VIDEO_BUF_DVB=y
CONFIG_VIDEO_BTCX=y
CONFIG_VIDEO_IR_I2C=y
CONFIG_VIDEO_IR=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DAB=y
CONFIG_USB_DABUSB=y

#
# Graphics support
#
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_PROGEAR=y

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y

#
# Display hardware drivers
#
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# 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_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_EFI is not set
# CONFIG_FB_IMAC is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 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_VT8623 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_6x11=y
CONFIG_FONT_7x14=y
CONFIG_FONT_PEARL_8x8=y
CONFIG_FONT_ACORN_8x8=y
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_SUN8x16=y
CONFIG_FONT_SUN12x22=y
CONFIG_FONT_10x18=y
# CONFIG_LOGO is not set

#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_PANTHERLORD_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_ZEROPLUS_FF=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_PERSIST=y
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_R8A66597_HCD=y

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y

#
# 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=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USB_MON=y

#
# USB port drivers
#

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_AIRPRIME=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP2101=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_FUNSOFT=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_HP4X=y
CONFIG_USB_SERIAL_SAFE=y
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_XIRCOM=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
# CONFIG_USB_SERIAL_DEBUG is not set
CONFIG_USB_EZUSB=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_AUERSWALD=y
CONFIG_USB_RIO500=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_BERRY_CHARGE=y
CONFIG_USB_LED=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_PHIDGET=y
CONFIG_USB_PHIDGETKIT=y
CONFIG_USB_PHIDGETMOTORCONTROL=y
CONFIG_USB_PHIDGETSERVO=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_FTDI_ELAN=y
CONFIG_USB_APPLEDISPLAY=y
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
# CONFIG_USB_GOTEMP is not set

#
# USB DSL modem support
#
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_AMD5536UDC=y
CONFIG_USB_AMD5536UDC=y
# CONFIG_USB_GADGET_FSL_USB2 is not set
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_MMC is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
CONFIG_LEDS_NET48XX=y
CONFIG_LEDS_WRAP=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=y
CONFIG_EDAC_AMD76X=y
CONFIG_EDAC_E7XXX=y
CONFIG_EDAC_E752X=y
CONFIG_EDAC_I82875P=y
CONFIG_EDAC_I82975X=y
CONFIG_EDAC_I3000=y
CONFIG_EDAC_I82860=y
CONFIG_EDAC_R82600=y
CONFIG_EDAC_I5000=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_TEST=y

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_DS1672=y
CONFIG_RTC_DRV_MAX6900=y
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_X1205=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_PCF8583=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_M41T80_WDT=y

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1553=y
CONFIG_RTC_DRV_STK17TA8=y
CONFIG_RTC_DRV_DS1742=y
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_M48T59=y
CONFIG_RTC_DRV_V3020=y

#
# on-CPU RTC drivers
#

#
# DMA Engine support
#
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y

#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=y
CONFIG_DCA=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=y
CONFIG_KVM_AMD=y

#
# Userspace I/O
#
CONFIG_UIO=y
CONFIG_UIO_CIF=y
CONFIG_LGUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_LGUEST_NET=y
CONFIG_LGUEST_BLOCK=y

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
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=y
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_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_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QFMT_V1=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y
CONFIG_CONFIGFS_FS=y

#
# Layered filesystems
#
# CONFIG_ECRYPT_FS is not set
# CONFIG_UNION_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_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=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BIND34=y
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_RPCSEC_GSS_SPKM3=y
# CONFIG_SMB_FS is not set
CONFIG_CIFS=y
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_CIFS_UPCALL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y

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

#
# Distributed Lock Manager
#
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
# CONFIG_INSTRUMENTATION is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_SLUB_DEBUG_ON=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_HIGHMEM=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_LIST=y
CONFIG_FRAME_POINTER=y
CONFIG_PROFILE_LIKELY=y
CONFIG_FORCED_INLINING=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_DEBUG_SYNCHRO_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
# CONFIG_WANT_EXTRA_DEBUG_INFORMATION is not set
# CONFIG_UNWIND_INFO is not set
# CONFIG_KGDB is not set
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y

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

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_SECURITY_ROOTPLUG=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ABLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_586=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_CRYPTO_DEV_GEODE=y

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y

2007-08-10 09:52:34

by Dave Young

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

>On 8/10/07, Dave Young <[email protected]> wrote:
> >On 8/10/07, Andrew Morton <[email protected]> wrote:
> > On Fri, 10 Aug 2007 16:18:38 +0800 "Dave Young" <[email protected]> wrote:
> >
> > > Hi,
> > > 2.6.23-rc2-mm2:
> > > config with CONFIG_NF_CONNTRACK_AMANDA=y
> > > boot oops:
> > >
> > > hand copyed :
> > > the EIP: helper_hash
> > >
> > > backtrace:
> > > do_basic_setup
> > > ...
> > > nf_conntrack_amanda_init
> > > error_code
> > > do_vivide_error
> > > ...
> > >
> >
> > cc netdev
> >
> > please send config
> >
> > presumably nf_ct_helper_hsize is zero
> >
> > I'd have thought that the same bug would be present in mainline - there's
> > nothing in git-net.patch.
> >
> > (hunts around, discovers that there's a net-2.6.24 tree now. Bah)
> >
> MY config file for test:
>-----cut---
Hi,
config the CONFIG_NF_CONNTRACK_AMANDA=m, reboot , still oops, but this
time the point is nf_conntrack_ftp_init, (I doubt the
nf_conntrack_core is not initialized.)

boot with vga_ask and select 80x60, copyed more infomations:
---------pre oops:-----------
sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout
.3.19.13 Missing strategy
...
nf_conntrack_14_proto_sctp4 protocol register failed
...
---------oops:----------------
divide error: 0000 [#1] SMP
EIP: 0060: [<c088477b>] EFLAGS 00010246
Process swapper
...
nf_conntrack_ftp_init
...

Code: <...>
EIP <...> helper_hash +0x1b/0x24

Regards
dave

2007-08-10 09:56:37

by Aurelien Jarno

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>
> - Various problems from 2.6.23-rc2-mm1 were fixed

I have just tried it, and it fails to build for MIPS with the following
error:

CC arch/mips/kernel/asm-offsets.s
In file included from include/linux/sched.h:58,
from arch/mips/kernel/asm-offsets.c:13:
include/linux/mm_types.h:115: error: expected specifier-qualifier-list before 'pgprot_t'
include/linux/mm_types.h:169: warning: 'struct file' declared inside parameter list
include/linux/mm_types.h:169: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/mm_types.h:175: error: expected specifier-qualifier-list before 'pgd_t'


The trivial patch below fixes this problem.

Signed-off-by: Aurelien Jarno <[email protected]>

--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -10,6 +10,7 @@
#include <linux/rbtree.h>
#include <linux/rwsem.h>
#include <linux/completion.h>
+#include <asm/page.h>
#include <asm/mmu.h>

struct address_space;

--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' [email protected] | [email protected]
`- people.debian.org/~aurel32 | http://www.aurel32.net

2007-08-10 10:25:50

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

...

> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
> +sysctl-factor-out-sysctl_data.patch
> +sysctl-error-on-bad-sysctl-tables.patch
> +sysctl-update-sysctl_check_table.patch
> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
> +sysctl-fix-neighbour-table-sysctls.patch
> +sysctl-ipv6-route-flushing-kill-binary-path.patch
> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
> +sysctl-remove-broken-cdrom-binary-sysctls.patch
> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>
> sysctl cleanups
>

...


Getting all this on boot :

...

[ 484.984331] sysctl table check failed: /dev/parport/default/timeslice .7.3.-3.1 Missing strategy
[ 484.984515] sysctl table check failed: /dev/parport/default/spintime .7.3.-3.2 Missing strategy
[ 485.001254] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe .7.3.1.6.1 Directory with extra1
[ 485.001472] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe/timeslice .7.3.1.6.1.1 Missing strategy
[ 485.042786] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe .7.3.1.6.1 Directory with extra1
[ 485.042962] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe/timeslice .7.3.1.6.1.1 Missing strategy
[ 485.083586] sysctl table check failed: /dev/parport/parport0/spintime .7.3.1.1 Missing strategy
[ 485.083731] sysctl table check failed: /dev/parport/parport0/base-addr .7.3.1.2 Missing strategy
[ 485.083878] sysctl table check failed: /dev/parport/parport0/irq .7.3.1.3 Missing strategy
[ 485.084022] sysctl table check failed: /dev/parport/parport0/dma .7.3.1.4 Missing strategy
[ 485.084166] sysctl table check failed: /dev/parport/parport0/modes .7.3.1.5 Missing strategy
[ 485.084317] sysctl table check failed: /dev/parport/parport0/devices .7.3.1.6 Directory with extra1
[ 485.084470] sysctl table check failed: /dev/parport/parport0/devices/active .7.3.1.6.-3 Missing strategy
[ 485.084653] sysctl table check failed: /dev/parport/parport0/autoprobe .7.3.1.16 Missing strategy
[ 485.084806] sysctl table check failed: /dev/parport/parport0/autoprobe0 .7.3.1.17 Missing strategy
[ 485.084954] sysctl table check failed: /dev/parport/parport0/autoprobe1 .7.3.1.18 Missing strategy
[ 485.085103] sysctl table check failed: /dev/parport/parport0/autoprobe2 .7.3.1.19 Missing strategy
[ 485.085253] sysctl table check failed: /dev/parport/parport0/autoprobe3 .7.3.1.20 Missing strategy
[ 485.114655] sysctl table check failed: /dev/parport/parport0/devices/lp .7.3.1.6.1 Directory with extra1
[ 485.114856] sysctl table check failed: /dev/parport/parport0/devices/lp/timeslice .7.3.1.6.1.1 Missing strategy

....


Gabriel

2007-08-10 11:05:45

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Gabriel C wrote:
> ...
>
>> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
>> +sysctl-factor-out-sysctl_data.patch
>> +sysctl-error-on-bad-sysctl-tables.patch
>> +sysctl-update-sysctl_check_table.patch
>> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
>> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
>> +sysctl-fix-neighbour-table-sysctls.patch
>> +sysctl-ipv6-route-flushing-kill-binary-path.patch
>> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
>> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
>> +sysctl-remove-broken-cdrom-binary-sysctls.patch
>> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
>> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>>
>> sysctl cleanups
>>
>
> ...
>
>
> Getting all this on boot :
>
> ...
>
> [ 484.984331] sysctl table check failed: /dev/parport/default/timeslice .7.3.-3.1 Missing strategy
> [ 484.984515] sysctl table check failed: /dev/parport/default/spintime .7.3.-3.2 Missing strategy
> [ 485.001254] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe .7.3.1.6.1 Directory with extra1
> [ 485.001472] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe/timeslice .7.3.1.6.1.1 Missing strategy
> [ 485.042786] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe .7.3.1.6.1 Directory with extra1
> [ 485.042962] sysctl table check failed: /dev/parport/parport0/devices/Device ID probe/timeslice .7.3.1.6.1.1 Missing strategy
> [ 485.083586] sysctl table check failed: /dev/parport/parport0/spintime .7.3.1.1 Missing strategy
> [ 485.083731] sysctl table check failed: /dev/parport/parport0/base-addr .7.3.1.2 Missing strategy
> [ 485.083878] sysctl table check failed: /dev/parport/parport0/irq .7.3.1.3 Missing strategy
> [ 485.084022] sysctl table check failed: /dev/parport/parport0/dma .7.3.1.4 Missing strategy
> [ 485.084166] sysctl table check failed: /dev/parport/parport0/modes .7.3.1.5 Missing strategy
> [ 485.084317] sysctl table check failed: /dev/parport/parport0/devices .7.3.1.6 Directory with extra1
> [ 485.084470] sysctl table check failed: /dev/parport/parport0/devices/active .7.3.1.6.-3 Missing strategy
> [ 485.084653] sysctl table check failed: /dev/parport/parport0/autoprobe .7.3.1.16 Missing strategy
> [ 485.084806] sysctl table check failed: /dev/parport/parport0/autoprobe0 .7.3.1.17 Missing strategy
> [ 485.084954] sysctl table check failed: /dev/parport/parport0/autoprobe1 .7.3.1.18 Missing strategy
> [ 485.085103] sysctl table check failed: /dev/parport/parport0/autoprobe2 .7.3.1.19 Missing strategy
> [ 485.085253] sysctl table check failed: /dev/parport/parport0/autoprobe3 .7.3.1.20 Missing strategy
> [ 485.114655] sysctl table check failed: /dev/parport/parport0/devices/lp .7.3.1.6.1 Directory with extra1
> [ 485.114856] sysctl table check failed: /dev/parport/parport0/devices/lp/timeslice .7.3.1.6.1.1 Missing strategy
>
> ....
>
>



And this 2

...
[ 30.046491] sysctl table check failed: /kernel/cad_pid .1.54 Missing strategy
[ 30.046527] sysctl table check failed: /kernel/pty/nr .1.62.2 No data
...

2007-08-10 11:21:42

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Dave Young wrote:
>> On 8/10/07, Dave Young <[email protected]> wrote:
>>> On 8/10/07, Andrew Morton <[email protected]> wrote:
>>> On Fri, 10 Aug 2007 16:18:38 +0800 "Dave Young" <[email protected]> wrote:
>>>
>>>> Hi,
>>>> 2.6.23-rc2-mm2:
>>>> config with CONFIG_NF_CONNTRACK_AMANDA=y
>>>> boot oops:
>>>>
>>>> hand copyed :
>>>> the EIP: helper_hash
>>>>
>>>> backtrace:
>>>> do_basic_setup
>>>> ...
>>>> nf_conntrack_amanda_init
>>>> error_code
>>>> do_vivide_error
>>>> ...
>>>>
>>> cc netdev
>>>
>>> please send config
>>>
>>> presumably nf_ct_helper_hsize is zero
>>>
>>> I'd have thought that the same bug would be present in mainline - there's
>>> nothing in git-net.patch.
>>>
>>> (hunts around, discovers that there's a net-2.6.24 tree now. Bah)
>>>
>> MY config file for test:
>> -----cut---
> Hi,
> config the CONFIG_NF_CONNTRACK_AMANDA=m, reboot , still oops, but this
> time the point is nf_conntrack_ftp_init, (I doubt the
> nf_conntrack_core is not initialized.)
>
> boot with vga_ask and select 80x60, copyed more infomations:
> ---------pre oops:-----------
> sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout
> .3.19.13 Missing strategy
> ...
> nf_conntrack_14_proto_sctp4 protocol register failed
> ...
> ---------oops:----------------
> divide error: 0000 [#1] SMP
> EIP: 0060: [<c088477b>] EFLAGS 00010246
> Process swapper
> ...
> nf_conntrack_ftp_init
> ...
>
> Code: <...>
> EIP <...> helper_hash +0x1b/0x24

Does not Oops here but is broken.
Here is what I get :

modprobe nf_conntrack_amanda
WARNING: Error inserting nf_conntrack (/lib/modules/2.6.23-rc2-mm2/kernel/net/netfilter/nf_conntrack.ko): Cannot allocate memory
FATAL: Error inserting nf_conntrack_amanda (/lib/modules/2.6.23-rc2-mm2/kernel/net/netfilter/nf_conntrack_amanda.ko): Unknown symbol in module, or unknown parameter (see dmesg)

( from dmesg )

...

[ 1094.768867] nf_conntrack version 0.5.0 (10240 buckets, 40960 max)
[ 1094.769078] sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
[ 1094.780956] nf_conntrack_amanda: Unknown symbol nf_ct_expect_alloc
[ 1094.781055] nf_conntrack_amanda: Unknown symbol nf_ct_expect_put
[ 1094.781242] nf_conntrack_amanda: Unknown symbol nf_ct_expect_init
[ 1094.781371] nf_conntrack_amanda: Unknown symbol nf_conntrack_helper_unregister
[ 1094.781468] nf_conntrack_amanda: Unknown symbol __nf_ct_refresh_acct
[ 1094.781580] nf_conntrack_amanda: Unknown symbol nf_ct_expect_related
[ 1094.781673] nf_conntrack_amanda: Unknown symbol nf_conntrack_helper_register

...

>
> Regards
> dave
> -


Gabriel

2007-08-10 12:37:13

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Some new warnings here :

...

In file included from include/linux/blkdev.h:17,
from kernel/sched.c:45:
include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list

...

In file included from include/linux/blkdev.h:17,
from mm/filemap.c:29:
include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list

...

Some more of these , all from bsg.h:{67,71}

config there :

http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5







2007-08-10 12:39:53

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Some new section mismatch warnings:

...

MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x17e): Section mismatch: reference to .init.text:initialize_secondary (between 'is386' and 'check_x87')
WARNING: vmlinux.o(.text+0x183): Section mismatch: reference to .init.text:start_kernel (between 'is386' and 'check_x87')
WARNING: vmlinux.o(.text+0x8c82): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'alternatives_smp_switch')
WARNING: vmlinux.o(.text+0x984d): Section mismatch: reference to .init.data:disable_pse (between 'identify_cpu' and 'identify_secondary_cpu')
WARNING: vmlinux.o(.text+0xac59): Section mismatch: reference to .init.text:calibrate_delay (between 'init_cyrix' and 'init_nsc')
WARNING: vmlinux.o(.text+0xb4ac): Section mismatch: reference to .init.text:select_idle_routine (between 'init_intel' and 'init_intel_cacheinfo')
WARNING: vmlinux.o(.text+0xe49c): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
WARNING: vmlinux.o(.text+0xe881): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
WARNING: vmlinux.o(.text+0xecd8): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
WARNING: vmlinux.o(.text+0xecdd): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
WARNING: vmlinux.o(.text+0xf055): Section mismatch: reference to .init.text:setup_local_APIC (between 'start_secondary' and 'check_tsc_warp')
WARNING: vmlinux.o(.text+0xf05f): Section mismatch: reference to .init.text:calibrate_delay (between 'start_secondary' and 'check_tsc_warp')
WARNING: vmlinux.o(.text+0xf08e): Section mismatch: reference to .init.text:setup_secondary_APIC_clock (between 'start_secondary' and 'check_tsc_warp')
WARNING: vmlinux.o(.text+0x1fe6e): Section mismatch: reference to .init.text:idle_regs (between 'fork_idle' and '__put_task_struct')
WARNING: vmlinux.o(.text+0x2717a): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
WARNING: vmlinux.o(.text+0x272df): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
WARNING: vmlinux.o(.text+0x51df3): Section mismatch: reference to .init.text:start_cpu_timer (between 'vmstat_cpuup_callback' and 'refresh_cpu_vm_stats')
WARNING: vmlinux.o(.text+0xcac51): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
WARNING: vmlinux.o(.data+0x5480): Section mismatch: reference to .init.text:workqueue_cpu_callback (between 'workqueue_cpu_callback_nb.12121' and 'workqueue_mutex')
WARNING: vmlinux.o(.data+0x90c4): Section mismatch: reference to .init.text:cpu_callback (between 'cpu_callback_nb.18502' and 'shrinker_rwsem')
WARNING: vmlinux.o(.data+0x14d84): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl')

...


config :

http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5

2007-08-10 12:44:15

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Getting that with gcc 4.2.1 :


...

CC drivers/usb/host/ohci-hcd.o
CC drivers/usb/misc/usbled.o
CC drivers/usb/core/driver.o
In file included from drivers/usb/host/ohci-hcd.c:86:
drivers/usb/host/ohci-dbg.c: In function 'show_registers':
drivers/usb/host/ohci-dbg.c:620: warning: the address of 'next' will always evaluate as 'true'
drivers/usb/host/ohci-dbg.c:639: warning: the address of 'next' will always evaluate as 'true'

...


config : http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5


2007-08-10 13:22:35

by Gabriel C

[permalink] [raw]
Subject: [PATCH -mm] Fix some section mismatch warnings

Gabriel C wrote:
> Some new section mismatch warnings:
>
> ...
>
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0x17e): Section mismatch: reference to .init.text:initialize_secondary (between 'is386' and 'check_x87')
> WARNING: vmlinux.o(.text+0x183): Section mismatch: reference to .init.text:start_kernel (between 'is386' and 'check_x87')
> WARNING: vmlinux.o(.text+0x8c82): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'alternatives_smp_switch')
> WARNING: vmlinux.o(.text+0x984d): Section mismatch: reference to .init.data:disable_pse (between 'identify_cpu' and 'identify_secondary_cpu')
> WARNING: vmlinux.o(.text+0xac59): Section mismatch: reference to .init.text:calibrate_delay (between 'init_cyrix' and 'init_nsc')
> WARNING: vmlinux.o(.text+0xb4ac): Section mismatch: reference to .init.text:select_idle_routine (between 'init_intel' and 'init_intel_cacheinfo')
> WARNING: vmlinux.o(.text+0xe49c): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> WARNING: vmlinux.o(.text+0xe881): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> WARNING: vmlinux.o(.text+0xecd8): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> WARNING: vmlinux.o(.text+0xecdd): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> WARNING: vmlinux.o(.text+0xf055): Section mismatch: reference to .init.text:setup_local_APIC (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0xf05f): Section mismatch: reference to .init.text:calibrate_delay (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0xf08e): Section mismatch: reference to .init.text:setup_secondary_APIC_clock (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0x1fe6e): Section mismatch: reference to .init.text:idle_regs (between 'fork_idle' and '__put_task_struct')
> WARNING: vmlinux.o(.text+0x2717a): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> WARNING: vmlinux.o(.text+0x272df): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> WARNING: vmlinux.o(.text+0x51df3): Section mismatch: reference to .init.text:start_cpu_timer (between 'vmstat_cpuup_callback' and 'refresh_cpu_vm_stats')
> WARNING: vmlinux.o(.text+0xcac51): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
> WARNING: vmlinux.o(.data+0x5480): Section mismatch: reference to .init.text:workqueue_cpu_callback (between 'workqueue_cpu_callback_nb.12121' and 'workqueue_mutex')
> WARNING: vmlinux.o(.data+0x90c4): Section mismatch: reference to .init.text:cpu_callback (between 'cpu_callback_nb.18502' and 'shrinker_rwsem')
> WARNING: vmlinux.o(.data+0x14d84): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl')
>
> ...
>
>
> config :
>
> http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5
>


This patch fixes the .init.data ones

Signed-off-by: Gabriel Craciunescu <[email protected]>

---


diff -Nurp linux-2.6.23-rc2-mm2/arch/i386/kernel/setup.c linux-2.6.23-rc2-mm2-p/arch/i386/kernel/setup.c
--- linux-2.6.23-rc2-mm2/arch/i386/kernel/setup.c 2007-08-10 15:05:26.000000000 +0200
+++ linux-2.6.23-rc2-mm2-p/arch/i386/kernel/setup.c 2007-08-10 15:10:41.000000000 +0200
@@ -68,7 +68,7 @@
address, and must not be in the .bss segment! */
unsigned long init_pg_tables_end __initdata = ~0UL;

-int disable_pse __devinitdata = 0;
+int disable_pse __cpuinitdata = 0;

/*
* Machine setup..
diff -Nurp linux-2.6.23-rc2-mm2/arch/i386/kernel/smpboot.c linux-2.6.23-rc2-mm2-p/arch/i386/kernel/smpboot.c
--- linux-2.6.23-rc2-mm2/arch/i386/kernel/smpboot.c 2007-08-10 15:05:26.000000000 +0200
+++ linux-2.6.23-rc2-mm2-p/arch/i386/kernel/smpboot.c 2007-08-10 15:12:19.000000000 +0200
@@ -60,7 +60,7 @@
#include <asm/mtrr.h>

/* Set if we find a B stepping CPU */
-static int __devinitdata smp_b_stepping;
+static int __cpuinitdata smp_b_stepping;

/* Number of siblings per CPU package */
int smp_num_siblings = 1;
@@ -736,7 +736,7 @@ static inline int alloc_cpu_id(void)
}

#ifdef CONFIG_HOTPLUG_CPU
-static struct task_struct * __devinitdata cpu_idle_tasks[NR_CPUS];
+static struct task_struct * __cpuinitdata cpu_idle_tasks[NR_CPUS];
static inline struct task_struct * alloc_idle_task(int cpu)
{
struct task_struct *idle;
diff -Nurp linux-2.6.23-rc2-mm2/kernel/timer.c linux-2.6.23-rc2-mm2-p/kernel/timer.c
--- linux-2.6.23-rc2-mm2/kernel/timer.c 2007-08-10 15:05:34.000000000 +0200
+++ linux-2.6.23-rc2-mm2-p/kernel/timer.c 2007-08-10 15:13:14.000000000 +0200
@@ -1216,7 +1216,7 @@ static int __devinit init_timers_cpu(int
{
int j;
tvec_base_t *base;
- static char __devinitdata tvec_base_done[NR_CPUS];
+ static char __cpuinitdata tvec_base_done[NR_CPUS];

if (!tvec_base_done[cpu]) {
static char boot_done;

2007-08-10 14:38:30

by Adrian Bunk

[permalink] [raw]
Subject: [-mm patch] kernel/sysctl_check.c must #include <linux/string.h>

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.23-rc1-mm2:
>...
> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
> +sysctl-factor-out-sysctl_data.patch
> +sysctl-error-on-bad-sysctl-tables.patch
> +sysctl-update-sysctl_check_table.patch
> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
> +sysctl-fix-neighbour-table-sysctls.patch
> +sysctl-ipv6-route-flushing-kill-binary-path.patch
> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
> +sysctl-remove-broken-cdrom-binary-sysctls.patch
> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>
> sysctl cleanups
>...

This patch fixes the following compile error:

<-- snip -->

...
CC kernel/sysctl_check.o
/home/bunk/linux/kernel-2.6/linux-2.6.23-rc2-mm2/kernel/sysctl_check.c: In function 'sysctl_binary_lookup':
/home/bunk/linux/kernel-2.6/linux-2.6.23-rc2-mm2/kernel/sysctl_check.c:1303: error: implicit declaration of function 'strcmp'
make[2]: *** [kernel/sysctl_check.o] Error 1

<-- snip -->

Signed-off-by: Adrian Bunk <[email protected]>

---
--- a/kernel/sysctl_check.c
+++ b/kernel/sysctl_check.c
@@ -3,6 +3,7 @@
#include "../arch/s390/appldata/appldata.h"
#include "../fs/xfs/linux-2.6/xfs_sysctl.h"
#include <linux/sunrpc/debug.h>
+#include <linux/string.h>
#include <net/ip_vs.h>

struct trans_ctl_table {

2007-08-10 14:54:01

by Michal Piotrowski

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Hi,

Andrew Morton pisze:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>
[..]
> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
> +sysctl-factor-out-sysctl_data.patch
> +sysctl-error-on-bad-sysctl-tables.patch
> +sysctl-update-sysctl_check_table.patch
> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
> +sysctl-fix-neighbour-table-sysctls.patch
> +sysctl-ipv6-route-flushing-kill-binary-path.patch
> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
> +sysctl-remove-broken-cdrom-binary-sysctls.patch
> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>
> sysctl cleanups

There is something wrong with sysctl

[ 25.120741] sysctl_check_dir: failed: /kernel ref: /kernel .1
[ 25.127102] sysctl table check failed: /kernel Writable sysctl directory
[ 25.134157] sysctl table check failed: /kernel Inconsistent directory names
[ 25.141477] sysctl table check failed: /kernel/sched_domain Writable sysctl directory
[ 25.149755] sysctl table check failed: /kernel/sched_domain/cpu0 Writable sysctl directory
[ 25.158529] sysctl table check failed: /kernel/sched_domain/cpu0/domain0 Writable sysctl directory
[ 25.168102] sysctl table check failed: /kernel/sched_domain/cpu1 Writable sysctl directory
[ 25.176862] sysctl table check failed: /kernel/sched_domain/cpu1/domain0 Writable sysctl directory

Eric?

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-10 15:06:00

by Michal Piotrowski

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On 10/08/07, Michal Piotrowski <[email protected]> wrote:
> Hi,
>
> Andrew Morton pisze:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
> >
> [..]
> > +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
> > +sysctl-factor-out-sysctl_data.patch
> > +sysctl-error-on-bad-sysctl-tables.patch
> > +sysctl-update-sysctl_check_table.patch
> > +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
> > +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
> > +sysctl-fix-neighbour-table-sysctls.patch
> > +sysctl-ipv6-route-flushing-kill-binary-path.patch
> > +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
> > +sysctl-x86_64-remove-unnecessary-binary-paths.patch
> > +sysctl-remove-broken-cdrom-binary-sysctls.patch
> > +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
> > +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
> >
> > sysctl cleanups
>
> There is something wrong with sysctl

Ah, it is intended.
sysctl-error-on-bad-sysctl-tables.patch

>
> [ 25.120741] sysctl_check_dir: failed: /kernel ref: /kernel .1
> [ 25.127102] sysctl table check failed: /kernel Writable sysctl directory
> [ 25.134157] sysctl table check failed: /kernel Inconsistent directory names
> [ 25.141477] sysctl table check failed: /kernel/sched_domain Writable sysctl directory
> [ 25.149755] sysctl table check failed: /kernel/sched_domain/cpu0 Writable sysctl directory
> [ 25.158529] sysctl table check failed: /kernel/sched_domain/cpu0/domain0 Writable sysctl directory
> [ 25.168102] sysctl table check failed: /kernel/sched_domain/cpu1 Writable sysctl directory
> [ 25.176862] sysctl table check failed: /kernel/sched_domain/cpu1/domain0 Writable sysctl directory
>
> Eric?
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-10 15:57:22

by Adrian Bunk

[permalink] [raw]
Subject: 2.6.23-rc2-mm2: drivers/s390/char/keyboard.c compile error

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.23-rc1-mm2:
>...
> +unicode-diacritics-support.patch
>...
> misc
>...

The change to drivers/s390/char/keyboard.c doesn't compile:

<-- snip -->

...
LD .tmp_vmlinux1
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d666): undefined reference to `conv_uni_to_8bit'
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d67c): undefined reference to `conv_uni_to_8bit'
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d692): undefined reference to `conv_uni_to_8bit'
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d906): undefined reference to `conv_8bit_to_uni'
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d920): undefined reference to `conv_8bit_to_uni'
drivers/s390/built-in.o: In function `kbd_ioctl':
(.text+0x2d93a): undefined reference to `conv_8bit_to_uni'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [_all] Error 2

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

2007-08-10 16:01:54

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

"Michal Piotrowski" <[email protected]> writes:

> Ah, it is intended.
> sysctl-error-on-bad-sysctl-tables.patch

Yes. I'm trying to flush out the bad sysctl table entries and prevent
us from adding new ones.

>> [ 25.120741] sysctl_check_dir: failed: /kernel ref: /kernel .1
>> [ 25.127102] sysctl table check failed: /kernel Writable sysctl directory
>> [ 25.134157] sysctl table check failed: /kernel Inconsistent directory names
>> [ 25.141477] sysctl table check failed: /kernel/sched_domain Writable sysctl
> directory
>> [ 25.149755] sysctl table check failed: /kernel/sched_domain/cpu0 Writable
> sysctl directory
>> [ 25.158529] sysctl table check failed: /kernel/sched_domain/cpu0/domain0
> Writable sysctl directory
>> [ 25.168102] sysctl table check failed: /kernel/sched_domain/cpu1 Writable
> sysctl directory
>> [ 25.176862] sysctl table check failed: /kernel/sched_domain/cpu1/domain0
> Writable sysctl directory
>>
>> Eric?

Yes. For the sched debug case I sent Ingo and friends but apparently
other changes in Ingos tree kept it from applying and Andrew dropped
it. So instead the code now screams at you and refuses to register
Ingo sysctl table.

Eric

2007-08-10 16:04:15

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Gabriel C <[email protected]> writes:

> ...
>
>> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
>> +sysctl-factor-out-sysctl_data.patch
>> +sysctl-error-on-bad-sysctl-tables.patch
>> +sysctl-update-sysctl_check_table.patch
>> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
>> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
>> +sysctl-fix-neighbour-table-sysctls.patch
>> +sysctl-ipv6-route-flushing-kill-binary-path.patch
>> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
>> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
>> +sysctl-remove-broken-cdrom-binary-sysctls.patch
>> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
>>
> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>>
>> sysctl cleanups
>>
>
> ...
>
>
> Getting all this on boot :
>
> ...
>
> [ 484.984331] sysctl table check failed: /dev/parport/default/timeslice
> .7.3.-3.1 Missing strategy
> [ 484.984515] sysctl table check failed: /dev/parport/default/spintime .7.3.-3.2
> Missing strategy
> [ 485.001254] sysctl table check failed: /dev/parport/parport0/devices/Device ID
> probe .7.3.1.6.1 Directory with extra1
> [ 485.001472] sysctl table check failed: /dev/parport/parport0/devices/Device ID
> probe/timeslice .7.3.1.6.1.1 Missing strategy
> [ 485.042786] sysctl table check failed: /dev/parport/parport0/devices/Device ID
> probe .7.3.1.6.1 Directory with extra1
> [ 485.042962] sysctl table check failed: /dev/parport/parport0/devices/Device ID
> probe/timeslice .7.3.1.6.1.1 Missing strategy
> [ 485.083586] sysctl table check failed: /dev/parport/parport0/spintime .7.3.1.1
> Missing strategy
> [ 485.083731] sysctl table check failed: /dev/parport/parport0/base-addr
> .7.3.1.2 Missing strategy
> [ 485.083878] sysctl table check failed: /dev/parport/parport0/irq .7.3.1.3
> Missing strategy
> [ 485.084022] sysctl table check failed: /dev/parport/parport0/dma .7.3.1.4
> Missing strategy
> [ 485.084166] sysctl table check failed: /dev/parport/parport0/modes .7.3.1.5
> Missing strategy
> [ 485.084317] sysctl table check failed: /dev/parport/parport0/devices .7.3.1.6
> Directory with extra1
> [ 485.084470] sysctl table check failed: /dev/parport/parport0/devices/active
> .7.3.1.6.-3 Missing strategy
> [ 485.084653] sysctl table check failed: /dev/parport/parport0/autoprobe
> .7.3.1.16 Missing strategy
> [ 485.084806] sysctl table check failed: /dev/parport/parport0/autoprobe0
> .7.3.1.17 Missing strategy
> [ 485.084954] sysctl table check failed: /dev/parport/parport0/autoprobe1
> .7.3.1.18 Missing strategy
> [ 485.085103] sysctl table check failed: /dev/parport/parport0/autoprobe2
> .7.3.1.19 Missing strategy
> [ 485.085253] sysctl table check failed: /dev/parport/parport0/autoprobe3
> .7.3.1.20 Missing strategy
> [ 485.114655] sysctl table check failed: /dev/parport/parport0/devices/lp
> .7.3.1.6.1 Directory with extra1
> [ 485.114856] sysctl table check failed:
> /dev/parport/parport0/devices/lp/timeslice .7.3.1.6.1.1 Missing strategy

Hmm. Thanks it doesn't like I had the parport code enabled in my test kernel.
With a little luck it looks like we can just nuke the binary sysctl interface
here. And get the /proc/sys interface working again.

Eric

2007-08-10 16:06:54

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Gabriel C <[email protected]> writes:

> And this 2
>
> ...
> [ 30.046491] sysctl table check failed: /kernel/cad_pid .1.54 Missing strategy
> [ 30.046527] sysctl table check failed: /kernel/pty/nr .1.62.2 No data
> ...

Yep.

The cad_pid case seems to be a real bug.
The pty/nr is a race you can't exploit in practice.

I haven't gotten to either of those yet.

Eric

2007-08-10 16:07:42

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2


* Eric W. Biederman <[email protected]> wrote:

> Yes. For the sched debug case I sent Ingo and friends but apparently
> other changes in Ingos tree kept it from applying and Andrew dropped
> it. So instead the code now screams at you and refuses to register
> Ingo sysctl table.

the commit below is now upstream - is your patch still needed?

Ingo

------------>
commit e0361851e5647cdd62fd5c367df5d7e145769d04
Author: Alexey Dobriyan <[email protected]>
Date: Thu Aug 9 11:16:46 2007 +0200

sched: remove binary sysctls from kernel.sched_domain

kernel.sched_domain hierarchy is under CTL_UNNUMBERED and thus
unreachable to sysctl(2). Generating .ctl_number's in such situation is
not useful.

Signed-off-by: Alexey Dobriyan <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>

diff --git a/kernel/sched.c b/kernel/sched.c
index 49f5b28..85b9311 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5217,12 +5217,19 @@ static void migrate_dead_tasks(unsigned int dead_cpu)
#if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_SYSCTL)

static struct ctl_table sd_ctl_dir[] = {
- {CTL_UNNUMBERED, "sched_domain", NULL, 0, 0755, NULL, },
+ {
+ .procname = "sched_domain",
+ .mode = 0755,
+ },
{0,},
};

static struct ctl_table sd_ctl_root[] = {
- {CTL_UNNUMBERED, "kernel", NULL, 0, 0755, sd_ctl_dir, },
+ {
+ .procname = "kernel",
+ .mode = 0755,
+ .child = sd_ctl_dir,
+ },
{0,},
};

@@ -5238,11 +5245,10 @@ static struct ctl_table *sd_alloc_ctl_entry(int n)
}

static void
-set_table_entry(struct ctl_table *entry, int ctl_name,
+set_table_entry(struct ctl_table *entry,
const char *procname, void *data, int maxlen,
mode_t mode, proc_handler *proc_handler)
{
- entry->ctl_name = ctl_name;
entry->procname = procname;
entry->data = data;
entry->maxlen = maxlen;
@@ -5255,28 +5261,28 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd)
{
struct ctl_table *table = sd_alloc_ctl_entry(14);

- set_table_entry(&table[0], 1, "min_interval", &sd->min_interval,
+ set_table_entry(&table[0], "min_interval", &sd->min_interval,
sizeof(long), 0644, proc_doulongvec_minmax);
- set_table_entry(&table[1], 2, "max_interval", &sd->max_interval,
+ set_table_entry(&table[1], "max_interval", &sd->max_interval,
sizeof(long), 0644, proc_doulongvec_minmax);
- set_table_entry(&table[2], 3, "busy_idx", &sd->busy_idx,
+ set_table_entry(&table[2], "busy_idx", &sd->busy_idx,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[3], 4, "idle_idx", &sd->idle_idx,
+ set_table_entry(&table[3], "idle_idx", &sd->idle_idx,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[4], 5, "newidle_idx", &sd->newidle_idx,
+ set_table_entry(&table[4], "newidle_idx", &sd->newidle_idx,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[5], 6, "wake_idx", &sd->wake_idx,
+ set_table_entry(&table[5], "wake_idx", &sd->wake_idx,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[6], 7, "forkexec_idx", &sd->forkexec_idx,
+ set_table_entry(&table[6], "forkexec_idx", &sd->forkexec_idx,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[7], 8, "busy_factor", &sd->busy_factor,
+ set_table_entry(&table[7], "busy_factor", &sd->busy_factor,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[8], 9, "imbalance_pct", &sd->imbalance_pct,
+ set_table_entry(&table[8], "imbalance_pct", &sd->imbalance_pct,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[10], 11, "cache_nice_tries",
+ set_table_entry(&table[10], "cache_nice_tries",
&sd->cache_nice_tries,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[12], 13, "flags", &sd->flags,
+ set_table_entry(&table[12], "flags", &sd->flags,
sizeof(int), 0644, proc_dointvec_minmax);

return table;
@@ -5296,7 +5302,6 @@ static ctl_table *sd_alloc_ctl_cpu_table(int cpu)
i = 0;
for_each_domain(cpu, sd) {
snprintf(buf, 32, "domain%d", i);
- entry->ctl_name = i + 1;
entry->procname = kstrdup(buf, GFP_KERNEL);
entry->mode = 0755;
entry->child = sd_alloc_ctl_domain_table(sd);
@@ -5317,7 +5322,6 @@ static void init_sched_domain_sysctl(void)

for (i = 0; i < cpu_num; i++, entry++) {
snprintf(buf, 32, "cpu%d", i);
- entry->ctl_name = i + 1;
entry->procname = kstrdup(buf, GFP_KERNEL);
entry->mode = 0755;
entry->child = sd_alloc_ctl_cpu_table(i);

2007-08-10 16:18:46

by Michal Piotrowski

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Andrew Morton pisze:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>

Yet another sysctl table check failed

[ 88.949055] Netfilter messages via NETLINK v0.30.
[ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 89.491892] sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
[ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
[ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
[ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
[ 90.852319] NET: Registered protocol family 17

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-10 16:39:10

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 14:35:01 +0200 Gabriel C <[email protected]> wrote:

> In file included from include/linux/blkdev.h:17,
> from kernel/sched.c:45:
> include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
> include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
> include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list

Thanks, I'll fix that up.

2007-08-10 16:40:21

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Michal Piotrowski wrote:
> Andrew Morton pisze:
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>>
>
> Yet another sysctl table check failed
>
> [ 88.949055] Netfilter messages via NETLINK v0.30.
> [ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
> [ 89.491892] sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
> [ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
> [ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
> [ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
> [ 90.852319] NET: Registered protocol family 17
>

And maybe this ?

http://lkml.org/lkml/2007/8/10/112

> Regards,
> Michal
>

Gabriel

2007-08-10 16:40:57

by Samuel Thibault

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2: drivers/s390/char/keyboard.c compile error

Hi,

Adrian Bunk, le Fri 10 Aug 2007 17:56:56 +0200, a ?crit :
> On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
> The change to drivers/s390/char/keyboard.c doesn't compile:

> (.text+0x2d666): undefined reference to `conv_uni_to_8bit'
> (.text+0x2d906): undefined reference to `conv_8bit_to_uni'

Ah, so s390 doesn't yet have the notion of consolemap and supposes
latin1... Then fine, it's actually simpler, here is a patch.

Samuel

Turn the kernel accent_table into unicode, and extend ioctls KDGKBDIACR
and KDSKBDIACR into their equivalents KDGKBDIACRUC and KDSKBDIACR.

New function int conv_uni_to_8bit(u32 uni) for converting unicode into 8bit
_input_. No, we don't want to store the translation, as it is potentially
sparse and large.

Signed-off-by: Samuel Thibault <[email protected]>

diff --git a/drivers/acorn/char/defkeymap-l7200.c b/drivers/acorn/char/defkeymap-l7200.c
index 9e18ce7..28a5fbc 100644
--- a/drivers/acorn/char/defkeymap-l7200.c
+++ b/drivers/acorn/char/defkeymap-l7200.c
@@ -346,7 +346,7 @@ char *func_table[MAX_NR_FUNC] = {
0,
};

-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacruc accent_table[MAX_DIACR] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'}, {'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},
diff --git a/drivers/char/consolemap.c b/drivers/char/consolemap.c
index 4b3916f..689d820 100644
--- a/drivers/char/consolemap.c
+++ b/drivers/char/consolemap.c
@@ -670,19 +670,29 @@ void con_protect_unimap(struct vc_data *vc, int rdonly)
p->readonly = rdonly;
}

+/*
+ * Always use USER_MAP. These functions are used by the keyboard,
+ * which shouldn't be affected by G0/G1 switching, etc.
+ * If the user map still contains default values, i.e. the
+ * direct-to-font mapping, then assume user is using Latin1.
+ */
/* may be called during an interrupt */
u32 conv_8bit_to_uni(unsigned char c)
{
- /*
- * Always use USER_MAP. This function is used by the keyboard,
- * which shouldn't be affected by G0/G1 switching, etc.
- * If the user map still contains default values, i.e. the
- * direct-to-font mapping, then assume user is using Latin1.
- */
unsigned short uni = translations[USER_MAP][c];
return uni == (0xf000 | c) ? c : uni;
}

+int conv_uni_to_8bit(u32 uni)
+{
+ int c;
+ for (c = 0; c < 0x100; c++)
+ if (translations[USER_MAP][c] == uni ||
+ (translations[USER_MAP][c] == (c | 0xf000) && uni == c))
+ return c;
+ return -1;
+}
+
int
conv_uni_to_pc(struct vc_data *conp, long ucs)
{
diff --git a/drivers/char/defkeymap.c_shipped b/drivers/char/defkeymap.c_shipped
index 453a2f1..0aa419a 100644
--- a/drivers/char/defkeymap.c_shipped
+++ b/drivers/char/defkeymap.c_shipped
@@ -222,7 +222,7 @@ char *func_table[MAX_NR_FUNC] = {
NULL,
};

-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacruc accent_table[MAX_DIACR] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'}, {'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index 2ce0af1..3bec260 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -41,6 +41,7 @@
#include <linux/sysrq.h>
#include <linux/input.h>
#include <linux/reboot.h>
+#include <linux/consolemap.h>

extern void ctrl_alt_del(void);

@@ -403,9 +404,12 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
return d;

if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, conv_8bit_to_uni(d));
- else if (d < 0x100)
- put_queue(vc, d);
+ to_utf8(vc, d);
+ else {
+ int c = conv_uni_to_8bit(d);
+ if (c != -1)
+ put_queue(vc, c);
+ }

return ch;
}
@@ -417,9 +421,12 @@ static void fn_enter(struct vc_data *vc)
{
if (diacr) {
if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, conv_8bit_to_uni(diacr));
- else if (diacr < 0x100)
- put_queue(vc, diacr);
+ to_utf8(vc, diacr);
+ else {
+ int c = conv_uni_to_8bit(diacr);
+ if (c != -1)
+ put_queue(vc, c);
+ }
diacr = 0;
}
put_queue(vc, 13);
@@ -627,9 +634,12 @@ static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag)
return;
}
if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, conv_8bit_to_uni(value));
- else if (value < 0x100)
- put_queue(vc, value);
+ to_utf8(vc, value);
+ else {
+ int c = conv_uni_to_8bit(value);
+ if (c != -1)
+ put_queue(vc, c);
+ }
}

/*
@@ -646,7 +656,12 @@ static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag)

static void k_self(struct vc_data *vc, unsigned char value, char up_flag)
{
- k_unicode(vc, value, up_flag);
+ unsigned int uni;
+ if (kbd->kbdmode == VC_UNICODE)
+ uni = value;
+ else
+ uni = conv_8bit_to_uni(value);
+ k_unicode(vc, uni, up_flag);
}

static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag)
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index c6f6f42..e4d817b 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -23,6 +23,7 @@
#include <linux/major.h>
#include <linux/fs.h>
#include <linux/console.h>
+#include <linux/consolemap.h>
#include <linux/signal.h>
#include <linux/timex.h>

@@ -582,10 +583,27 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
case KDGKBDIACR:
{
struct kbdiacrs __user *a = up;
+ struct kbdiacr diacr;
+ int i;

if (put_user(accent_table_size, &a->kb_cnt))
return -EFAULT;
- if (copy_to_user(a->kbdiacr, accent_table, accent_table_size*sizeof(struct kbdiacr)))
+ for (i = 0; i < accent_table_size; i++) {
+ diacr.diacr = conv_uni_to_8bit(accent_table[i].diacr);
+ diacr.base = conv_uni_to_8bit(accent_table[i].base);
+ diacr.result = conv_uni_to_8bit(accent_table[i].result);
+ if (copy_to_user(a->kbdiacr + i, &diacr, sizeof(struct kbdiacr)))
+ return -EFAULT;
+ }
+ return 0;
+ }
+ case KDGKBDIACRUC:
+ {
+ struct kbdiacrsuc __user *a = up;
+
+ if (put_user(accent_table_size, &a->kb_cnt))
+ return -EFAULT;
+ if (copy_to_user(a->kbdiacruc, accent_table, accent_table_size*sizeof(struct kbdiacruc)))
return -EFAULT;
return 0;
}
@@ -593,6 +611,30 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
case KDSKBDIACR:
{
struct kbdiacrs __user *a = up;
+ struct kbdiacr diacr;
+ unsigned int ct;
+ int i;
+
+ if (!perm)
+ return -EPERM;
+ if (get_user(ct,&a->kb_cnt))
+ return -EFAULT;
+ if (ct >= MAX_DIACR)
+ return -EINVAL;
+ accent_table_size = ct;
+ for (i = 0; i < ct; i++) {
+ if (copy_from_user(&diacr, a->kbdiacr + i, sizeof(struct kbdiacr)))
+ return -EFAULT;
+ accent_table[i].diacr = conv_8bit_to_uni(diacr.diacr);
+ accent_table[i].base = conv_8bit_to_uni(diacr.base);
+ accent_table[i].result = conv_8bit_to_uni(diacr.result);
+ }
+ return 0;
+ }
+
+ case KDSKBDIACRUC:
+ {
+ struct kbdiacrsuc __user *a = up;
unsigned int ct;

if (!perm)
@@ -602,7 +644,7 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
if (ct >= MAX_DIACR)
return -EINVAL;
accent_table_size = ct;
- if (copy_from_user(accent_table, a->kbdiacr, ct*sizeof(struct kbdiacr)))
+ if (copy_from_user(accent_table, a->kbdiacruc, ct*sizeof(struct kbdiacruc)))
return -EFAULT;
return 0;
}
diff --git a/drivers/s390/char/defkeymap.c b/drivers/s390/char/defkeymap.c
index 564baca..389346c 100644
--- a/drivers/s390/char/defkeymap.c
+++ b/drivers/s390/char/defkeymap.c
@@ -150,7 +150,7 @@ char *func_table[MAX_NR_FUNC] = {
NULL,
};

-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacruc accent_table[MAX_DIACR] = {
{'^', 'c', '\003'}, {'^', 'd', '\004'},
{'^', 'z', '\032'}, {'^', '\012', '\000'},
};
diff --git a/drivers/s390/char/keyboard.c b/drivers/s390/char/keyboard.c
index f62f9a4..5ab0d9e 100644
--- a/drivers/s390/char/keyboard.c
+++ b/drivers/s390/char/keyboard.c
@@ -11,6 +11,7 @@
#include <linux/sched.h>
#include <linux/sysrq.h>

+#include <linux/consolemap.h>
#include <linux/kbd_kern.h>
#include <linux/kbd_diacr.h>
#include <asm/uaccess.h>
@@ -82,11 +83,11 @@ kbd_alloc(void) {
if (!kbd->fn_handler)
goto out_func;
kbd->accent_table =
- kmalloc(sizeof(struct kbdiacr)*MAX_DIACR, GFP_KERNEL);
+ kmalloc(sizeof(struct kbdiacruc)*MAX_DIACR, GFP_KERNEL);
if (!kbd->accent_table)
goto out_fn_handler;
memcpy(kbd->accent_table, accent_table,
- sizeof(struct kbdiacr)*MAX_DIACR);
+ sizeof(struct kbdiacruc)*MAX_DIACR);
kbd->accent_table_size = accent_table_size;
return kbd;

@@ -183,8 +184,8 @@ kbd_ebcasc(struct kbd_data *kbd, unsigned char *ebcasc)
* Otherwise, conclude that DIACR was not combining after all,
* queue it and return CH.
*/
-static unsigned char
-handle_diacr(struct kbd_data *kbd, unsigned char ch)
+static unsigned int
+handle_diacr(struct kbd_data *kbd, unsigned int ch)
{
int i, d;

@@ -460,7 +461,6 @@ int
kbd_ioctl(struct kbd_data *kbd, struct file *file,
unsigned int cmd, unsigned long arg)
{
- struct kbdiacrs __user *a;
void __user *argp;
int ct, perm;

@@ -481,17 +481,40 @@ kbd_ioctl(struct kbd_data *kbd, struct file *file,
case KDSKBSENT:
return do_kdgkb_ioctl(kbd, argp, cmd, perm);
case KDGKBDIACR:
- a = argp;
+ {
+ struct kbdiacrs __user *a = argp;
+ struct kbdiacr diacr;
+ int i;

if (put_user(kbd->accent_table_size, &a->kb_cnt))
return -EFAULT;
+ for (i = 0; i < kbd->accent_table_size; i++) {
+ diacr.diacr = kbd->accent_table[i].diacr;
+ diacr.base = kbd->accent_table[i].base;
+ diacr.result = kbd->accent_table[i].result;
+ if (copy_to_user(a->kbdiacr + i, &diacr, sizeof(struct kbdiacr)))
+ return -EFAULT;
+ }
+ return 0;
+ }
+ case KDGKBDIACRUC:
+ {
+ struct kbdiacrsuc __user *a = argp;
+
ct = kbd->accent_table_size;
- if (copy_to_user(a->kbdiacr, kbd->accent_table,
- ct * sizeof(struct kbdiacr)))
+ if (put_user(ct, &a->kb_cnt))
+ return -EFAULT;
+ if (copy_to_user(a->kbdiacruc, kbd->accent_table,
+ ct * sizeof(struct kbdiacruc)))
return -EFAULT;
return 0;
+ }
case KDSKBDIACR:
- a = argp;
+ {
+ struct kbdiacrs __user *a = argp;
+ struct kbdiacr diacr;
+ int i;
+
if (!perm)
return -EPERM;
if (get_user(ct, &a->kb_cnt))
@@ -499,10 +522,31 @@ kbd_ioctl(struct kbd_data *kbd, struct file *file,
if (ct >= MAX_DIACR)
return -EINVAL;
kbd->accent_table_size = ct;
- if (copy_from_user(kbd->accent_table, a->kbdiacr,
- ct * sizeof(struct kbdiacr)))
+ for (i = 0; i < ct; i++) {
+ if (copy_from_user(&diacr, a->kbdiacr + i, sizeof(struct kbdiacr)))
+ return -EFAULT;
+ kbd->accent_table[i].diacr = diacr.diacr;
+ kbd->accent_table[i].base = diacr.base;
+ kbd->accent_table[i].result = diacr.result;
+ }
+ return 0;
+ }
+ case KDSKBDIACRUC:
+ {
+ struct kbdiacrsuc __user *a = argp;
+
+ if (!perm)
+ return -EPERM;
+ if (get_user(ct, &a->kb_cnt))
+ return -EFAULT;
+ if (ct >= MAX_DIACR)
+ return -EINVAL;
+ kbd->accent_table_size = ct;
+ if (copy_from_user(kbd->accent_table, a->kbdiacruc,
+ ct * sizeof(struct kbdiacruc)))
return -EFAULT;
return 0;
+ }
default:
return -ENOIOCTLCMD;
}
diff --git a/drivers/s390/char/keyboard.h b/drivers/s390/char/keyboard.h
index f7bf45c..5ccfe9c 100644
--- a/drivers/s390/char/keyboard.h
+++ b/drivers/s390/char/keyboard.h
@@ -25,9 +25,9 @@ struct kbd_data {
unsigned short **key_maps;
char **func_table;
fn_handler_fn **fn_handler;
- struct kbdiacr *accent_table;
+ struct kbdiacruc *accent_table;
unsigned int accent_table_size;
- unsigned char diacr;
+ unsigned int diacr;
unsigned short sysrq;
};

diff --git a/drivers/tc/lk201-map.c_shipped b/drivers/tc/lk201-map.c_shipped
index a9df8f5..4d2aba5 100644
--- a/drivers/tc/lk201-map.c_shipped
+++ b/drivers/tc/lk201-map.c_shipped
@@ -225,7 +225,7 @@ char *func_table[MAX_NR_FUNC] = {
0,
};

-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacruc accent_table[MAX_DIACR] = {
{'`', 'A', '?'}, {'`', 'a', '?'},
{'\'', 'A', '?'}, {'\'', 'a', '?'},
{'^', 'A', '?'}, {'^', 'a', '?'},
diff --git a/include/linux/consolemap.h b/include/linux/consolemap.h
index 06b2768..e2bf7e5 100644
--- a/include/linux/consolemap.h
+++ b/include/linux/consolemap.h
@@ -16,4 +16,5 @@ extern u16 inverse_translate(struct vc_data *conp, int glyph, int use_unicode);
extern unsigned short *set_translate(int m, struct vc_data *vc);
extern int conv_uni_to_pc(struct vc_data *conp, long ucs);
extern u32 conv_8bit_to_uni(unsigned char c);
+extern int conv_uni_to_8bit(u32 uni);
void console_map_init(void);
diff --git a/include/linux/kbd_diacr.h b/include/linux/kbd_diacr.h
index 1c1a3ff..7274ec6 100644
--- a/include/linux/kbd_diacr.h
+++ b/include/linux/kbd_diacr.h
@@ -2,7 +2,7 @@
#define _DIACR_H
#include <linux/kd.h>

-extern struct kbdiacr accent_table[];
+extern struct kbdiacruc accent_table[];
extern unsigned int accent_table_size;

#endif /* _DIACR_H */
diff --git a/include/linux/kd.h b/include/linux/kd.h
index 28be4fb..c91fc0c 100644
--- a/include/linux/kd.h
+++ b/include/linux/kd.h
@@ -125,6 +125,16 @@ struct kbdiacrs {
#define KDGKBDIACR 0x4B4A /* read kernel accent table */
#define KDSKBDIACR 0x4B4B /* write kernel accent table */

+struct kbdiacruc {
+ __u32 diacr, base, result;
+};
+struct kbdiacrsuc {
+ unsigned int kb_cnt; /* number of entries in following array */
+ struct kbdiacruc kbdiacruc[256]; /* MAX_DIACR from keyboard.h */
+};
+#define KDGKBDIACRUC 0x4BFA /* read kernel accent table - UCS */
+#define KDSKBDIACRUC 0x4BFB /* write kernel accent table - UCS */
+
struct kbkeycode {
unsigned int scancode, keycode;
};

2007-08-10 16:41:33

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 11:23:34 +0200, Aurelien Jarno said:
> I have just tried it, and it fails to build for MIPS with the following
> error:
>
> CC arch/mips/kernel/asm-offsets.s
> In file included from include/linux/sched.h:58,
> from arch/mips/kernel/asm-offsets.c:13:
> include/linux/mm_types.h:115: error: expected specifier-qualifier-list before 'pgprot_t'
> include/linux/mm_types.h:169: warning: 'struct file' declared inside parameter list
> include/linux/mm_types.h:169: warning: its scope is only this definition or declaration, which is probably not what you want
> include/linux/mm_types.h:175: error: expected specifier-qualifier-list before 'pgd_t'
>
>
> The trivial patch below fixes this problem.

Rather than adding it to an include/linux file, where it then gets dragged
in on *all* architectures, maybe we should investigate why it dies on MIPS,
and fix it for *that* arch?


Attachments:
(No filename) (226.00 B)

2007-08-10 16:59:29

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, Aug 10, 2007 at 12:40:49PM -0400, [email protected] wrote:
> On Fri, 10 Aug 2007 11:23:34 +0200, Aurelien Jarno said:
> > I have just tried it, and it fails to build for MIPS with the following
> > error:
> >
> > CC arch/mips/kernel/asm-offsets.s
> > In file included from include/linux/sched.h:58,
> > from arch/mips/kernel/asm-offsets.c:13:
> > include/linux/mm_types.h:115: error: expected specifier-qualifier-list before 'pgprot_t'
> > include/linux/mm_types.h:169: warning: 'struct file' declared inside parameter list
> > include/linux/mm_types.h:169: warning: its scope is only this definition or declaration, which is probably not what you want
> > include/linux/mm_types.h:175: error: expected specifier-qualifier-list before 'pgd_t'
> >
> >
> > The trivial patch below fixes this problem.
>
> Rather than adding it to an include/linux file, where it then gets dragged
> in on *all* architectures, maybe we should investigate why it dies on MIPS,
> and fix it for *that* arch?

It must be included on *all* architectures, and the architectures where
asm/page.h wasn't by chance already included indirectly included by some
other header don't compile.

cu
Adrian

--

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

2007-08-10 17:11:28

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 18:05:19 +0200 Ingo Molnar <[email protected]> wrote:

> > Yes. For the sched debug case I sent Ingo and friends but apparently
> > other changes in Ingos tree kept it from applying and Andrew dropped
> > it.

No, I know nothing about such a patch.

> So instead the code now screams at you and refuses to register
> > Ingo sysctl table.
>
> the commit below is now upstream

and it's in rc2-mm2.

> - is your patch still needed?

Something's needed ;)

2007-08-10 17:14:11

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Ingo Molnar <[email protected]> writes:

> * Eric W. Biederman <[email protected]> wrote:
>
>> Yes. For the sched debug case I sent Ingo and friends but apparently
>> other changes in Ingos tree kept it from applying and Andrew dropped
>> it. So instead the code now screams at you and refuses to register
>> Ingo sysctl table.
>
> the commit below is now upstream - is your patch still needed?

Ok. I missed that. Duh. I just saw Andrews drop message.

This looks like Alexey respun my patch, or else we were thinking on
parallel paths. Probably parallel given Alexey's dislike of
using the CTL_UNNUMBERED define.

There are two remaining gotchas:
- The directories have impossible permissions (writeable).

- The ctl_name for the kernel directory is inconsistent with
everything else. It should be CTL_KERN.

I think the patch below fixes that up but I haven't had a chance to
test it yet.

I kind of feel bad about being so picky but the this code is the
only place in the kernel where I have seen us violate either
of those rules, and it is a lot easier to deal with things
when they are consistent.

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

diff --git a/kernel/sched.c b/kernel/sched.c
index b0afd8d..47afd80 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5223,15 +5223,16 @@ static void migrate_dead_tasks(unsigned int dead_cpu)
static struct ctl_table sd_ctl_dir[] = {
{
.procname = "sched_domain",
- .mode = 0755,
+ .mode = 0555,
},
{0,},
};

static struct ctl_table sd_ctl_root[] = {
{
+ .ctl_name = CTL_KERN,
.procname = "kernel",
- .mode = 0755,
+ .mode = 0555,
.child = sd_ctl_dir,
},
{0,},
@@ -5307,7 +5308,7 @@ static ctl_table *sd_alloc_ctl_cpu_table(int cpu)
for_each_domain(cpu, sd) {
snprintf(buf, 32, "domain%d", i);
entry->procname = kstrdup(buf, GFP_KERNEL);
- entry->mode = 0755;
+ entry->mode = 0555;
entry->child = sd_alloc_ctl_domain_table(sd);
entry++;
i++;
@@ -5327,7 +5328,7 @@ static void init_sched_domain_sysctl(void)
for (i = 0; i < cpu_num; i++, entry++) {
snprintf(buf, 32, "cpu%d", i);
entry->procname = kstrdup(buf, GFP_KERNEL);
- entry->mode = 0755;
+ entry->mode = 0555;
entry->child = sd_alloc_ctl_cpu_table(i);
}
sd_sysctl_header = register_sysctl_table(sd_ctl_root);

2007-08-10 17:21:49

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 18:59:06 +0200, Adrian Bunk said:

> It must be included on *all* architectures, and the architectures where
> asm/page.h wasn't by chance already included indirectly included by some
> other header don't compile.

Wow. So it happened to work by chance on *most* architectures (or at
least enough so Andrew shipped it)? I wasn't expecting "MIPS was the
first one to correctly barf because the header wasn't included"... :)



Attachments:
(No filename) (226.00 B)

2007-08-10 17:28:54

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, Aug 10, 2007 at 01:21:21PM -0400, [email protected] wrote:
> On Fri, 10 Aug 2007 18:59:06 +0200, Adrian Bunk said:
>
> > It must be included on *all* architectures, and the architectures where
> > asm/page.h wasn't by chance already included indirectly included by some
> > other header don't compile.
>
> Wow. So it happened to work by chance on *most* architectures (or at
> least enough so Andrew shipped it)? I wasn't expecting "MIPS was the
> first one to correctly barf because the header wasn't included"... :)

According to [1] it broke compilation on the following architectures:
- arm
- frv
- mips
- parisc
- v850
- xtensa

cu
Adrian

[1] http://l4x.org/k

--

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

2007-08-10 17:34:39

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Gabriel C <[email protected]> writes:

> Michal Piotrowski wrote:
>> Andrew Morton pisze:
>>>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>>>
>>
>> Yet another sysctl table check failed
>>
>> [ 88.949055] Netfilter messages via NETLINK v0.30.
>> [ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
>> [ 89.491892] sysctl table check failed:
> /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
>> [ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
>> [ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
>> [ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
>> [ 90.852319] NET: Registered protocol family 17
>>
>
> And maybe this ?

Could be.

sysctl table check failure looks legitimate.
At a quick skim I can't tell for certain if failure to register the
sysctl table will keep the module from loading but it might.

It looks like another canidate on the pile of kill the broken
binary sysctl.

Eric

2007-08-10 17:38:54

by Michal Piotrowski

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On 10/08/07, Gabriel C <[email protected]> wrote:
> Michal Piotrowski wrote:
> > Andrew Morton pisze:
> >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
> >>
> >
> > Yet another sysctl table check failed
> >
> > [ 88.949055] Netfilter messages via NETLINK v0.30.
> > [ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
> > [ 89.491892] sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
> > [ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
> > [ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
> > [ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
> > [ 90.852319] NET: Registered protocol family 17
> >
>
> And maybe this ?
>
> http://lkml.org/lkml/2007/8/10/112
>

Exactly the same issue here while modprobe nf_conntrack_amanda.

> Gabriel
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-10 17:58:11

by Gabriel C

[permalink] [raw]
Subject: arch/i386/kernel/setup.c - compile error (Re: 2.6.23-rc2-mm2)


> git-newsetup.patch

...

arch/i386/kernel/setup.c: In function 'setup_arch':
arch/i386/kernel/setup.c:547: error: 'PARAM' undeclared (first use in this function)
arch/i386/kernel/setup.c:547: error: (Each undeclared identifier is reported only once
arch/i386/kernel/setup.c:547: error: for each function it appears in.)
make[1]: *** [arch/i386/kernel/setup.o] Error 1
make: *** [arch/i386/kernel] Error 2
make: *** Waiting for unfinished jobs....

....

Got it on a randconfig :

http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-25

2007-08-10 18:44:57

by Andrew Morton

[permalink] [raw]
Subject: Re: arch/i386/kernel/setup.c - compile error (Re: 2.6.23-rc2-mm2)

On Fri, 10 Aug 2007 19:55:53 +0200
Gabriel C <[email protected]> wrote:

>
> > git-newsetup.patch
>
> ...
>
> arch/i386/kernel/setup.c: In function 'setup_arch':
> arch/i386/kernel/setup.c:547: error: 'PARAM' undeclared (first use in this function)
> arch/i386/kernel/setup.c:547: error: (Each undeclared identifier is reported only once
> arch/i386/kernel/setup.c:547: error: for each function it appears in.)
> make[1]: *** [arch/i386/kernel/setup.o] Error 1
> make: *** [arch/i386/kernel] Error 2
> make: *** Waiting for unfinished jobs....
>
> ....
>
> Got it on a randconfig :
>
> http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-25

PARAM got removed, but include/asm-i386/mach-voyager/setup_arch.h still
uses it.


2007-08-10 19:07:01

by Gabriel C

[permalink] [raw]
Subject: Section mismatch warnings ( Re: 2.6.23-rc2-mm2 )

Gabriel C wrote:
> Some new section mismatch warnings:
>
> ...
>
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0x17e): Section mismatch: reference to .init.text:initialize_secondary (between 'is386' and 'check_x87')
> WARNING: vmlinux.o(.text+0x183): Section mismatch: reference to .init.text:start_kernel (between 'is386' and 'check_x87')
> WARNING: vmlinux.o(.text+0x8c82): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'alternatives_smp_switch')
> WARNING: vmlinux.o(.text+0x984d): Section mismatch: reference to .init.data:disable_pse (between 'identify_cpu' and 'identify_secondary_cpu')
> WARNING: vmlinux.o(.text+0xac59): Section mismatch: reference to .init.text:calibrate_delay (between 'init_cyrix' and 'init_nsc')
> WARNING: vmlinux.o(.text+0xb4ac): Section mismatch: reference to .init.text:select_idle_routine (between 'init_intel' and 'init_intel_cacheinfo')
> WARNING: vmlinux.o(.text+0xe49c): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> WARNING: vmlinux.o(.text+0xe881): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> WARNING: vmlinux.o(.text+0xecd8): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> WARNING: vmlinux.o(.text+0xecdd): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> WARNING: vmlinux.o(.text+0xf055): Section mismatch: reference to .init.text:setup_local_APIC (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0xf05f): Section mismatch: reference to .init.text:calibrate_delay (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0xf08e): Section mismatch: reference to .init.text:setup_secondary_APIC_clock (between 'start_secondary' and 'check_tsc_warp')
> WARNING: vmlinux.o(.text+0x1fe6e): Section mismatch: reference to .init.text:idle_regs (between 'fork_idle' and '__put_task_struct')
> WARNING: vmlinux.o(.text+0x2717a): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> WARNING: vmlinux.o(.text+0x272df): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> WARNING: vmlinux.o(.text+0x51df3): Section mismatch: reference to .init.text:start_cpu_timer (between 'vmstat_cpuup_callback' and 'refresh_cpu_vm_stats')
> WARNING: vmlinux.o(.text+0xcac51): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
> WARNING: vmlinux.o(.data+0x5480): Section mismatch: reference to .init.text:workqueue_cpu_callback (between 'workqueue_cpu_callback_nb.12121' and 'workqueue_mutex')
> WARNING: vmlinux.o(.data+0x90c4): Section mismatch: reference to .init.text:cpu_callback (between 'cpu_callback_nb.18502' and 'shrinker_rwsem')
> WARNING: vmlinux.o(.data+0x14d84): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl')
>
> ...
>
>
> config :
>
> http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5

Some more

...

WARNING: vmlinux.o(.text+0xce2ce): Section mismatch: reference to .init.data:lowhsync (between 'pm2fb_set_par' and 'pm2fb_pan_display')
WARNING: vmlinux.o(.text+0xce2e8): Section mismatch: reference to .init.data:lowvsync (between 'pm2fb_set_par' and 'pm2fb_pan_display')
WARNING: vmlinux.o(.text+0x180d3b): Section mismatch: reference to .init.data: (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
WARNING: vmlinux.o(.text+0x180e1d): Section mismatch: reference to .init.data: (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
WARNING: vmlinux.o(.text+0x180e25): Section mismatch: reference to .init.data:iTCO_chipset_info (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
WARNING: vmlinux.o(.data+0xa74f0): Section mismatch: reference to .init.text:ioat_probe (between 'ioat_pci_drv' and 'ioat_pci_tbl')

...

http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-28



2007-08-10 19:32:49

by Andrew Morton

[permalink] [raw]
Subject: Re: Section mismatch warnings ( Re: 2.6.23-rc2-mm2 )

On Fri, 10 Aug 2007 21:04:53 +0200
Gabriel C <[email protected]> wrote:

> Some more
>
> ...
>
> WARNING: vmlinux.o(.text+0xce2ce): Section mismatch: reference to .init.data:lowhsync (between 'pm2fb_set_par' and 'pm2fb_pan_display')
> WARNING: vmlinux.o(.text+0xce2e8): Section mismatch: reference to .init.data:lowvsync (between 'pm2fb_set_par' and 'pm2fb_pan_display')
> WARNING: vmlinux.o(.text+0x180d3b): Section mismatch: reference to .init.data: (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
> WARNING: vmlinux.o(.text+0x180e1d): Section mismatch: reference to .init.data: (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
> WARNING: vmlinux.o(.text+0x180e25): Section mismatch: reference to .init.data:iTCO_chipset_info (between 'iTCO_wdt_probe' and 'supermicro_new_unlock_watchdog')
> WARNING: vmlinux.o(.data+0xa74f0): Section mismatch: reference to .init.text:ioat_probe (between 'ioat_pci_drv' and 'ioat_pci_tbl')
>
> ...
>
> http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-28

(suitable cc's added)

2007-08-10 19:36:28

by Gabriel C

[permalink] [raw]
Subject: Re: arch/i386/kernel/setup.c - compile error (Re: 2.6.23-rc2-mm2)

Andrew Morton wrote:
> On Fri, 10 Aug 2007 19:55:53 +0200
> Gabriel C <[email protected]> wrote:
>
>>> git-newsetup.patch
>> ...
>>
>> arch/i386/kernel/setup.c: In function 'setup_arch':
>> arch/i386/kernel/setup.c:547: error: 'PARAM' undeclared (first use in this function)
>> arch/i386/kernel/setup.c:547: error: (Each undeclared identifier is reported only once
>> arch/i386/kernel/setup.c:547: error: for each function it appears in.)
>> make[1]: *** [arch/i386/kernel/setup.o] Error 1
>> make: *** [arch/i386/kernel] Error 2
>> make: *** Waiting for unfinished jobs....
>>
>> ....
>>
>> Got it on a randconfig :
>>
>> http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-25
>
> PARAM got removed, but include/asm-i386/mach-voyager/setup_arch.h still
> uses it.
>
>

Hmm voyager is somewhat broken ?

I reported 2 other problems already but no one seems to care.

http://marc.info/?l=linux-kernel&m=118505611205505&w=2 ( some warnings )
http://lkml.org/lkml/2007/7/23/167 ( compile error on !SMP )

2007-08-10 19:43:07

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 11:33:41 -0600
[email protected] (Eric W. Biederman) wrote:

> Gabriel C <[email protected]> writes:
>
> > Michal Piotrowski wrote:
> >> Andrew Morton pisze:
> >>>
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
> >>>
> >>
> >> Yet another sysctl table check failed
> >>
> >> [ 88.949055] Netfilter messages via NETLINK v0.30.
> >> [ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
> >> [ 89.491892] sysctl table check failed:
> > /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
> >> [ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
> >> [ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
> >> [ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
> >> [ 90.852319] NET: Registered protocol family 17
> >>
> >
> > And maybe this ?
>
> Could be.
>
> sysctl table check failure looks legitimate.
> At a quick skim I can't tell for certain if failure to register the
> sysctl table will keep the module from loading but it might.
>
> It looks like another canidate on the pile of kill the broken
> binary sysctl.
>

There seems to be rather a lot of damage here.

I assume that the sysctl changes are what caused the netfilter oopses.

- nf_conntrack_init() calls nf_conntrack_expect_init() which fails due to
sysctl problems.

- nf_conntrack_init() bales out without calling nf_conntrack_helper_init()

So nf_ct_helper_hsize never gets initialised.

- Later, netfilter client code calls helper_hash(), which gets a
divide-by-zero due to nf_ct_helper_hsize==0.


yeah, that's a netfilter bug, but we're trying to get kernels tested here.
If I'm feeling energetic I'll drop the sysctl changes and do rc2-mm3.
Probably I won't feel energetic, but we'll need a lot of fixes here before
I can release the sysctl changes in another -mm, please.

2007-08-10 19:54:52

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Andrew Morton <[email protected]> writes:

> On Fri, 10 Aug 2007 11:33:41 -0600
> [email protected] (Eric W. Biederman) wrote:
>
>> Gabriel C <[email protected]> writes:
>>
>> > Michal Piotrowski wrote:
>> >> Andrew Morton pisze:
>> >>>
>> >
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>> >>>
>> >>
>> >> Yet another sysctl table check failed
>> >>
>> >> [ 88.949055] Netfilter messages via NETLINK v0.30.
>> >> [ 89.485399] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
>> >> [ 89.491892] sysctl table check failed:
>> > /net/netfilter/nf_conntrack_generic_timeout .3.19.13 Missing strategy
>> >> [ 89.558178] xt_state: Unknown symbol nf_conntrack_untracked
>> >> [ 89.563942] xt_state: Unknown symbol nf_ct_l3proto_module_put
>> >> [ 89.569870] xt_state: Unknown symbol nf_ct_l3proto_try_module_get
>> >> [ 90.852319] NET: Registered protocol family 17
>> >>
>> >
>> > And maybe this ?
>>
>> Could be.
>>
>> sysctl table check failure looks legitimate.
>> At a quick skim I can't tell for certain if failure to register the
>> sysctl table will keep the module from loading but it might.
>>
>> It looks like another canidate on the pile of kill the broken
>> binary sysctl.
>>
>
> There seems to be rather a lot of damage here.
>
> I assume that the sysctl changes are what caused the netfilter oopses.
>
> - nf_conntrack_init() calls nf_conntrack_expect_init() which fails due to
> sysctl problems.
>
> - nf_conntrack_init() bales out without calling nf_conntrack_helper_init()
>
> So nf_ct_helper_hsize never gets initialised.
>
> - Later, netfilter client code calls helper_hash(), which gets a
> divide-by-zero due to nf_ct_helper_hsize==0.
>
>
> yeah, that's a netfilter bug, but we're trying to get kernels tested here.
> If I'm feeling energetic I'll drop the sysctl changes and do rc2-mm3.
> Probably I won't feel energetic, but we'll need a lot of fixes here before
> I can release the sysctl changes in another -mm, please.

Under construction.

Eric

2007-08-10 20:08:19

by Aurelien Jarno

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>
> - Various problems from 2.6.23-rc2-mm1 were fixed
>

I have just noticed that the B44 drivers now depends on BROKEN. It was
the already case in 2.6.23-rc2-mm1 but not 2.6.23-rc1-mm2. Is it
something really wanted?

--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' [email protected] | [email protected]
`- people.debian.org/~aurel32 | http://www.aurel32.net

2007-08-10 20:21:24

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, 10 Aug 2007 22:08:01 +0200
Aurelien Jarno <[email protected]> wrote:

> On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
> >
> > - Various problems from 2.6.23-rc2-mm1 were fixed
> >
>
> I have just noticed that the B44 drivers now depends on BROKEN. It was
> the already case in 2.6.23-rc2-mm1 but not 2.6.23-rc1-mm2. Is it
> something really wanted?
>

I was leaving it that way until the ssb code all turned up in git-wireless's
#mm-master branch. From a quick peek it seems that this has now happened,
so I'll drop that patch and see how we get on.

git-wireless now has the usual git catastrophe when merging it against the
recently-discovered net-2.6.24 tree, so I'll need to do something about
that first.

2007-08-10 20:21:51

by Jiri Slaby

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2 -- conntrack divide error

Gabriel C napsal(a):
> Dave Young wrote:
>>> On 8/10/07, Dave Young <[email protected]> wrote:
>>>> On 8/10/07, Andrew Morton <[email protected]> wrote:
>>>> On Fri, 10 Aug 2007 16:18:38 +0800 "Dave Young" <[email protected]> wrote:
>>>>
>>>>> Hi,
>>>>> 2.6.23-rc2-mm2:
>>>>> config with CONFIG_NF_CONNTRACK_AMANDA=y
>>>>> boot oops:
>>>>>
>>>>> hand copyed :
>>>>> the EIP: helper_hash
>>>>>
>>>>> backtrace:
>>>>> do_basic_setup
>>>>> ...
>>>>> nf_conntrack_amanda_init
>>>>> error_code
>>>>> do_vivide_error
>>>>> ...
>>>>>
>>>> cc netdev
>>>>
>>>> please send config
>>>>
>>>> presumably nf_ct_helper_hsize is zero

I think so. 2.6.23-rc2-mm1 seemed be OK.

>>>>
>>>> I'd have thought that the same bug would be present in mainline - there's
>>>> nothing in git-net.patch.
>>>>
>>>> (hunts around, discovers that there's a net-2.6.24 tree now. Bah)
>>>>
>>> MY config file for test:
>>> -----cut---
>> Hi,
>> config the CONFIG_NF_CONNTRACK_AMANDA=m, reboot , still oops, but this
>> time the point is nf_conntrack_ftp_init, (I doubt the
>> nf_conntrack_core is not initialized.)
>>
>> boot with vga_ask and select 80x60, copyed more infomations:
>> ---------pre oops:-----------
>> sysctl table check failed: /net/netfilter/nf_conntrack_generic_timeout
>> .3.19.13 Missing strategy
>> ...
>> nf_conntrack_14_proto_sctp4 protocol register failed
>> ...
>> ---------oops:----------------
>> divide error: 0000 [#1] SMP
>> EIP: 0060: [<c088477b>] EFLAGS 00010246
>> Process swapper
>> ...
>> nf_conntrack_ftp_init
>> ...
>>
>> Code: <...>
>> EIP <...> helper_hash +0x1b/0x24
>
> Does not Oops here but is broken.

My $0.02:
http://www.fi.muni.cz/~xslaby/sklad/panics/nf_oops.png
http://www.fi.muni.cz/~xslaby/sklad/panics/nf_oops.config

--
Jiri Slaby ([email protected])
Faculty of Informatics, Masaryk University

2007-08-10 21:00:54

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 1/7] sysctl: Remove broken cdrom binary sysctls


The binary interface for the cdrom sysctls can't possilby work.
So remove the binary sysctls and reduce cdrom_sysctl_handler
to it's essentials (to kill the uses of ctl_name).

Since the last time this patch was posted I radically
simplified cdrom_sysctl_helper to meet address Alan's objections.

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

drivers/cdrom/cdrom.c | 46 ++++++----------------------------------------
1 files changed, 6 insertions(+), 40 deletions(-)

diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 67ee3d4..679c7c0 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -3454,47 +3454,19 @@ static void cdrom_update_settings(void)
static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
- int *valp = ctl->data;
- int val = *valp;
int ret;

ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);

- if (write && *valp != val) {
+ if (write) {

/* we only care for 1 or 0. */
- if (*valp)
- *valp = 1;
- else
- *valp = 0;
+ autoclose = !!cdrom_sysctl_settings.autoclose;
+ autoeject = !!cdrom_sysctl_settings.autoeject;
+ debug = !!cdrom_sysctl_settings.debug;
+ lockdoor = !!cdrom_sysctl_settings.lock;
+ check_media_type = !!cdrom_sysctl_settings.check;

- switch (ctl->ctl_name) {
- case DEV_CDROM_AUTOCLOSE: {
- if (valp == &cdrom_sysctl_settings.autoclose)
- autoclose = cdrom_sysctl_settings.autoclose;
- break;
- }
- case DEV_CDROM_AUTOEJECT: {
- if (valp == &cdrom_sysctl_settings.autoeject)
- autoeject = cdrom_sysctl_settings.autoeject;
- break;
- }
- case DEV_CDROM_DEBUG: {
- if (valp == &cdrom_sysctl_settings.debug)
- debug = cdrom_sysctl_settings.debug;
- break;
- }
- case DEV_CDROM_LOCK: {
- if (valp == &cdrom_sysctl_settings.lock)
- lockdoor = cdrom_sysctl_settings.lock;
- break;
- }
- case DEV_CDROM_CHECK_MEDIA: {
- if (valp == &cdrom_sysctl_settings.check)
- check_media_type = cdrom_sysctl_settings.check;
- break;
- }
- }
/* update the option flags according to the changes. we
don't have per device options through sysctl yet,
but we will have and then this will disappear. */
@@ -3507,7 +3479,6 @@ static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
/* Place files in /proc/sys/dev/cdrom */
static ctl_table cdrom_table[] = {
{
- .ctl_name = DEV_CDROM_INFO,
.procname = "info",
.data = &cdrom_sysctl_settings.info,
.maxlen = CDROM_STR_SIZE,
@@ -3515,7 +3486,6 @@ static ctl_table cdrom_table[] = {
.proc_handler = &cdrom_sysctl_info,
},
{
- .ctl_name = DEV_CDROM_AUTOCLOSE,
.procname = "autoclose",
.data = &cdrom_sysctl_settings.autoclose,
.maxlen = sizeof(int),
@@ -3523,7 +3493,6 @@ static ctl_table cdrom_table[] = {
.proc_handler = &cdrom_sysctl_handler,
},
{
- .ctl_name = DEV_CDROM_AUTOEJECT,
.procname = "autoeject",
.data = &cdrom_sysctl_settings.autoeject,
.maxlen = sizeof(int),
@@ -3531,7 +3500,6 @@ static ctl_table cdrom_table[] = {
.proc_handler = &cdrom_sysctl_handler,
},
{
- .ctl_name = DEV_CDROM_DEBUG,
.procname = "debug",
.data = &cdrom_sysctl_settings.debug,
.maxlen = sizeof(int),
@@ -3539,7 +3507,6 @@ static ctl_table cdrom_table[] = {
.proc_handler = &cdrom_sysctl_handler,
},
{
- .ctl_name = DEV_CDROM_LOCK,
.procname = "lock",
.data = &cdrom_sysctl_settings.lock,
.maxlen = sizeof(int),
@@ -3547,7 +3514,6 @@ static ctl_table cdrom_table[] = {
.proc_handler = &cdrom_sysctl_handler,
},
{
- .ctl_name = DEV_CDROM_CHECK_MEDIA,
.procname = "check_media",
.data = &cdrom_sysctl_settings.check,
.maxlen = sizeof(int),
--
1.5.1.1.181.g2de0

2007-08-10 21:02:18

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 2/7] sysctl: parport remove binary paths.


The sysctl binary paths don't look as if they even code work,
.data is not filled in, and all of the proc_handlers look at
extra1 and there is not strategy routine.

So just kill the binary paths.

In addition this patch removes the setting of extra1
on directories. It doesn't look like the parport code
ever examines it, and it's bad sysctl form.

Signed-off-by: Eric W. Biederman <[email protected]>
---
drivers/parport/procfs.c | 38 +++++---------------------------------
1 files changed, 5 insertions(+), 33 deletions(-)

diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c
index bdbdab9..ed82e41 100644
--- a/drivers/parport/procfs.c
+++ b/drivers/parport/procfs.c
@@ -237,7 +237,7 @@ static int do_hardware_modes (ctl_table *table, int write,
#define PARPORT_PARPORT_DIR(CHILD) { .ctl_name = DEV_PARPORT, .procname = "parport", \
.mode = 0555, .child = CHILD }
#define PARPORT_DEV_DIR(CHILD) { .ctl_name = CTL_DEV, .procname = "dev", .mode = 0555, .child = CHILD }
-#define PARPORT_DEVICES_ROOT_DIR { .ctl_name = DEV_PARPORT_DEVICES, .procname = "devices", \
+#define PARPORT_DEVICES_ROOT_DIR { .procname = "devices", \
.mode = 0555, .child = NULL }

static const unsigned long parport_min_timeslice_value =
@@ -266,7 +266,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.sysctl_header = NULL,
{
{
- .ctl_name = DEV_PARPORT_SPINTIME,
.procname = "spintime",
.data = NULL,
.maxlen = sizeof(int),
@@ -276,7 +275,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.extra2 = (void*) &parport_max_spintime_value
},
{
- .ctl_name = DEV_PARPORT_BASE_ADDR,
.procname = "base-addr",
.data = NULL,
.maxlen = 0,
@@ -284,7 +282,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_hardware_base_addr
},
{
- .ctl_name = DEV_PARPORT_IRQ,
.procname = "irq",
.data = NULL,
.maxlen = 0,
@@ -292,7 +289,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_hardware_irq
},
{
- .ctl_name = DEV_PARPORT_DMA,
.procname = "dma",
.data = NULL,
.maxlen = 0,
@@ -300,7 +296,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_hardware_dma
},
{
- .ctl_name = DEV_PARPORT_MODES,
.procname = "modes",
.data = NULL,
.maxlen = 0,
@@ -310,7 +305,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
PARPORT_DEVICES_ROOT_DIR,
#ifdef CONFIG_PARPORT_1284
{
- .ctl_name = DEV_PARPORT_AUTOPROBE,
.procname = "autoprobe",
.data = NULL,
.maxlen = 0,
@@ -318,7 +312,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_autoprobe
},
{
- .ctl_name = DEV_PARPORT_AUTOPROBE + 1,
.procname = "autoprobe0",
.data = NULL,
.maxlen = 0,
@@ -326,7 +319,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_autoprobe
},
{
- .ctl_name = DEV_PARPORT_AUTOPROBE + 2,
.procname = "autoprobe1",
.data = NULL,
.maxlen = 0,
@@ -334,7 +326,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_autoprobe
},
{
- .ctl_name = DEV_PARPORT_AUTOPROBE + 3,
.procname = "autoprobe2",
.data = NULL,
.maxlen = 0,
@@ -342,7 +333,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
.proc_handler = &do_autoprobe
},
{
- .ctl_name = DEV_PARPORT_AUTOPROBE + 4,
.procname = "autoprobe3",
.data = NULL,
.maxlen = 0,
@@ -354,7 +344,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
},
{
{
- .ctl_name = DEV_PARPORT_DEVICES_ACTIVE,
.procname = "active",
.data = NULL,
.maxlen = 0,
@@ -393,7 +382,6 @@ parport_device_sysctl_template = {
.sysctl_header = NULL,
{
{
- .ctl_name = DEV_PARPORT_DEVICE_TIMESLICE,
.procname = "timeslice",
.data = NULL,
.maxlen = sizeof(int),
@@ -449,7 +437,6 @@ parport_default_sysctl_table = {
.sysctl_header = NULL,
{
{
- .ctl_name = DEV_PARPORT_DEFAULT_TIMESLICE,
.procname = "timeslice",
.data = &parport_default_timeslice,
.maxlen = sizeof(parport_default_timeslice),
@@ -459,7 +446,6 @@ parport_default_sysctl_table = {
.extra2 = (void*) &parport_max_timeslice_value
},
{
- .ctl_name = DEV_PARPORT_DEFAULT_SPINTIME,
.procname = "spintime",
.data = &parport_default_spintime,
.maxlen = sizeof(parport_default_spintime),
@@ -502,7 +488,7 @@ int parport_proc_register(struct parport *port)

t->device_dir[0].extra1 = port;

- for (i = 0; i < 8; i++)
+ for (i = 0; i < 5; i++)
t->vars[i].extra1 = port;

t->vars[0].data = &port->spintime;
@@ -512,7 +498,7 @@ int parport_proc_register(struct parport *port)
t->vars[6 + i].extra2 = &port->probe_info[i];

t->port_dir[0].procname = port->name;
- t->port_dir[0].ctl_name = port->number + 1; /* nb 0 isn't legal here */
+ t->port_dir[0].ctl_name = 0;

t->port_dir[0].child = t->vars;
t->parport_dir[0].child = t->port_dir;
@@ -551,26 +537,12 @@ int parport_device_proc_register(struct pardevice *device)
t->dev_dir[0].child = t->parport_dir;
t->parport_dir[0].child = t->port_dir;
t->port_dir[0].procname = port->name;
- t->port_dir[0].ctl_name = port->number + 1; /* nb 0 isn't legal here */
+ t->port_dir[0].ctl_name = 0;
t->port_dir[0].child = t->devices_root_dir;
t->devices_root_dir[0].child = t->device_dir;

-#ifdef CONFIG_PARPORT_1284
-
- t->device_dir[0].ctl_name =
- parport_device_num(port->number, port->muxport,
- device->daisy)
- + 1; /* nb 0 isn't legal here */
-
-#else /* No IEEE 1284 support */
-
- /* parport_device_num isn't available. */
- t->device_dir[0].ctl_name = 1;
-
-#endif /* IEEE 1284 support or not */
-
+ t->device_dir[0].ctl_name = 0;
t->device_dir[0].procname = device->name;
- t->device_dir[0].extra1 = device;
t->device_dir[0].child = t->vars;
t->vars[0].data = &device->timeslice;

--
1.5.1.1.181.g2de0

2007-08-10 21:03:27

by Alan

[permalink] [raw]
Subject: Re: [PATCH 1/7] sysctl: Remove broken cdrom binary sysctls

On Fri, 10 Aug 2007 15:00:05 -0600
[email protected] (Eric W. Biederman) wrote:

>
> The binary interface for the cdrom sysctls can't possilby work.
> So remove the binary sysctls and reduce cdrom_sysctl_handler
> to it's essentials (to kill the uses of ctl_name).
>
> Since the last time this patch was posted I radically
> simplified cdrom_sysctl_helper to meet address Alan's objections.
>
> Signed-off-by: Eric W. Biederman <[email protected]>

Acked-by: Alan Cox <[email protected]>

2007-08-10 21:04:13

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 3/7] sysctl: Simplify the pty sysctl logic.


Instead of having a bunch of ifdefs in sysctl.c
move all of the pty sysctl logic into drivers/char/pty.c

As well as cleaning up the logic this prevents
sysctl_check_table from complaining that the root
table has a NULL data pointer on something with
generic methods.

Signed-off-by: Eric W. Biederman <[email protected]>
---
drivers/char/pty.c | 24 +++++++++++++++++++++++-
kernel/sysctl.c | 11 -----------
2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index de14aea..1d68b32 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -313,7 +313,7 @@ int pty_limit = NR_UNIX98_PTY_DEFAULT;
static int pty_limit_min = 0;
static int pty_limit_max = NR_UNIX98_PTY_MAX;

-ctl_table pty_table[] = {
+static struct ctl_table pty_table[] = {
{
.ctl_name = PTY_MAX,
.procname = "max",
@@ -335,6 +335,27 @@ ctl_table pty_table[] = {
}
};

+static struct ctl_table pty_kern_table[] = {
+ {
+ .ctl_name = KERN_PTY,
+ .procname = "pty",
+ .mode = 0555,
+ .child = pty_table,
+ },
+ {}
+};
+
+static struct ctl_table pty_root_table[] = {
+ {
+ .ctl_name = CTL_KERN,
+ .procname = "kernel",
+ .mode = 0555,
+ .child = pty_kern_table,
+ },
+ {}
+};
+
+
static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file,
unsigned int cmd, unsigned long arg)
{
@@ -399,6 +420,7 @@ static void __init unix98_pty_init(void)
panic("Couldn't register Unix98 pts driver");

pty_table[1].data = &ptm_driver->refcount;
+ register_sysctl_table(pty_root_table);
}
#else
static inline void unix98_pty_init(void) { }
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 03759ab..f18e7ec 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -150,9 +150,6 @@ static struct ctl_table fs_table[];
static struct ctl_table debug_table[];
static struct ctl_table dev_table[];
extern struct ctl_table random_table[];
-#ifdef CONFIG_UNIX98_PTYS
-extern struct ctl_table pty_table[];
-#endif
#ifdef CONFIG_INOTIFY_USER
extern struct ctl_table inotify_table[];
#endif
@@ -519,14 +516,6 @@ static struct ctl_table kern_table[] = {
.mode = 0555,
.child = random_table,
},
-#ifdef CONFIG_UNIX98_PTYS
- {
- .ctl_name = KERN_PTY,
- .procname = "pty",
- .mode = 0555,
- .child = pty_table,
- },
-#endif
{
.ctl_name = KERN_OVERFLOWUID,
.procname = "overflowuid",
--
1.5.1.1.181.g2de0

2007-08-10 21:07:11

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 4/7] sysctl: remove broken netfilter binary sysctls


No one has bothered to set strategy routine for the
the netfilter sysctls that return jiffies to be sysctl_jiffies.

So it appears the sys_sysctl path is unused and untested,
so this patch removes the binary sysctl numbers.

Which fixes the netfilter oops in 2.6.23-rc2-mm2 for me.

Signed-off-by: Eric W. Biederman <[email protected]>
---
net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 2 --
net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c | 1 -
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 1 -
net/netfilter/nf_conntrack_proto_generic.c | 2 --
net/netfilter/nf_conntrack_proto_sctp.c | 14 --------------
net/netfilter/nf_conntrack_proto_tcp.c | 18 ------------------
net/netfilter/nf_conntrack_proto_udp.c | 4 ----
7 files changed, 0 insertions(+), 42 deletions(-)

diff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
index 6593fd2..abdf9d4 100644
--- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
+++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
@@ -284,7 +284,6 @@ static int icmp_nfattr_to_tuple(struct nfattr *tb[],
static struct ctl_table_header *icmp_sysctl_header;
static struct ctl_table icmp_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_ICMP_TIMEOUT,
.procname = "nf_conntrack_icmp_timeout",
.data = &nf_ct_icmp_timeout,
.maxlen = sizeof(unsigned int),
@@ -298,7 +297,6 @@ static struct ctl_table icmp_sysctl_table[] = {
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
static struct ctl_table icmp_compat_sysctl_table[] = {
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT,
.procname = "ip_conntrack_icmp_timeout",
.data = &nf_ct_icmp_timeout,
.maxlen = sizeof(unsigned int),
diff --git a/net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c b/net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
index 3153e15..da4724f 100644
--- a/net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
+++ b/net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
@@ -305,7 +305,6 @@ static struct nf_hook_ops ipv6_conntrack_ops[] = {
#ifdef CONFIG_SYSCTL
static ctl_table nf_ct_ipv6_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_FRAG6_TIMEOUT,
.procname = "nf_conntrack_frag6_timeout",
.data = &nf_ct_frag6_timeout,
.maxlen = sizeof(unsigned int),
diff --git a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
index ab154fb..85f6ff5 100644
--- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
+++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
@@ -263,7 +263,6 @@ static int icmpv6_nfattr_to_tuple(struct nfattr *tb[],
static struct ctl_table_header *icmpv6_sysctl_header;
static struct ctl_table icmpv6_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_ICMPV6_TIMEOUT,
.procname = "nf_conntrack_icmpv6_timeout",
.data = &nf_ct_icmpv6_timeout,
.maxlen = sizeof(unsigned int),
diff --git a/net/netfilter/nf_conntrack_proto_generic.c b/net/netfilter/nf_conntrack_proto_generic.c
index d8b5018..13f8191 100644
--- a/net/netfilter/nf_conntrack_proto_generic.c
+++ b/net/netfilter/nf_conntrack_proto_generic.c
@@ -70,7 +70,6 @@ static int new(struct nf_conn *conntrack, const struct sk_buff *skb,
static struct ctl_table_header *generic_sysctl_header;
static struct ctl_table generic_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_GENERIC_TIMEOUT,
.procname = "nf_conntrack_generic_timeout",
.data = &nf_ct_generic_timeout,
.maxlen = sizeof(unsigned int),
@@ -84,7 +83,6 @@ static struct ctl_table generic_sysctl_table[] = {
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
static struct ctl_table generic_compat_sysctl_table[] = {
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT,
.procname = "ip_conntrack_generic_timeout",
.data = &nf_ct_generic_timeout,
.maxlen = sizeof(unsigned int),
diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c
index 04192ac..cb04675 100644
--- a/net/netfilter/nf_conntrack_proto_sctp.c
+++ b/net/netfilter/nf_conntrack_proto_sctp.c
@@ -476,7 +476,6 @@ static unsigned int sctp_sysctl_table_users;
static struct ctl_table_header *sctp_sysctl_header;
static struct ctl_table sctp_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED,
.procname = "nf_conntrack_sctp_timeout_closed",
.data = &nf_ct_sctp_timeout_closed,
.maxlen = sizeof(unsigned int),
@@ -484,7 +483,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT,
.procname = "nf_conntrack_sctp_timeout_cookie_wait",
.data = &nf_ct_sctp_timeout_cookie_wait,
.maxlen = sizeof(unsigned int),
@@ -492,7 +490,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED,
.procname = "nf_conntrack_sctp_timeout_cookie_echoed",
.data = &nf_ct_sctp_timeout_cookie_echoed,
.maxlen = sizeof(unsigned int),
@@ -500,7 +497,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED,
.procname = "nf_conntrack_sctp_timeout_established",
.data = &nf_ct_sctp_timeout_established,
.maxlen = sizeof(unsigned int),
@@ -508,7 +504,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT,
.procname = "nf_conntrack_sctp_timeout_shutdown_sent",
.data = &nf_ct_sctp_timeout_shutdown_sent,
.maxlen = sizeof(unsigned int),
@@ -516,7 +511,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD,
.procname = "nf_conntrack_sctp_timeout_shutdown_recd",
.data = &nf_ct_sctp_timeout_shutdown_recd,
.maxlen = sizeof(unsigned int),
@@ -524,7 +518,6 @@ static struct ctl_table sctp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT,
.procname = "nf_conntrack_sctp_timeout_shutdown_ack_sent",
.data = &nf_ct_sctp_timeout_shutdown_ack_sent,
.maxlen = sizeof(unsigned int),
@@ -539,7 +532,6 @@ static struct ctl_table sctp_sysctl_table[] = {
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
static struct ctl_table sctp_compat_sysctl_table[] = {
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED,
.procname = "ip_conntrack_sctp_timeout_closed",
.data = &nf_ct_sctp_timeout_closed,
.maxlen = sizeof(unsigned int),
@@ -547,7 +539,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT,
.procname = "ip_conntrack_sctp_timeout_cookie_wait",
.data = &nf_ct_sctp_timeout_cookie_wait,
.maxlen = sizeof(unsigned int),
@@ -555,7 +546,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED,
.procname = "ip_conntrack_sctp_timeout_cookie_echoed",
.data = &nf_ct_sctp_timeout_cookie_echoed,
.maxlen = sizeof(unsigned int),
@@ -563,7 +553,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED,
.procname = "ip_conntrack_sctp_timeout_established",
.data = &nf_ct_sctp_timeout_established,
.maxlen = sizeof(unsigned int),
@@ -571,7 +560,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT,
.procname = "ip_conntrack_sctp_timeout_shutdown_sent",
.data = &nf_ct_sctp_timeout_shutdown_sent,
.maxlen = sizeof(unsigned int),
@@ -579,7 +567,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD,
.procname = "ip_conntrack_sctp_timeout_shutdown_recd",
.data = &nf_ct_sctp_timeout_shutdown_recd,
.maxlen = sizeof(unsigned int),
@@ -587,7 +574,6 @@ static struct ctl_table sctp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT,
.procname = "ip_conntrack_sctp_timeout_shutdown_ack_sent",
.data = &nf_ct_sctp_timeout_shutdown_ack_sent,
.maxlen = sizeof(unsigned int),
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c
index eb3fe74..c9d74a2 100644
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -1166,7 +1166,6 @@ static unsigned int tcp_sysctl_table_users;
static struct ctl_table_header *tcp_sysctl_header;
static struct ctl_table tcp_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT,
.procname = "nf_conntrack_tcp_timeout_syn_sent",
.data = &nf_ct_tcp_timeout_syn_sent,
.maxlen = sizeof(unsigned int),
@@ -1174,7 +1173,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV,
.procname = "nf_conntrack_tcp_timeout_syn_recv",
.data = &nf_ct_tcp_timeout_syn_recv,
.maxlen = sizeof(unsigned int),
@@ -1182,7 +1180,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED,
.procname = "nf_conntrack_tcp_timeout_established",
.data = &nf_ct_tcp_timeout_established,
.maxlen = sizeof(unsigned int),
@@ -1190,7 +1187,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT,
.procname = "nf_conntrack_tcp_timeout_fin_wait",
.data = &nf_ct_tcp_timeout_fin_wait,
.maxlen = sizeof(unsigned int),
@@ -1198,7 +1194,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT,
.procname = "nf_conntrack_tcp_timeout_close_wait",
.data = &nf_ct_tcp_timeout_close_wait,
.maxlen = sizeof(unsigned int),
@@ -1206,7 +1201,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK,
.procname = "nf_conntrack_tcp_timeout_last_ack",
.data = &nf_ct_tcp_timeout_last_ack,
.maxlen = sizeof(unsigned int),
@@ -1214,7 +1208,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT,
.procname = "nf_conntrack_tcp_timeout_time_wait",
.data = &nf_ct_tcp_timeout_time_wait,
.maxlen = sizeof(unsigned int),
@@ -1222,7 +1215,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE,
.procname = "nf_conntrack_tcp_timeout_close",
.data = &nf_ct_tcp_timeout_close,
.maxlen = sizeof(unsigned int),
@@ -1230,7 +1222,6 @@ static struct ctl_table tcp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS,
.procname = "nf_conntrack_tcp_timeout_max_retrans",
.data = &nf_ct_tcp_timeout_max_retrans,
.maxlen = sizeof(unsigned int),
@@ -1269,7 +1260,6 @@ static struct ctl_table tcp_sysctl_table[] = {
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
static struct ctl_table tcp_compat_sysctl_table[] = {
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT,
.procname = "ip_conntrack_tcp_timeout_syn_sent",
.data = &nf_ct_tcp_timeout_syn_sent,
.maxlen = sizeof(unsigned int),
@@ -1277,7 +1267,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV,
.procname = "ip_conntrack_tcp_timeout_syn_recv",
.data = &nf_ct_tcp_timeout_syn_recv,
.maxlen = sizeof(unsigned int),
@@ -1285,7 +1274,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED,
.procname = "ip_conntrack_tcp_timeout_established",
.data = &nf_ct_tcp_timeout_established,
.maxlen = sizeof(unsigned int),
@@ -1293,7 +1281,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT,
.procname = "ip_conntrack_tcp_timeout_fin_wait",
.data = &nf_ct_tcp_timeout_fin_wait,
.maxlen = sizeof(unsigned int),
@@ -1301,7 +1288,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT,
.procname = "ip_conntrack_tcp_timeout_close_wait",
.data = &nf_ct_tcp_timeout_close_wait,
.maxlen = sizeof(unsigned int),
@@ -1309,7 +1295,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK,
.procname = "ip_conntrack_tcp_timeout_last_ack",
.data = &nf_ct_tcp_timeout_last_ack,
.maxlen = sizeof(unsigned int),
@@ -1317,7 +1302,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT,
.procname = "ip_conntrack_tcp_timeout_time_wait",
.data = &nf_ct_tcp_timeout_time_wait,
.maxlen = sizeof(unsigned int),
@@ -1325,7 +1309,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE,
.procname = "ip_conntrack_tcp_timeout_close",
.data = &nf_ct_tcp_timeout_close,
.maxlen = sizeof(unsigned int),
@@ -1333,7 +1316,6 @@ static struct ctl_table tcp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS,
.procname = "ip_conntrack_tcp_timeout_max_retrans",
.data = &nf_ct_tcp_timeout_max_retrans,
.maxlen = sizeof(unsigned int),
diff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c
index 2a2fd1a..1e38c90 100644
--- a/net/netfilter/nf_conntrack_proto_udp.c
+++ b/net/netfilter/nf_conntrack_proto_udp.c
@@ -146,7 +146,6 @@ static unsigned int udp_sysctl_table_users;
static struct ctl_table_header *udp_sysctl_header;
static struct ctl_table udp_sysctl_table[] = {
{
- .ctl_name = NET_NF_CONNTRACK_UDP_TIMEOUT,
.procname = "nf_conntrack_udp_timeout",
.data = &nf_ct_udp_timeout,
.maxlen = sizeof(unsigned int),
@@ -154,7 +153,6 @@ static struct ctl_table udp_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM,
.procname = "nf_conntrack_udp_timeout_stream",
.data = &nf_ct_udp_timeout_stream,
.maxlen = sizeof(unsigned int),
@@ -168,7 +166,6 @@ static struct ctl_table udp_sysctl_table[] = {
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
static struct ctl_table udp_compat_sysctl_table[] = {
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT,
.procname = "ip_conntrack_udp_timeout",
.data = &nf_ct_udp_timeout,
.maxlen = sizeof(unsigned int),
@@ -176,7 +173,6 @@ static struct ctl_table udp_compat_sysctl_table[] = {
.proc_handler = &proc_dointvec_jiffies,
},
{
- .ctl_name = NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM,
.procname = "ip_conntrack_udp_timeout_stream",
.data = &nf_ct_udp_timeout_stream,
.maxlen = sizeof(unsigned int),
--
1.5.1.1.181.g2de0

2007-08-10 21:09:42

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 5/7] sysctl: Cleanup the sched debug sysctl usage.


- The ctl_name for the kernel directory is CTL_KERN
- It is impoosible to write to sysctl directories so do not
give users write permissions.

This is enough to stop sysctl_check_table from complaining about
the sched debug sysctls.

My apologies for not sending this earlier I had the impression
Ingo's tree had diverged significantly from what was in the
stable tree.

Signed-off-by: Eric W. Biederman <[email protected]>
---
kernel/sched.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index b0afd8d..47afd80 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5223,15 +5223,16 @@ static void migrate_dead_tasks(unsigned int dead_cpu)
static struct ctl_table sd_ctl_dir[] = {
{
.procname = "sched_domain",
- .mode = 0755,
+ .mode = 0555,
},
{0,},
};

static struct ctl_table sd_ctl_root[] = {
{
+ .ctl_name = CTL_KERN,
.procname = "kernel",
- .mode = 0755,
+ .mode = 0555,
.child = sd_ctl_dir,
},
{0,},
@@ -5307,7 +5308,7 @@ static ctl_table *sd_alloc_ctl_cpu_table(int cpu)
for_each_domain(cpu, sd) {
snprintf(buf, 32, "domain%d", i);
entry->procname = kstrdup(buf, GFP_KERNEL);
- entry->mode = 0755;
+ entry->mode = 0555;
entry->child = sd_alloc_ctl_domain_table(sd);
entry++;
i++;
@@ -5327,7 +5328,7 @@ static void init_sched_domain_sysctl(void)
for (i = 0; i < cpu_num; i++, entry++) {
snprintf(buf, 32, "cpu%d", i);
entry->procname = kstrdup(buf, GFP_KERNEL);
- entry->mode = 0755;
+ entry->mode = 0555;
entry->child = sd_alloc_ctl_cpu_table(i);
}
sd_sysctl_header = register_sysctl_table(sd_ctl_root);
--
1.5.1.1.181.g2de0

2007-08-10 21:10:32

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 6/7] sysctl: Update sysctl_checks list of binary paths.


In the netfilter code and the ipv6 ipqueue code I have
found two more binary paths that don't conflict with anything.
So this patch adds them to the list of valid sysctl binary
paths.

Signed-off-by: Eric W. Biederman <[email protected]>
---
kernel/sysctl_check.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/sysctl_check.c b/kernel/sysctl_check.c
index 930a514..d5e0337 100644
--- a/kernel/sysctl_check.c
+++ b/kernel/sysctl_check.c
@@ -564,6 +564,7 @@ static struct trans_ctl_table trans_net_ipv6_table[] = {
{ NET_IPV6_IP6FRAG_TIME, "ip6frag_time" },
{ NET_IPV6_IP6FRAG_SECRET_INTERVAL, "ip6frag_secret_interval" },
{ NET_IPV6_MLD_MAX_MSF, "mld_max_msf" },
+ { 2088 /* IPQ_QMAX */, "ip6_queue_maxlen" },
{}
};

@@ -722,6 +723,7 @@ static struct trans_ctl_table trans_net_table[] = {
{ NET_LLC, "llc", trans_net_llc_table },
{ NET_NETFILTER, "netfilter", trans_net_netfilter_table },
{ NET_DCCP, "dccp", trans_net_dccp_table },
+ { 2089, "nf_conntrack_max" },
{}
};

--
1.5.1.1.181.g2de0

2007-08-10 21:11:26

by Eric W. Biederman

[permalink] [raw]
Subject: [PATCH 7/7] sysctl: Remove the cad_pid binary sysctl path


It looks like we inadvertently killed the cad_pid binary sysctl
support when cap_pid was changed to be a struct pid. Since
no one has complained just remove the binary path.

Signed-off-by: Eric W. Biederman <[email protected]>
---
kernel/sysctl.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index f18e7ec..6d01497 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -494,7 +494,6 @@ static struct ctl_table kern_table[] = {
#endif
#ifdef CONFIG_PROC_SYSCTL
{
- .ctl_name = KERN_CADPID,
.procname = "cad_pid",
.data = NULL,
.maxlen = sizeof (int),
--
1.5.1.1.181.g2de0

2007-08-10 21:21:22

by Eric W. Biederman

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Andrew Morton <[email protected]> writes:

> There seems to be rather a lot of damage here.
>
> I assume that the sysctl changes are what caused the netfilter oopses.
>
> - nf_conntrack_init() calls nf_conntrack_expect_init() which fails due to
> sysctl problems.

In particular sysctl_check_table finds issues with the sysctl table
so register_sysctl_table refuses to register it.

> - nf_conntrack_init() bales out without calling nf_conntrack_helper_init()
>
> So nf_ct_helper_hsize never gets initialised.
>
> - Later, netfilter client code calls helper_hash(), which gets a
> divide-by-zero due to nf_ct_helper_hsize==0.
>
>
> yeah, that's a netfilter bug, but we're trying to get kernels tested here.
> If I'm feeling energetic I'll drop the sysctl changes and do rc2-mm3.
> Probably I won't feel energetic, but we'll need a lot of fixes here before
> I can release the sysctl changes in another -mm, please.

As a cheap workaround it should be possible to disable SYSCTL support
in 2.6.23-rc2-mm2 to get around these issues.


Andrew for the moment I have just sent you fixes for all of the issues
that I am aware of. Mostly they are cheap kill the sys_sysctl()
support patches.

Hopefully that is enough to bring the pain level down to manageable.

I hadn't anticipated subsystems failing because they could not register
their sysctl tables. I was simply expecting things not to show up in
/proc/sys. And more of the pain of making working sysctl tables to
be pushed back to developers.

Eric

2007-08-10 21:32:58

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [-mm patch] kernel/sysctl_check.c must #include <linux/string.h>

Adrian Bunk <[email protected]> writes:

> On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>>...
>> Changes since 2.6.23-rc1-mm2:
>>...
>> +sysctl-core-stop-using-the-unnecessary-ctl_table-typedef.patch
>> +sysctl-factor-out-sysctl_data.patch
>> +sysctl-error-on-bad-sysctl-tables.patch
>> +sysctl-update-sysctl_check_table.patch
>> +sysct-mqueue-remove-the-binary-sysctl-numbers.patch
>> +sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch
>> +sysctl-fix-neighbour-table-sysctls.patch
>> +sysctl-ipv6-route-flushing-kill-binary-path.patch
>> +sysctl-remove-broken-sunrpc-debug-binary-sysctls.patch
>> +sysctl-x86_64-remove-unnecessary-binary-paths.patch
>> +sysctl-remove-broken-cdrom-binary-sysctls.patch
>> +sysctl-ipv4-remove-binary-sysctl-paths-where-they-are-broken.patch
>>
> +sysctl-remove-the-binary-interface-for-aio-nr-aio-max-nr-acpi_video_flags.patch
>>
>> sysctl cleanups
>>...
>
> This patch fixes the following compile error:
>
> <-- snip -->
>
> ...
> CC kernel/sysctl_check.o
> /home/bunk/linux/kernel-2.6/linux-2.6.23-rc2-mm2/kernel/sysctl_check.c: In
> function 'sysctl_binary_lookup':
> /home/bunk/linux/kernel-2.6/linux-2.6.23-rc2-mm2/kernel/sysctl_check.c:1303:
> error: implicit declaration of function 'strcmp'
> make[2]: *** [kernel/sysctl_check.o] Error 1
>
> <-- snip -->
>
> Signed-off-by: Adrian Bunk <[email protected]>
>
> ---
> --- a/kernel/sysctl_check.c
> +++ b/kernel/sysctl_check.c
> @@ -3,6 +3,7 @@
> #include "../arch/s390/appldata/appldata.h"
> #include "../fs/xfs/linux-2.6/xfs_sysctl.h"
> #include <linux/sunrpc/debug.h>
> +#include <linux/string.h>
> #include <net/ip_vs.h>
>
> struct trans_ctl_table {

Thanks. This problem doesn't happen on x86_64 for some reason so I missed that.

Eric

2007-08-10 22:39:06

by John W. Linville

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Fri, Aug 10, 2007 at 01:20:19PM -0700, Andrew Morton wrote:

> git-wireless now has the usual git catastrophe when merging it against the
> recently-discovered net-2.6.24 tree, so I'll need to do something about
> that first.

I have rebased the wireless-dev tree, and the mm-master branch there
should specifically avoid these merge conflicts.

Hth!

John
--
John W. Linville
[email protected]

2007-08-11 20:58:43

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] 2.6.23-rc2-mm2

On Friday 10 August 2007, Gabriel C wrote:
> Getting that with gcc 4.2.1 :
>
> drivers/usb/host/ohci-dbg.c: In function 'show_registers':
> drivers/usb/host/ohci-dbg.c:620: warning: the address of 'next' will always evaluate as 'true'
> drivers/usb/host/ohci-dbg.c:639: warning: the address of 'next' will always evaluate as 'true'

Seems like a pretty annoying warning to have added ... the relevant
test *expects* to have two constant branches, where the compiler
optimizes one out of existence.

Does this patch get rid of it?

---
drivers/usb/host/ohci-dbg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- g26.orig/drivers/usb/host/ohci-dbg.c 2007-08-11 13:51:42.000000000 -0700
+++ g26/drivers/usb/host/ohci-dbg.c 2007-08-11 13:52:07.000000000 -0700
@@ -74,7 +74,7 @@ urb_print (struct urb * urb, char * str,

#define ohci_dbg_sw(ohci, next, size, format, arg...) \
do { \
- if (next) { \
+ if (next != NULL) { \
unsigned s_len; \
s_len = scnprintf (*next, *size, format, ## arg ); \
*size -= s_len; *next += s_len; \

2007-08-11 22:05:28

by Hugh Dickins

[permalink] [raw]
Subject: [PATCH] Re: 2.6.23-rc2-mm2: sata disk going slow

Why is the G5 so slow with 2.6.23-rc2-mm2? hdparm -t shows 1.8MB/sec
instead of 58MB/sec. alpm-increase-number-of-allowable-device-flags.patch
(raising ATA_DFLAG_CFG_MASK) turns out to be the guilty party: though the
problem doesn't appear until the next patch, which adds ATA_DFLAG_IPM as
the same bit as ATA_DFLAG_PIO. Here's a hotfix against top of -rc2-mm2.

Signed-off-by: Hugh Dickins <[email protected]>
---

include/linux/libata.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- 2.6.23-rc2-mm2/include/linux/libata.h 2007-08-10 12:14:36.000000000 +0100
+++ linux/include/linux/libata.h 2007-08-11 20:21:59.000000000 +0100
@@ -143,9 +143,9 @@ enum {
ATA_DFLAG_IPM = (1 << 8), /* device supports IPM */
ATA_DFLAG_CFG_MASK = (1 << 12) - 1,

- ATA_DFLAG_PIO = (1 << 8), /* device limited to PIO mode */
- ATA_DFLAG_NCQ_OFF = (1 << 9), /* device limited to non-NCQ mode */
- ATA_DFLAG_SPUNDOWN = (1 << 10), /* XXX: for spindown_compat */
+ ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */
+ ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */
+ ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */
ATA_DFLAG_INIT_MASK = (1 << 16) - 1,

ATA_DFLAG_DETACH = (1 << 16),

2007-08-12 10:17:38

by Gabriel C

[permalink] [raw]
Subject: Re: [linux-usb-devel] 2.6.23-rc2-mm2

David Brownell wrote:
> On Friday 10 August 2007, Gabriel C wrote:
>> Getting that with gcc 4.2.1 :
>>
>> drivers/usb/host/ohci-dbg.c: In function 'show_registers':
>> drivers/usb/host/ohci-dbg.c:620: warning: the address of 'next' will always evaluate as 'true'
>> drivers/usb/host/ohci-dbg.c:639: warning: the address of 'next' will always evaluate as 'true'
>
> Seems like a pretty annoying warning to have added ... the relevant
> test *expects* to have two constant branches, where the compiler
> optimizes one out of existence.
>
> Does this patch get rid of it?
>

Yes it does.


> ---
> drivers/usb/host/ohci-dbg.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- g26.orig/drivers/usb/host/ohci-dbg.c 2007-08-11 13:51:42.000000000 -0700
> +++ g26/drivers/usb/host/ohci-dbg.c 2007-08-11 13:52:07.000000000 -0700
> @@ -74,7 +74,7 @@ urb_print (struct urb * urb, char * str,
>
> #define ohci_dbg_sw(ohci, next, size, format, arg...) \
> do { \
> - if (next) { \
> + if (next != NULL) { \
> unsigned s_len; \
> s_len = scnprintf (*next, *size, format, ## arg ); \
> *size -= s_len; *next += s_len; \
>

2007-08-12 15:23:55

by Gabriel C

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

Andrew Morton wrote:
> On Fri, 10 Aug 2007 14:35:01 +0200 Gabriel C <[email protected]> wrote:
>
>> In file included from include/linux/blkdev.h:17,
>> from kernel/sched.c:45:
>> include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
>> include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
>> include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list
>
> Thanks, I'll fix that up.
>

I just realized this problem exists in mainline too , introduced by this commit :

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a4ee0df8b3d007f0d685d38a56dc0b91e01aaaf7;hp=2cd614c8732172524c36cd5245620338928062b6

2007-08-13 05:23:30

by Randy Dunlap

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2 (libertas)

On Thu, 9 Aug 2007 22:42:54 -0700 Andrew Morton wrote:

>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc2/2.6.23-rc2-mm2/
>
> - Various problems from 2.6.23-rc2-mm1 were fixed

libertas wireless warnings on x86_64:

drivers/net/wireless/libertas/if_cs.c:462: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
drivers/net/wireless/libertas/if_cs.c:538: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'


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

2007-08-14 20:51:43

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH -mm] Fix some section mismatch warnings

On Fri, 10 Aug 2007 15:20:30 +0200
Gabriel C <[email protected]> wrote:

> Gabriel C wrote:
> > Some new section mismatch warnings:
> >
> > ...
> >
> > MODPOST vmlinux.o
> > WARNING: vmlinux.o(.text+0x17e): Section mismatch: reference to .init.text:initialize_secondary (between 'is386' and 'check_x87')
> > WARNING: vmlinux.o(.text+0x183): Section mismatch: reference to .init.text:start_kernel (between 'is386' and 'check_x87')
> > WARNING: vmlinux.o(.text+0x8c82): Section mismatch: reference to .init.text:register_cpu (between 'arch_register_cpu' and 'alternatives_smp_switch')
> > WARNING: vmlinux.o(.text+0x984d): Section mismatch: reference to .init.data:disable_pse (between 'identify_cpu' and 'identify_secondary_cpu')
> > WARNING: vmlinux.o(.text+0xac59): Section mismatch: reference to .init.text:calibrate_delay (between 'init_cyrix' and 'init_nsc')
> > WARNING: vmlinux.o(.text+0xb4ac): Section mismatch: reference to .init.text:select_idle_routine (between 'init_intel' and 'init_intel_cacheinfo')
> > WARNING: vmlinux.o(.text+0xe49c): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> > WARNING: vmlinux.o(.text+0xe881): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu')
> > WARNING: vmlinux.o(.text+0xecd8): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> > WARNING: vmlinux.o(.text+0xecdd): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and '__cpu_die')
> > WARNING: vmlinux.o(.text+0xf055): Section mismatch: reference to .init.text:setup_local_APIC (between 'start_secondary' and 'check_tsc_warp')
> > WARNING: vmlinux.o(.text+0xf05f): Section mismatch: reference to .init.text:calibrate_delay (between 'start_secondary' and 'check_tsc_warp')
> > WARNING: vmlinux.o(.text+0xf08e): Section mismatch: reference to .init.text:setup_secondary_APIC_clock (between 'start_secondary' and 'check_tsc_warp')
> > WARNING: vmlinux.o(.text+0x1fe6e): Section mismatch: reference to .init.text:idle_regs (between 'fork_idle' and '__put_task_struct')
> > WARNING: vmlinux.o(.text+0x2717a): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> > WARNING: vmlinux.o(.text+0x272df): Section mismatch: reference to .init.data:tvec_base_done.16336 (between 'timer_cpu_notify' and 'run_timer_softirq')
> > WARNING: vmlinux.o(.text+0x51df3): Section mismatch: reference to .init.text:start_cpu_timer (between 'vmstat_cpuup_callback' and 'refresh_cpu_vm_stats')
> > WARNING: vmlinux.o(.text+0xcac51): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
> > WARNING: vmlinux.o(.data+0x5480): Section mismatch: reference to .init.text:workqueue_cpu_callback (between 'workqueue_cpu_callback_nb.12121' and 'workqueue_mutex')
> > WARNING: vmlinux.o(.data+0x90c4): Section mismatch: reference to .init.text:cpu_callback (between 'cpu_callback_nb.18502' and 'shrinker_rwsem')
> > WARNING: vmlinux.o(.data+0x14d84): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl')
> >
> > ...
> >
> >
> > config :
> >
> > http://194.231.229.228/kernel/mm/2.6.23-rc2-mm2/randconfig-auto-5
> >
>
>
> This patch fixes the .init.data ones
>
> Signed-off-by: Gabriel Craciunescu <[email protected]>
>
> ---
>
>
> diff -Nurp linux-2.6.23-rc2-mm2/arch/i386/kernel/setup.c linux-2.6.23-rc2-mm2-p/arch/i386/kernel/setup.c
> --- linux-2.6.23-rc2-mm2/arch/i386/kernel/setup.c 2007-08-10 15:05:26.000000000 +0200
> +++ linux-2.6.23-rc2-mm2-p/arch/i386/kernel/setup.c 2007-08-10 15:10:41.000000000 +0200
> @@ -68,7 +68,7 @@
> address, and must not be in the .bss segment! */
> unsigned long init_pg_tables_end __initdata = ~0UL;
>
> -int disable_pse __devinitdata = 0;
> +int disable_pse __cpuinitdata = 0;
>
> /*
> * Machine setup..
> diff -Nurp linux-2.6.23-rc2-mm2/arch/i386/kernel/smpboot.c linux-2.6.23-rc2-mm2-p/arch/i386/kernel/smpboot.c
> --- linux-2.6.23-rc2-mm2/arch/i386/kernel/smpboot.c 2007-08-10 15:05:26.000000000 +0200
> +++ linux-2.6.23-rc2-mm2-p/arch/i386/kernel/smpboot.c 2007-08-10 15:12:19.000000000 +0200
> @@ -60,7 +60,7 @@
> #include <asm/mtrr.h>
>
> /* Set if we find a B stepping CPU */
> -static int __devinitdata smp_b_stepping;
> +static int __cpuinitdata smp_b_stepping;
>
> /* Number of siblings per CPU package */
> int smp_num_siblings = 1;
> @@ -736,7 +736,7 @@ static inline int alloc_cpu_id(void)
> }
>
> #ifdef CONFIG_HOTPLUG_CPU
> -static struct task_struct * __devinitdata cpu_idle_tasks[NR_CPUS];
> +static struct task_struct * __cpuinitdata cpu_idle_tasks[NR_CPUS];
> static inline struct task_struct * alloc_idle_task(int cpu)
> {
> struct task_struct *idle;
> diff -Nurp linux-2.6.23-rc2-mm2/kernel/timer.c linux-2.6.23-rc2-mm2-p/kernel/timer.c
> --- linux-2.6.23-rc2-mm2/kernel/timer.c 2007-08-10 15:05:34.000000000 +0200
> +++ linux-2.6.23-rc2-mm2-p/kernel/timer.c 2007-08-10 15:13:14.000000000 +0200
> @@ -1216,7 +1216,7 @@ static int __devinit init_timers_cpu(int
> {
> int j;
> tvec_base_t *base;
> - static char __devinitdata tvec_base_done[NR_CPUS];
> + static char __cpuinitdata tvec_base_done[NR_CPUS];
>
> if (!tvec_base_done[cpu]) {
> static char boot_done;

This patch causes more work than it should, really.

- it's not clear which of the above warnings this patch addresses

- there is no explanation telling us where these references come from

- the patch purports to fix three unrelated things.

So, ideally we'd have seen three separate patches, each one accompanied by
an explanation of why the warning arose and how it was fixed.

I'm left to pick through this lot wondering which bits are applicable to
mainline and whether I need to split it up or what.


I don't understand the init_timers_cpu() change. tvec_base_done[] is
referred to only from init_timers_cpu(), and init_timers_cpu() is
__devinit?

2007-08-14 21:36:18

by Adrian Bunk

[permalink] [raw]
Subject: [-mm patch] unexport ide_tune_dma

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.23-rc1-mm2:
>...
> +ide-ide-remove-ide-dma-check.patch
>
> IDE tree updates
>...

static code mustn't be exported.

Signed-off-by: Adrian Bunk <[email protected]>

---
8cc9125428c1a2c547e76cd5f37b109b1991eb68
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 5a774d8..10c6739 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -778,8 +778,6 @@ static int ide_tune_dma(ide_drive_t *drive)
return 1;
}

-EXPORT_SYMBOL_GPL(ide_tune_dma);
-
static int ide_dma_check(ide_drive_t *drive)
{
int vdma = (drive->hwif->host_flags & IDE_HFLAG_VDMA)? 1 : 0;

2007-08-14 21:38:37

by Adrian Bunk

[permalink] [raw]
Subject: [-mm patch] AFLAGS: fix the -g setting

It's -gdwarf-2, not -gdwarf2. With this fix it can actually work.

And since even gcc 3.2 supports -gdwarf-2 there's no reason for checking
with as-option.

Signed-off-by: Adrian Bunk <[email protected]>

---
6ab1091b06e762635430b452f82a474890bda230
diff --git a/Makefile b/Makefile
index 5b0d58c..accfdc4 100644
--- a/Makefile
+++ b/Makefile
@@ -504,7 +504,7 @@ endif

ifdef CONFIG_DEBUG_INFO
CFLAGS += -g
-AFLAGS += $(call as-option, -gdwarf2)
+AFLAGS += -gdwarf-2
endif

# Force gcc to behave correct even for buggy distributions

2007-08-14 21:44:23

by Adrian Bunk

[permalink] [raw]
Subject: [-mm patch] remove fs/ext2/balloc.c:reserve_blocks()

reserve_blocks() is no longer used.

Spotted by the GNU C compiler.

Signed-off-by: Adrian Bunk <[email protected]>

---

fs/ext2/balloc.c | 35 -----------------------------------
1 file changed, 35 deletions(-)

4b64502ecee91af41888261d7392688c9283792f
diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c
index 1c57a3f..b63f6a4 100644
--- a/fs/ext2/balloc.c
+++ b/fs/ext2/balloc.c
@@ -133,41 +133,6 @@ error_out:
return NULL;
}

-/*
- * Set sb->s_dirt here because the superblock was "logically" altered. We
- * need to recalculate its free blocks count and flush it out.
- */
-static int reserve_blocks(struct super_block *sb, int count)
-{
- struct ext2_sb_info *sbi = EXT2_SB(sb);
- struct ext2_super_block *es = sbi->s_es;
- unsigned free_blocks;
- unsigned root_blocks;
-
- free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
- root_blocks = le32_to_cpu(es->s_r_blocks_count);
-
- if (free_blocks < count)
- count = free_blocks;
-
- if (free_blocks < root_blocks + count && !capable(CAP_SYS_RESOURCE) &&
- sbi->s_resuid != current->fsuid &&
- (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
- /*
- * We are too close to reserve and we are not privileged.
- * Can we allocate anything at all?
- */
- if (free_blocks > root_blocks)
- count = free_blocks - root_blocks;
- else
- return 0;
- }
-
- percpu_counter_mod(&sbi->s_freeblocks_counter, -count);
- sb->s_dirt = 1;
- return count;
-}
-
static void release_blocks(struct super_block *sb, int count)
{
if (count) {

2007-08-14 21:46:29

by Adrian Bunk

[permalink] [raw]
Subject: [-mm patch] unexport cap_inode_killpriv

On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.23-rc1-mm2:
>...
> +file-capabilities-clear-fcaps-on-inode-change.patch
>
> file caps update
>...

This patch removes the unused EXPORT_SYMBOL(cap_inode_killpriv).

Signed-off-by: Adrian Bunk <[email protected]>

---
68ca3bcc4918d0b84a97318f60fb74c4600d9f6b
diff --git a/security/commoncap.c b/security/commoncap.c
index 7816cdc..9ec5890 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -543,7 +543,6 @@ EXPORT_SYMBOL(cap_bprm_apply_creds);
EXPORT_SYMBOL(cap_bprm_secureexec);
EXPORT_SYMBOL(cap_inode_setxattr);
EXPORT_SYMBOL(cap_inode_removexattr);
-EXPORT_SYMBOL(cap_inode_killpriv);
EXPORT_SYMBOL(cap_task_post_setuid);
EXPORT_SYMBOL(cap_task_kill);
EXPORT_SYMBOL(cap_task_setscheduler);

2007-08-14 21:55:54

by Serge E. Hallyn

[permalink] [raw]
Subject: Re: [-mm patch] unexport cap_inode_killpriv

Quoting Adrian Bunk ([email protected]):
> On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.23-rc1-mm2:
> >...
> > +file-capabilities-clear-fcaps-on-inode-change.patch
> >
> > file caps update
> >...
>
> This patch removes the unused EXPORT_SYMBOL(cap_inode_killpriv).
>
> Signed-off-by: Adrian Bunk <[email protected]>

Acked-by: Serge Hallyn <[email protected]>

> ---
> 68ca3bcc4918d0b84a97318f60fb74c4600d9f6b
> diff --git a/security/commoncap.c b/security/commoncap.c
> index 7816cdc..9ec5890 100644
> --- a/security/commoncap.c
> +++ b/security/commoncap.c
> @@ -543,7 +543,6 @@ EXPORT_SYMBOL(cap_bprm_apply_creds);
> EXPORT_SYMBOL(cap_bprm_secureexec);
> EXPORT_SYMBOL(cap_inode_setxattr);
> EXPORT_SYMBOL(cap_inode_removexattr);
> -EXPORT_SYMBOL(cap_inode_killpriv);
> EXPORT_SYMBOL(cap_task_post_setuid);
> EXPORT_SYMBOL(cap_task_kill);
> EXPORT_SYMBOL(cap_task_setscheduler);

Ah yes, bc LSMs can't be modules any more. But then, why still export
cap_task_setscheduler, for instance?

-serge

2007-08-14 23:43:22

by Adrian Bunk

[permalink] [raw]
Subject: Re: [-mm patch] unexport cap_inode_killpriv

On Tue, Aug 14, 2007 at 04:35:02PM -0500, Serge E. Hallyn wrote:
> Quoting Adrian Bunk ([email protected]):
> > On Thu, Aug 09, 2007 at 10:42:54PM -0700, Andrew Morton wrote:
> > >...
> > > Changes since 2.6.23-rc1-mm2:
> > >...
> > > +file-capabilities-clear-fcaps-on-inode-change.patch
> > >
> > > file caps update
> > >...
> >
> > This patch removes the unused EXPORT_SYMBOL(cap_inode_killpriv).
> >
> > Signed-off-by: Adrian Bunk <[email protected]>
>
> Acked-by: Serge Hallyn <[email protected]>
>
> > ---
> > 68ca3bcc4918d0b84a97318f60fb74c4600d9f6b
> > diff --git a/security/commoncap.c b/security/commoncap.c
> > index 7816cdc..9ec5890 100644
> > --- a/security/commoncap.c
> > +++ b/security/commoncap.c
> > @@ -543,7 +543,6 @@ EXPORT_SYMBOL(cap_bprm_apply_creds);
> > EXPORT_SYMBOL(cap_bprm_secureexec);
> > EXPORT_SYMBOL(cap_inode_setxattr);
> > EXPORT_SYMBOL(cap_inode_removexattr);
> > -EXPORT_SYMBOL(cap_inode_killpriv);
> > EXPORT_SYMBOL(cap_task_post_setuid);
> > EXPORT_SYMBOL(cap_task_kill);
> > EXPORT_SYMBOL(cap_task_setscheduler);
>
> Ah yes, bc LSMs can't be modules any more. But then, why still export
> cap_task_setscheduler, for instance?

Look at my next patch. :-)

> -serge

cu
Adrian

--

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

2007-08-16 21:02:56

by Andrew Morton

[permalink] [raw]
Subject: Re: [-mm patch] AFLAGS: fix the -g setting

On Tue, 14 Aug 2007 23:23:29 +0200
Adrian Bunk <[email protected]> wrote:

> It's -gdwarf-2, not -gdwarf2. With this fix it can actually work.

Andreas Schwab has said "The option is officially called -gdwarf-2, and
-gdwarf2 is an alias for backward compatibility.". So the code should be
working OK now.

> And since even gcc 3.2 supports -gdwarf-2 there's no reason for checking
> with as-option.
>
> Signed-off-by: Adrian Bunk <[email protected]>
>
> ---
> 6ab1091b06e762635430b452f82a474890bda230
> diff --git a/Makefile b/Makefile
> index 5b0d58c..accfdc4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -504,7 +504,7 @@ endif
>
> ifdef CONFIG_DEBUG_INFO
> CFLAGS += -g
> -AFLAGS += $(call as-option, -gdwarf2)
> +AFLAGS += -gdwarf-2
> endif
>
> # Force gcc to behave correct even for buggy distributions

2007-08-16 22:17:00

by Adrian Bunk

[permalink] [raw]
Subject: Re: [-mm patch] AFLAGS: fix the -g setting

On Thu, Aug 16, 2007 at 02:02:01PM -0700, Andrew Morton wrote:
> On Tue, 14 Aug 2007 23:23:29 +0200
> Adrian Bunk <[email protected]> wrote:
>
> > It's -gdwarf-2, not -gdwarf2. With this fix it can actually work.
>
> Andreas Schwab has said "The option is officially called -gdwarf-2, and
> -gdwarf2 is an alias for backward compatibility.". So the code should be
> working OK now.

Both GNU gcc 3.2.3 downloaded from ftp.gnu.org and the
Debian GNU/Linux package of GNU gcc 4.2.1 disagree with Andreas:

$ gcc -O2 -gdwarf-2 test.c
$ gcc -O2 -gdwarf2 test.c
cc1: error: unrecognised debug output level "dwarf2"
$ gcc --version
gcc (GCC) 4.2.1 (Debian 4.2.1-0)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ /usr/local/DIR/gcc-3.2.3/bin/gcc -O2 -gdwarf2 test.c
cc1: use -gdwarf -g2 for DWARF v1, level 2
cc1: use -gdwarf-2 for DWARF v2
$

cu
Adrian

--

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

2007-08-16 22:31:12

by Roland McGrath

[permalink] [raw]
Subject: Re: [-mm patch] AFLAGS: fix the -g setting

Indeed, Andreas was taling about the as options.
But AFLAGS is in fact passed to $(CC).
Honestly, I don't think there is any reason not just to use -g.
If something else should be passed to the assembler, the compiler
can be the one to worry about that.


Thanks,
Roland

2007-08-19 15:56:33

by Richard Kennedy

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Thu, 09 Aug 2007 22:42:54 -0700, Andrew Morton wrote:

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-
rc2/2.6.23-rc2-mm2/
>
> - Various problems from 2.6.23-rc2-mm1 were fixed
>
>
>
> Boilerplate:
>
> - See the `hot-fixes' directory for any important updates to this
> patchset.
>
> - To fetch an -mm tree using git, use (for example)
>
> git-fetch
> git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git
> tag v2.6.16-rc2-mm1 git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
>
Hi Andrew,

the git tree you mentioned in the boilerplate doesn't seem to have been
updated in about 7 weeks.
2.6.22-rc6-mm1 is the last tag I can see on the summary page. Is
something broken ?
Cheers

Richard


2007-08-21 10:41:47

by Ingo Molnar

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2


* Eric W. Biederman <[email protected]> wrote:

> Ok. I missed that. Duh. I just saw Andrews drop message.
>
> This looks like Alexey respun my patch, or else we were thinking on
> parallel paths. Probably parallel given Alexey's dislike of using the
> CTL_UNNUMBERED define.
>
> There are two remaining gotchas:
> - The directories have impossible permissions (writeable).
>
> - The ctl_name for the kernel directory is inconsistent with
> everything else. It should be CTL_KERN.

thx, i've applied your patch to my tree.

> I kind of feel bad about being so picky but the this code is the only
> place in the kernel where I have seen us violate either of those
> rules, and it is a lot easier to deal with things when they are
> consistent.

sure enough, i'm not opposed at all to fixing these issues. We should
move your debug-sysctl-bugs patch upstream ASAP.

Ingo

2007-08-21 23:36:32

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Sun, 19 Aug 2007 15:56:07 +0000 (UTC)
richard kennedy <[email protected]> wrote:

> On Thu, 09 Aug 2007 22:42:54 -0700, Andrew Morton wrote:
>
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-
> rc2/2.6.23-rc2-mm2/
> >
> > - Various problems from 2.6.23-rc2-mm1 were fixed
> >
> >
> >
> > Boilerplate:
> >
> > - See the `hot-fixes' directory for any important updates to this
> > patchset.
> >
> > - To fetch an -mm tree using git, use (for example)
> >
> > git-fetch
> > git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git
> > tag v2.6.16-rc2-mm1 git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
> >
> Hi Andrew,

Please always do reply-to-all. Otherwise you end up thinking that you're
being ignored ;)

> the git tree you mentioned in the boilerplate doesn't seem to have been
> updated in about 7 weeks.
> 2.6.22-rc6-mm1 is the last tag I can see on the summary page. Is
> something broken ?

Yes, the software which auto-imports -mm into git appears to have broken
a few weeks ago. Matthias has been informed, but I guess he is busy.

2007-08-23 15:54:51

by Richard Kennedy

[permalink] [raw]
Subject: Re: 2.6.23-rc2-mm2

On Tue, 2007-08-21 at 16:36 -0700, Andrew Morton wrote:
> On Sun, 19 Aug 2007 15:56:07 +0000 (UTC)
> richard kennedy <[email protected]> wrote:
>
> > On Thu, 09 Aug 2007 22:42:54 -0700, Andrew Morton wrote:
> >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-
> > rc2/2.6.23-rc2-mm2/
> > >
> > > - Various problems from 2.6.23-rc2-mm1 were fixed
> > >
> > >
> > >
> > > Boilerplate:
> > >
> > > - See the `hot-fixes' directory for any important updates to this
> > > patchset.
> > >
> > > - To fetch an -mm tree using git, use (for example)
> > >
> > > git-fetch
> > > git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git
> > > tag v2.6.16-rc2-mm1 git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
> > >
> > Hi Andrew,
>
> Please always do reply-to-all. Otherwise you end up thinking that you're
> being ignored ;)
>
> > the git tree you mentioned in the boilerplate doesn't seem to have been
> > updated in about 7 weeks.
> > 2.6.22-rc6-mm1 is the last tag I can see on the summary page. Is
> > something broken ?
>
> Yes, the software which auto-imports -mm into git appears to have broken
> a few weeks ago. Matthias has been informed, but I guess he is busy.

Sorry about not replying all, I'm using the gmane newsgroup interface
and I hoped it would do the right thing. I guess I'll just have to
subscribe to the lkml fire-hose instead ;)
Richard