limit request size on COWed devices

Bug #338795 reported by Juan Moyano
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
user-mode-linux (Ubuntu)
Fix Released
Undecided
Loïc Minier

Bug Description

Binary package hint: user-mode-linux

2.6.22-2um-0ubuntu2 package contains a bug that prevents the use of cow files

see:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=442108
http://mirror.celinuxforum.org/gitstat/commit-detail.php?commit=8619b86f20588c020b280e6f67a9b8712b1ee38a
http://<email address hidden>/msg05620.html

In detail:

The problem arise when trying to start one uml instance using a cow filesystem support.

jon@realbox:~/uml/uml-2$ linux.uml ubda=root_fs_cow,root_fs ubdb=swap_fs eth0=tuntap,,,192.168.122.254 mem=256M
Core dump limits :
        soft - 0
        hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode
Adding 3510272 bytes to physical memory to account for exec-shield gap
[42949372.960000] Linux version 2.6.22-rc5 (root@vernadsky) (gcc version 4.1.3 20070629 (prerelease) (Ubuntu 4.1.2-13ubuntu2)) #2 Mon Jul 2 10:14:22 GMT 2007
[42949372.960000] Built 1 zonelists. Total pages: 65875
[42949372.960000] Kernel command line: ubda=root_fs_cow,root_fs ubdb=swap_fs eth0=tuntap,,,192.168.122.254 mem=256M root=98:0
[42949372.960000] PID hash table entries: 2048 (order: 11, 8192 bytes)
[42949372.960000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[42949372.960000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[42949372.960000] Memory: 254464k available
[42949373.310000] Mount-cache hash table entries: 512
[42949373.310000] Checking for host processor cmov support...Yes
[42949373.310000] Checking for host processor xmm support...No
[42949373.310000] Checking that host ptys support output SIGIO...Yes
[42949373.310000] Checking that host ptys support SIGIO on close...No, enabling workaround
[42949373.310000] Using 2.6 host AIO
[42949373.310000] NET: Registered protocol family 16
[42949373.310000] NET: Registered protocol family 2
[42949373.440000] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[42949373.440000] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[42949373.440000] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[42949373.440000] TCP: Hash tables configured (established 16384 bind 16384)
[42949373.440000] TCP reno registered
[42949373.470000] Checking host MADV_REMOVE support...OK
[42949373.470000] mconsole (version 2) initialized on /home/jon/.uml/LuZ1y6/mconsole
[42949373.470000] Mapper v0.1
[42949373.470000] mmapper_init - find_iomem failed
[42949373.470000] UML Watchdog Timer
[42949373.470000] Host TLS support detected
[42949373.470000] Detected host type: i386
[42949373.470000] VFS: Disk quotas dquot_6.5.1
[42949373.470000] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[42949373.470000] JFS: nTxBlock = 1990, nTxLock = 15925
[42949373.470000] SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled
[42949373.470000] SGI XFS Quota Management subsystem
[42949373.470000] io scheduler noop registered
[42949373.470000] io scheduler anticipatory registered (default)
[42949373.470000] io scheduler deadline registered
[42949373.470000] io scheduler cfq registered
[42949373.640000] SoftDog: cannot register miscdev on minor=130 (err=-16)
[42949373.640000] TCP cubic registered
[42949373.640000] NET: Registered protocol family 1
[42949373.640000] NET: Registered protocol family 17
[42949373.650000] Initialized stdio console driver
[42949373.650000] Console initialized on /dev/tty0
[42949373.650000] Initializing software serial port version 1
[42949373.680000] ubda: unknown partition table
[42949373.720000] ubdb: unknown partition table
[42949373.720000] Choosing a random ethernet address for device eth0
[42949373.720000] Netdevice 0 (4a:c7:fa:e2:1b:c5) : TUN/TAP backend - IP = 192.168.122.254
[42949373.720000] ReiserFS: ubda: found reiserfs format "3.6" with standard journal
[42949373.720000] ReiserFS: ubda: using ordered data mode
[42949373.720000] ReiserFS: ubda: journal params: device ubda, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
[42949373.720000] ReiserFS: ubda: checking transaction log (ubda)
[42949373.720000] ReiserFS: ubda: Using r5 hash to sort names
[42949373.720000] VFS: Mounted root (reiserfs filesystem) readonly.
[42949373.720000] Kernel panic - not syncing: Operation too long
[42949373.720000]
[42949373.720000] EIP: 0073:[<b8030430>] CPU: 0 Not tainted ESP: 007b:b7eaffb4 EFLAGS: 00000246
[42949373.720000] Not tainted
[42949373.720000] EAX: 00000000 EBX: 00005c74 ECX: 00000013 EDX: 00005c74
[42949373.720000] ESI: 00005c70 EDI: 00000011 EBP: b7eaffd8 DS: 007b ES: 007b
[42949373.720000] 08bcfa4c: [<0806ce8c>] show_regs+0xb4/0xb9
[42949373.720000] 08bcfa78: [<0805b038>] panic_exit+0x25/0x3f
[42949373.720000] 08bcfa8c: [<0807c418>] notifier_call_chain+0x21/0x46
[42949373.720000] 08bcfaac: [<0807c4b3>] __atomic_notifier_call_chain+0x17/0x19
[42949373.720000] 08bcfac8: [<0807c4ca>] atomic_notifier_call_chain+0x15/0x17
[42949373.720000] 08bcfae4: [<08071532>] panic+0x52/0xd8
[42949373.720000] 08bcfb04: [<08062e2b>] cowify_req+0x38/0xe3
[42949373.720000] 08bcfb24: [<08062f85>] prepare_request+0xaf/0xba
[42949373.720000] 08bcfb50: [<0806303d>] do_ubd_request+0xad/0x140
[42949373.720000] 08bcfb84: [<081c259f>] __generic_unplug_device+0x20/0x26
[42949373.720000] 08bcfb94: [<081c25b5>] generic_unplug_device+0x10/0x18
[42949373.720000] 08bcfba0: [<081c261d>] blk_backing_dev_unplug+0x60/0x69
[42949373.720000] 08bcfbc4: [<080c7482>] block_sync_page+0x32/0x36
[42949373.720000] 08bcfbd4: [<0809102a>] sync_page+0x31/0x3b
[42949373.720000] 08bcfbe0: [<0823dafd>] __wait_on_bit_lock+0x2f/0x5a
[42949373.720000] 08bcfbfc: [<080915c3>] __lock_page+0x54/0x5d
[42949373.720000] 08bcfc34: [<08092331>] filemap_nopage+0x1c7/0x259
[42949373.720000] 08bcfc60: [<0809bb4a>] do_no_page+0x6f/0x272
[42949373.720000] 08bcfc98: [<0809bef5>] __handle_mm_fault+0xa7/0x180
[42949373.720000] 08bcfcc8: [<0805aa0a>] handle_page_fault+0xe2/0x1c2
[42949373.720000] 08bcfcfc: [<0805bb85>] maybe_map+0x51/0x83
[42949373.720000] 08bcfd30: [<0805bbc9>] do_op_one_page+0x12/0x6d
[42949373.720000] 08bcfd48: [<0805bcae>] do_buffer_op+0x8a/0x11f
[42949373.720000] 08bcfd88: [<08068b65>] setjmp_wrapper+0x3c/0x45
[42949373.720000] 08bcfdbc: [<0805bd6a>] buffer_op+0x27/0x52
[42949373.720000] 08bcfdf0: [<0805c072>] clear_user_skas+0x67/0x75
[42949373.720000] 08bcfe18: [<080cf599>] padzero+0x1e/0x2f
[42949373.720000] 08bcfe28: [<080cfcbd>] load_elf_interp+0x1c2/0x255
[42949373.720000] 08bcfe5c: [<080d06f2>] load_elf_binary+0x7fd/0xb57
[42949373.720000] 08bcfee0: [<080ae741>] search_binary_handler+0x60/0x170
[42949373.720000] 08bcff04: [<080ae998>] do_execve+0x147/0x1cb
[42949373.720000] 08bcff24: [<08057ced>] execve1+0x2a/0x54
[42949373.720000] 08bcff48: [<08057d2c>] um_execve+0x15/0x41
[42949373.720000] 08bcff64: [<08059e25>] kernel_execve+0x2c/0x37
[42949373.720000] 08bcff84: [<080576cf>] run_init_process+0x1b/0x20
[42949373.720000] 08bcff98: [<08057764>] init_post+0x90/0xb8
[42949373.720000] 08bcffa4: [<08049879>] kernel_init+0x7e/0x85
[42949373.720000] 08bcffb4: [<08067315>] run_kernel_thread+0x37/0x42
[42949373.720000] 08bcffe0: [<0805b49d>] new_thread_handler+0x57/0x7e
[42949373.720000] 08bcfffc: [<a55a5a5a>] 0xa55a5a5a
[42949373.720000]
Fallo de segmentación

Notice that the virtual machine started using root_fs (without cow functionality) starts OK

My system is

jon@realbox:~$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
jon@realbox:~$

Packet version:

jon@realbox:~$jon@realbox:~$ dpkg -l | egrep "uml|user-mode-linux"
ii uml-utilities 20070815-1.1 User-mode Linux (utility programs)
ii user-mode-linux 2.6.22-2um-0ubuntu2 User-mode Linux (kernel)
jon@realbox:~$

Best regards,

Revision history for this message
Roel van Os (roel-van-os) wrote :

I can confirm this issue. I've seen it on i386 and amd64.

Revision history for this message
Roel van Os (roel-van-os) wrote :

Seems to be fixed in 2.6.23, according to bug 442108 in Debian (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=442108). Could this version or just the fix be backported?

Revision history for this message
Loïc Minier (lool) wrote :

Closing this bug as it's fixed in >= 2.6.23 and lucid has user-mode-linux 2.6.32.

Changed in user-mode-linux (Ubuntu):
assignee: nobody → Loïc Minier (lool)
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.