I try to compile with printk() instead of printk_ratelimited() in your patch, and it's succeeded. Then i install it with
# dpkg -i ./linux-image-2.6.32-5-686-bigmem_2.6.32-38a~test_i386.deb # dpkg --configure --force-depends-version linux-image-2.6.32-5-686-bigmem and then try to reproduce this bug. Here is the result: [ 65.162361] apm: BIOS not found. [ 65.276280] [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 2 [ 84.368180] tty_ldisc_reinit: refcount of is still 2 [ 85.134084] Bluetooth: L2CAP ver 2.14 [ 85.134089] Bluetooth: L2CAP socket layer initialized [ 85.179597] Bluetooth: RFCOMM TTY layer initialized [ 85.179605] Bluetooth: RFCOMM socket layer initialized [ 85.179610] Bluetooth: RFCOMM ver 1.11 [ 86.928111] input: ACPI Virtual Keyboard Device as /devices/virtual/input/input11 [ 87.012983] apm: BIOS not found. [ 87.386813] Registered led device: iwl-phy0::radio [ 87.386854] Registered led device: iwl-phy0::assoc [ 87.386894] Registered led device: iwl-phy0::RX [ 87.386931] Registered led device: iwl-phy0::TX [ 87.467491] ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 87.566675] [drm] nouveau 0000:01:00.0: Allocating FIFO number 2 [ 87.573771] [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 2 13 октября 2011 г. 16:41 пользователь Дмитрий Матросов <[email protected]> написал: > 2011/10/13 Ben Hutchings <[email protected]>: >> On Wed, 2011-10-12 at 14:05 +0300, Matrosov Dmitriy wrote: >>> Package: linux-2.6 >>> Version: 2.6.32-38 >>> Severity: normal >>> Tags: squeeze >>> >>> Steps to reproduce: >>> 1. Reboot computer. >>> 2. Boot into runlevel 2. >>> 3. Switch to console and go to single-user runlevel: >>> # telinit 1 >>> 4. Enter root password and switch to runlevel 2 again: >>> # telinit 2 >>> 5. And now, as i understand, second init copy (which run by telinit) will >>> crash. >>> >>> I can't reproduce this again without rebooting system, i.e. it occurs only >>> after reboot and only once. >>> Also, i can't reproduce this with previous kernel (=2.6.32-35squeeze2), and, >>> though, i don't sure that this is kernel bug, but it seems, like last kernel >>> upgrade (=2.6.32-38) triggers it. >> >> This isn't a crash. >> >> [...] >>> [ 75.608119] ------------[ cut here ]------------ >>> [ 75.608136] WARNING: at >>> /build/buildd-linux-2.6_2.6.32-38-i386-G9QRBd/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/char/tty_ldisc.c:738 >>> tty_ldisc_reinit+0x3e/0x6c() >>> [ 75.608144] Hardware name: 6460EDG >>> [ 75.608148] Modules linked in: acpi_cpufreq cpufreq_stats >>> cpufreq_powersave cpufreq_conservative cpufreq_userspace pppoe pppox >>> ppp_generic slhc binfmt_misc uinput fuse ipt_REJECT ipt_LOG xt_limit >>> xt_tcpudp xt_state iptable_filter ipt_MASQUERADE iptable_nat nf_nat >>> nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_mangle ip_tables >>> x_tables ext3 jbd ext2 tp_smapi thinkpad_ec loop firewire_sbp2 >>> snd_hda_codec_analog btusb snd_hda_intel bluetooth arc4 snd_hda_codec sg >>> snd_hwdep ecb iwlagn snd_pcm nouveau iwlcore sr_mod sdhci_pci sdhci ttm >>> snd_seq mac80211 snd_timer firewire_ohci cdrom drm_kms_helper >>> snd_seq_device joydev firewire_core mmc_core cfg80211 drm pcmcia >>> yenta_socket snd thinkpad_acpi soundcore rsrc_nonstatic i2c_algo_bit >>> i2c_i801 wmi uhci_hcd pcmcia_core ricoh_mmc crc_itu_t snd_page_alloc >>> ehci_hcd i2c_core ata_piix ata_generic e1000e rfkill led_class nvram >>> usbcore nls_base processor button ac battery psmouse evdev pcspkr video >>> output serio_raw ext4 mbcache jbd2 crc >>> 16 dm_mod sd_mod crc_t10dif ahci libata scsi_mod thermal thermal_sys [last >>> unloaded: kvm] >>> [ 75.608352] Pid: 2422, comm: init Not tainted 2.6.32-5-686-bigmem #1 >>> [ 75.608357] Call Trace: >>> [ 75.608369] [<c1036819>] ? warn_slowpath_common+0x5e/0x8a >>> [ 75.608378] [<c103684f>] ? warn_slowpath_null+0xa/0xc >>> [ 75.608386] [<c11a38b9>] ? tty_ldisc_reinit+0x3e/0x6c >>> [ 75.608394] [<c11a39d6>] ? tty_ldisc_hangup+0xef/0x172 >>> [ 75.608403] [<c10a5c14>] ? remove_vma+0x43/0x48 >>> [ 75.608413] [<c119e136>] ? do_tty_hangup+0xd0/0x2b1 >>> [ 75.608422] [<c119e60d>] ? disassociate_ctty+0x3b/0x1b3 >>> [ 75.608430] [<c103961a>] ? do_exit+0x212/0x5cd >>> [ 75.608439] [<c1039a34>] ? do_group_exit+0x5f/0x82 >>> [ 75.608449] [<c10449bf>] ? get_signal_to_deliver+0x30d/0x32e >>> [ 75.608459] [<c10075b4>] ? do_notify_resume+0x6f/0x713 >>> [ 75.608469] [<c110a800>] ? security_task_wait+0xc/0xd >>> [ 75.608478] [<c103902e>] ? wait_consider_task+0x983/0x990 >>> [ 75.608488] [<c104a804>] ? remove_wait_queue+0xb/0x2f >>> [ 75.608496] [<c10391ea>] ? do_wait+0x1af/0x1e3 >>> [ 75.608504] [<c10392b6>] ? sys_wait4+0x98/0xa2 >>> [ 75.608514] [<c1037c44>] ? child_wait_callback+0x0/0x5f >>> [ 75.608522] [<c10392d3>] ? sys_waitpid+0x13/0x17 >>> [ 75.608530] [<c10082f4>] ? work_notifysig+0x13/0x1b >>> [ 75.608536] ---[ end trace a550edb008c670a3 ]--- >> [...]. >> >> This warning message was added by the bug fix "TTY: ldisc, do not close >> until there are readers". I don't believe that the warning a >> regression; it's just reporting a problem that already existed. >> >> If you would like to help us understand and fix the problem, please can >> you test the attached patch, following the instructions at >> <http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official>. >> It should replace the warnings with log lines of the form >> "tty_ldisc_reinit: refcount of <name> is still <number>" which you >> should send back. >> >> Ben. >> >> -- >> Ben Hutchings >> Quantity is no substitute for quality, but it's the only one we've got. >> > > Hi, Ben. > > I am not sure, that i do all correctly, but it doesn't compile. Here > is what i get > > $ apt-get source linux-2.6=2.6.32-38 > $ cd linux-2.6-2.6.32/ > $ bash debian/bin/test-patches ../0001-TTY-tty_ldisc_wait_idle-debug.patch > [...] > CC [M] drivers/bluetooth/btmrvl_sdio.o > LD drivers/cdrom/built-in.o > CC [M] drivers/cdrom/cdrom.o > CC drivers/char/mem.o > CC drivers/char/random.o > CC drivers/char/tty_io.o > CC drivers/char/n_tty.o > CC drivers/char/tty_ioctl.o > CC drivers/char/tty_ldisc.o > /home/sgf/Documents/kernel/src/test_patch/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/char/tty_ldisc.c: > In function ‘tty_ldisc_reinit’: > /home/sgf/Documents/kernel/src/test_patch/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/char/tty_ldisc.c:742: > error: implicit declaration of function ‘printk_ratelimited’ > make[6]: *** [drivers/char/tty_ldisc.o] Error 1 > make[5]: *** [drivers/char] Error 2 > make[4]: *** [drivers] Error 2 > make[3]: *** [sub-make] Error 2 > make[2]: *** [all] Error 2 > make[2]: Leaving directory > `/home/sgf/Documents/kernel/src/test_patch/linux-2.6-2.6.32/debian/build/build_i386_none_686-bigmem' > make[1]: *** [debian/stamps/build_i386_none_686-bigmem_plain] Error 2 > make[1]: Leaving directory > `/home/sgf/Documents/kernel/src/test_patch/linux-2.6-2.6.32' > make: *** [binary-arch_i386_none_686-bigmem_real] Error 2 > > Dmitriy Matrosov. > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/cafdvufme+kwfammvthhry91l5v-hfwvd3r8ezhv2k0b5kcp...@mail.gmail.com

