[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070813124247.GA7414@she-seel.salle-s.org>
Date: Mon, 13 Aug 2007 14:42:47 +0200
From: Nicolas George <nicolas.george@...malesup.org>
To: linux-kernel@...r.kernel.org, uml-devel@...ts.sourceforge.net
Subject: UML/man: BLKGETSIZE takes a long, not an int
Hi.
I found a type mismatch in UML that makes host block devices unusable as ubd
devices on x86_64 and other 64 bits systems (segfault of the mm subsystem):
In block/ioctl.c, the following lines show that the BLKGETSIZE ioctl expects
a pointer to a long:
case BLKGETSIZE:
if ((bdev->bd_inode->i_size >> 9) > ~0UL)
return -EFBIG;
return put_ulong(arg, bdev->bd_inode->i_size >> 9);
In arch/um/os-Linux/file.c, os_file_size calls it with an int.
The ioctl_list man page should be fixed as well.
Regards,
--
Nicolas George
View attachment "linux-umlblkgetsize-20070813.diff" of type "text/x-diff" (384 bytes)
Download attachment "signature.asc" of type "application/pgp-signature" (190 bytes)
Powered by blists - more mailing lists