Richard W.M. Jones
2012-May-28 16:50 UTC
[Libguestfs] NTFS(-3g) large alternate data streams
(I meant to copy this message to the mailing list) On Mon, May 28, 2012 at 05:49:36PM +0100, Richard W.M. Jones wrote:> > This file has an approx 48 MB ADS: > > ><fs> ll /Temp/ > total 13 > drwxrwxrwx 1 root root 0 May 28 17:28 . > drwxrwxrwx 1 root root 4096 Nov 1 2011 .. > -rwxrwxrwx 1 root root 13 Oct 5 2011 ADS_test.txt > ><fs> getxattrs /Temp/ADS_test.txt > libguestfs: error: getxattrs: getxattr: Argument list too long > > The code in libguestfs tries to allocate enough space to store the > return value using malloc. There is a correct check on the return > from malloc, so I don't believe there is any possible DoS here. It > also frees the buffer along the return path. [However through an > abundance of caution I'm going to modify this code to add an upper > limit, see below.] > > In any case what actually fails is the kernel call: > > vlen = getxattr (path, /* name of xattr */, > /* return pointer */, > /* ~ 48 MB */); > > because I was wrong before when I said there was no limit at all. In > fact the limit in the kernel is XATTR_SIZE_MAX == 65536. > > So essentially there is no chance of returning ADSes using the > standard way. You'll have to use the ntfs-3g streams_interface=windows > mount option. > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > virt-p2v converts physical machines to virtual machines. Boot with a > live CD or over the network (PXE) and turn machines into Xen guests. > http://et.redhat.com/~rjones/virt-p2v-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top
Possibly Parallel Threads
- [PATCH libguestfs 1/3] daemon: xattr: Refactor code which splits attr names from the kernel.
- [PATCH libguestfs v2 1/3] daemon: xattr: Refactor code which splits attr names from the kernel.
- Re: RFC: copy-attributes command
- Re: RFC: copy-attributes command
- [PATCH libguestfs v2 0/3] daemon: Fix various commands which break on NTFS-3g compressed files.