From: Max Krasnyansky on
Michael,

On 07/09/2010 04:29 AM, Michael Leun wrote:
> Hello,
>
>> # tunctl -u ml -t tap1
>
> works as expected, but
>
>> # unshare -n /bin/bash
>> # tunctl -u ml -t tap1

Thanks for forwarding this report. I'll take a look and try to reproduce
and fix it when I get a chance.

Max




>
> Jul 8 18:03:59 doris kernel: ------------[ cut here ]------------
> Jul 8 18:03:59 doris kernel: kernel BUG at fs/sysfs/file.c:540!
> Jul 8 18:03:59 doris kernel: invalid opcode: 0000 [#1] PREEMPT SMP
> Jul 8 18:03:59 doris kernel: last sysfs
> file: /sys/devices/virtual/misc/tun/dev Jul 8 18:03:59 doris kernel:
> Modules linked in: tun snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device
> vboxnetadp vboxnetflt vboxdrv ipv6 cpufreq_conservative
> cpufreq_ondemand cpufreq_userspace cpufreq_powersave acpi_cpufreq
> speedstep_lib freq_table ipt_REJECT ipt_LOG xt_limit xt_recent xt_state
> xt_tcpudp iptable_mangle iptable_nat iptable_filter nf_nat_ftp nf_nat
> nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack
> ip_tables x_tables fuse nls_utf8 loop snd_hda_codec_realtek arc4
> snd_hda_intel ecb snd_hda_codec iwlagn snd_pcm iwlcore snd_timer
> mac80211 snd cfg80211 soundcore intel_agp video usb_storage agpgart
> i2c_i801 rfkill snd_page_alloc output button battery ac joydev sg evdev
> tg3 edd ext4 jbd2 crc16 sha256_generic aes_i586 aes_generic cbc
> dm_crypt linear rtc_cmos uhci_hcd rtc_core rtc_lib sd_mod crc_t10dif
> ehci_hcd usbcore dm_snapshot dm_mod fan processor thermal [last
> unloaded: tun] Jul 8 18:03:59 doris kernel: Jul 8 18:03:59 doris
> kernel: Pid: 4320, comm: tunctl Not tainted 2.6.34.1 #3
> Kuril /40684JG Jul 8 18:03:59 doris kernel:
> EIP: 0060:[<c03129e1>] EFLAGS: 00010246 CPU: 0 Jul 8 18:03:59 doris
> kernel: EIP is at sysfs_create_file+0x21/0x30 Jul 8 18:03:59 doris
> kernel: EAX: 00000000 EBX: f66a73c0 ECX: f66a72bc EDX: f81587b4 Jul 8
> 18:03:59 doris kernel: ESI: 00000000 EDI: f67a7f00 EBP: f68ade90 ESP:
> f68ade90 Jul 8 18:03:59 doris kernel: DS: 007b ES: 007b FS: 00d8 GS:
> 00e0 SS: 0068 Jul 8 18:03:59 doris kernel: Process tunctl (pid: 4320,
> ti=f68ac000 task=f66e8f40 task.ti=f68ac000)
> Jul 8 18:03:59 doris kernel: Stack:
> Jul 8 18:03:59 doris kernel: f68ade98 c03e6da3 f68adf00 f8157fe0
> f8158700 f48496c0 00000001 f66a7000
> Jul 8 18:03:59 doris kernel:<0> f6b63c00 bfe0fafc f68aded0 00000000
> 00000000 000000ca b777a000 c1fbcca0
> Jul 8 18:03:59 doris kernel:<0> 356e7574 00000000 00000000 00000000
> 00001001 00000000 00000000 00000000
> Jul 8 18:03:59 doris kernel: Call Trace:
> Jul 8 18:03:59 doris kernel: [<c03e6da3>] ?
> device_create_file+0x13/0x20 Jul 8 18:03:59 doris kernel:
> [<f8157fe0>] ? tun_chr_ioctl+0x820/0xa26 [tun] Jul 8 18:03:59 doris
> kernel: [<c02cd91d>] ? vfs_ioctl+0x2d/0xc0 Jul 8 18:03:59 doris
> kernel: [<f81577c0>] ? tun_chr_ioctl+0x0/0xa26 [tun] Jul 8 18:03:59
> doris kernel: [<c02cdafa>] ? do_vfs_ioctl+0x6a/0x5a0 Jul 8 18:03:59
> doris kernel: [<c021fc10>] ? do_page_fault+0x0/0x370 Jul 8 18:03:59
> doris kernel: [<c021fdc4>] ? do_page_fault+0x1b4/0x370 Jul 8 18:03:59
> doris kernel: [<c02d5b8a>] ? alloc_fd+0xba/0x100 Jul 8 18:03:59 doris
> kernel: [<c02ca976>] ? putname+0x26/0x40 Jul 8 18:03:59 doris kernel:
> [<c02be80e>] ? do_sys_open+0xee/0x110 Jul 8 18:03:59 doris kernel:
> [<c02ce08f>] ? sys_ioctl+0x5f/0x80 Jul 8 18:03:59 doris kernel:
> [<c02be899>] ? sys_open+0x29/0x40 Jul 8 18:03:59 doris kernel:
> [<c0202e13>] ? sysenter_do_call+0x12/0x22 Jul 8 18:03:59 doris kernel:
> Code: 00 00 00 00 8d bf 00 00 00 00 55 85 c0 89 e5 74 1a 8b 40 18 85 d2
> 74 13 85 c0 74 0f b9 02 00 00 00 e8 34 ff ff ff c9 8d 76 00 c3<0f> 0b
> eb fe 8d 74 26 00 8d bc 27 00 00 00 00 55 89 e5 57 31 ff Jul 8
> 18:03:59 doris kernel: EIP: [<c03129e1>] sysfs_create_file+0x21/0x30
> SS:ESP 0068:f68ade90 Jul 8 18:03:59 doris kernel: ---[ end trace
> 3ce86c182470888c ]---
>
>
> No vmlinux specified,
> assuming /lib/modules/2.6.34.1/build/vmlinux
> c03129c3: 89 e5 mov %esp,%ebp |
> %esp = f68ade90
> c03129c5: 74 1a je c03129e1
> <sysfs_create_file+0x21>
> c03129c7: 8b 40 18 mov 0x18(%eax),%eax
> c03129ca: 85 d2 test %edx,%edx |
> %edx => f81587b4
> c03129cc: 74 13 je c03129e1
> <sysfs_create_file+0x21> c03129ce: 85 c0 test
> %eax,%eax | %eax => 0 c03129d0: 74 0f
> je c03129e1<sysfs_create_file+0x21> c03129d2: b9 02 00 00
> 00 mov $0x2,%ecx | %ecx => f66a72bc
> c03129d7: e8 34 ff ff ff call c0312910<sysfs_add_file>
> c03129dc: c9 leave
> c03129dd: 8d 76 00 lea 0x0(%esi),%esi |
> %esi => 0 c03129e0: c3 ret
> *c03129e1: 0f 0b ud2a<--- faulting
> instruction c03129e3: eb fe jmp c03129e3
> <sysfs_create_file+0x23> c03129e5: 8d 74 26 00 lea
> 0x0(%esi,%eiz,1),%esi c03129e9: 8d bc 27 00 00 00 00 lea
> 0x0(%edi,%eiz,1),%edi
>
> c03129f0<sysfs_create_files>:
> c03129f0: 55 push %ebp
> c03129f1: 89 e5 mov %esp,%ebp
> c03129f3: 57 push %edi
> c03129f4: 31 ff xor %edi,%edi
> c03129f6: 56 push %esi
> c03129f7: 89 d6 mov %edx,%esi
> c03129f9: 53 push %ebx
> c03129fa: 31 db xor %ebx,%ebx
> c03129fc: 83 ec 04 sub $0x4,%esp
> c03129ff: 89 45 f0 mov %eax,-0x10(%ebp)
> c0312a02: 8b 12 mov (%edx),%edx
> c0312a04: 85 d2 test %edx,%edx
> c0312a06: 74 3b je c0312a43
> <sysfs_create_files+0x53> c0312a08: 90 nop
> c0312a09: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
> c0312a10: 8b 45 f0 mov -0x10(%ebp),%eax
> c0312a13: e8 a8 ff ff ff call c03129c0
> <sysfs_create_file>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/