summaryrefslogtreecommitdiffstats
path: root/fs/squashfs/namei.c
Commit message (Collapse)AuthorAgeFilesLines
* Squashfs: fix corruption checks in squashfs_lookup()Phillip Lougher2013-09-061-1/+2
| | | | | | | | | | The dir_count and size fields when read from disk are sanity checked for correctness. However, the sanity checks only check the values are not greater than expected. As dir_count and size were incorrectly defined as signed ints, this can lead to corrupted values appearing as negative which are not trapped. Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
* Squashfs: fix corruption check in get_dir_index_using_name()Phillip Lougher2013-09-061-3/+1
| | | | | | | | | | | | | | | | Patch "Squashfs: sanity check information from disk" from Dan Carpenter adds a missing check for corruption in the "size" field while reading the directory index from disk. It, however, sets err to -EINVAL, this value is not used later, and so setting it is completely redundant. So remove it. Errors in reading the index are deliberately non-fatal. If we get an error in reading the index we just return the part of the index we have managed to read - the index isn't essential, just quicker. Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
* Squashfs: sanity check information from diskDan Carpenter2013-08-291-1/+6
| | | | | | | | We read the size of the name from the disk, but a larger name than expected would cause memory corruption. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
* stop passing nameidata to ->lookup()Al Viro2012-07-141-1/+1
| | | | | | | | | Just the flags; only NFS cares even about that, but there are legitimate uses for such argument. And getting rid of that completely would require splitting ->lookup() into a couple of methods (at least), so let's leave that alone for now... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Squashfs: remove redundant length initialisation in squashfs_lookupPhillip Lougher2012-03-101-1/+1
| | | | Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
* Squashfs: use define instead of constantAjeet Yadav2012-03-101-2/+1
| | | | | | | Its better to use defined name instead of constant Signed-off-by: Ajeet Yadav <ajeet.yadav.77@gmail.com> Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
* make d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err)Al Viro2011-07-201-5/+0
| | | | | | ... and simplify the living hell out of callers Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* deuglify squashfs_lookup()Al Viro2011-07-201-4/+1
| | | | | | | | d_splice_alias(NULL, dentry) is equivalent to d_add(dentry, NULL), NULL so no need for that if (inode) ... in there (or ERR_PTR(0), for that matter) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Squashfs: update email addressPhillip Lougher2011-05-261-1/+1
| | | | | | | My existing email address may stop working in a month or two, so update email to one that will continue working. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
* Squashfs: handle corruption of directory structurePhillip Lougher2011-03-161-0/+12
| | | | | | | | | | | | | | | | | | Handle the rare case where a directory metadata block is uncompressed and corrupted, leading to a kernel oops in directory scanning (memcpy). Normally corruption is detected at the decompression stage and dealt with then, however, this will not happen if: - metadata isn't compressed (users can optionally request no metadata compression), or - the compressed metadata block was larger than the original, in which case the uncompressed version was used, or - the data was corrupt after decompression This patch fixes this by adding some sanity checks against known maximum values. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
* squashfs: add xattr support configure optionPhillip Lougher2010-05-171-0/+1
| | | | Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
* squashfs: add new extended inode typesPhillip Lougher2010-05-171-1/+4
| | | | | | | Add new extended inode types that store the xattr_id field. Also add the necessary code changes to make xattrs visibile. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
* Squashfs: factor out remaining zlib dependencies into separate wrapper filePhillip Lougher2010-01-201-1/+0
| | | | | | | | Move zlib buffer init/destroy code into separate wrapper file. Also make zlib z_stream field a void * removing the need to include zlib.h for most files. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
* Squashfs: directory lookup operationsPhillip Lougher2009-01-051-0/+242
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>