Commit dc0a81a9 authored by Linus Torvalds's avatar Linus Torvalds

Merge http://linux-ntfs.bkbits.net/ntfs-tng-2.5

into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
parents f0a83a45 e751b54b
...@@ -63,10 +63,9 @@ S: B-2610 Wilrijk-Antwerpen ...@@ -63,10 +63,9 @@ S: B-2610 Wilrijk-Antwerpen
S: Belgium S: Belgium
N: Anton Altaparmakov N: Anton Altaparmakov
E: aia21@cus.cam.ac.uk E: aia21@cantab.net
W: http://www-stu.christs.cam.ac.uk/~aia21/ W: http://www-stu.christs.cam.ac.uk/~aia21/
D: NTFS driver maintainer. NTFS fixes and cleanup. D: Author of new NTFS driver, various other kernel hacks.
D: Tiny fixes in linear md device and emu10k1 driver.
S: Christ's College S: Christ's College
S: Cambridge CB2 3BU S: Cambridge CB2 3BU
S: United Kingdom S: United Kingdom
......
...@@ -1146,9 +1146,10 @@ S: Maintained ...@@ -1146,9 +1146,10 @@ S: Maintained
NTFS FILESYSTEM NTFS FILESYSTEM
P: Anton Altaparmakov P: Anton Altaparmakov
M: aia21@cus.cam.ac.uk M: aia21@cantab.net
L: linux-ntfs-dev@lists.sourceforge.net L: linux-ntfs-dev@lists.sourceforge.net
L: linux-kernel@vger.kernel.org L: linux-kernel@vger.kernel.org
W: http://linux-ntfs.sf.net/
S: Maintained S: Maintained
NVIDIA (RIVA) FRAMEBUFFER DRIVER NVIDIA (RIVA) FRAMEBUFFER DRIVER
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
* "Samuel Hocevar" <sam@via.ecp.fr> * "Samuel Hocevar" <sam@via.ecp.fr>
* Fixes * Fixes
* *
* "Anton Altaparmakov" <AntonA@bigfoot.com> * "Anton Altaparmakov"
* G400 MAX/non-MAX distinction * G400 MAX/non-MAX distinction
* *
* "Ken Aaker" <kdaaker@rchland.vnet.ibm.com> * "Ken Aaker" <kdaaker@rchland.vnet.ibm.com>
......
...@@ -27,6 +27,18 @@ ToDo: ...@@ -27,6 +27,18 @@ ToDo:
quite big. Modularising them a bit, e.g. a-la get_block(), will make quite big. Modularising them a bit, e.g. a-la get_block(), will make
them cleaner and make code reuse easier. them cleaner and make code reuse easier.
2.0.5 - Major bugfix. Buffer overflow in extent inode handling.
- No need to set old blocksize in super.c::ntfs_fill_super() as the
VFS does so via invocation of deactivate_super() calling
fs->fill_super() calling block_kill_super() which does it.
- BKL moved from VFS into dir.c::ntfs_readdir(). (Linus Torvalds)
-> Do we really need it? I don't think so as we have exclusion on
the directory ntfs_inode rw_semaphore mrec_lock. We mmight have to
move the ->f_pos accesses under the mrec_lock though. Check this...
- Fix really, really, really stupid buffer overflow in extent inode
handling in mft.c::map_extent_mft_record().
2.0.4 - Cleanups and updates for kernel 2.5.11. 2.0.4 - Cleanups and updates for kernel 2.5.11.
- Add documentation on how to use the MD driver to be able to use NTFS - Add documentation on how to use the MD driver to be able to use NTFS
...@@ -35,7 +47,7 @@ ToDo: ...@@ -35,7 +47,7 @@ ToDo:
Remove all uses of kdev_t in favour of struct block_device *: Remove all uses of kdev_t in favour of struct block_device *:
- Change compress.c::ntfs_file_read_compressed_block() to use - Change compress.c::ntfs_file_read_compressed_block() to use
sb_getblk() instead of getblk(). sb_getblk() instead of getblk().
- Change super.c::ntfs_fill_suoer() to use bdev_hardsect_size() instead - Change super.c::ntfs_fill_super() to use bdev_hardsect_size() instead
of get_hardsect_size(). of get_hardsect_size().
- No need to get old blocksize in super.c::ntfs_fill_super() as - No need to get old blocksize in super.c::ntfs_fill_super() as
fs/super.c::get_sb_bdev() already does this. fs/super.c::get_sb_bdev() already does this.
......
...@@ -7,7 +7,7 @@ obj-y := aops.o attrib.o compress.o debug.o dir.o file.o inode.o mft.o \ ...@@ -7,7 +7,7 @@ obj-y := aops.o attrib.o compress.o debug.o dir.o file.o inode.o mft.o \
obj-m := $(O_TARGET) obj-m := $(O_TARGET)
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.0.4\" EXTRA_CFLAGS = -DNTFS_VERSION=\"2.0.5\"
ifeq ($(CONFIG_NTFS_DEBUG),y) ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG EXTRA_CFLAGS += -DDEBUG
......
...@@ -1191,7 +1191,8 @@ void ntfs_read_inode_mount(struct inode *vi) ...@@ -1191,7 +1191,8 @@ void ntfs_read_inode_mount(struct inode *vi)
"for $MFT/$DATA. Driver bug or " "for $MFT/$DATA. Driver bug or "
"corrupt $MFT. Run chkdsk."); "corrupt $MFT. Run chkdsk.");
ntfs_debug("highest_vcn = 0x%Lx, last_vcn - 1 = 0x%Lx", ntfs_debug("highest_vcn = 0x%Lx, last_vcn - 1 = 0x%Lx",
(long long)highest_vcn, (long long)last_vcn - 1); (long long)highest_vcn,
(long long)last_vcn - 1);
goto put_err_out; goto put_err_out;
} }
put_attr_search_ctx(ctx); put_attr_search_ctx(ctx);
......
...@@ -459,7 +459,7 @@ MFT_RECORD *map_extent_mft_record(ntfs_inode *base_ni, MFT_REF mref, ...@@ -459,7 +459,7 @@ MFT_RECORD *map_extent_mft_record(ntfs_inode *base_ni, MFT_REF mref,
goto unm_err_out; goto unm_err_out;
} }
/* Attach extent inode to base inode, reallocating memory if needed. */ /* Attach extent inode to base inode, reallocating memory if needed. */
if (!(base_ni->nr_extents & ~3)) { if (!(base_ni->nr_extents & 3)) {
ntfs_inode **tmp; ntfs_inode **tmp;
int new_size = (base_ni->nr_extents + 4) * sizeof(ntfs_inode *); int new_size = (base_ni->nr_extents + 4) * sizeof(ntfs_inode *);
......
...@@ -1555,7 +1555,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ...@@ -1555,7 +1555,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent)
if (sb_set_blocksize(sb, NTFS_BLOCK_SIZE) != NTFS_BLOCK_SIZE) { if (sb_set_blocksize(sb, NTFS_BLOCK_SIZE) != NTFS_BLOCK_SIZE) {
if (!silent) if (!silent)
ntfs_error(sb, "Unable to set block size."); ntfs_error(sb, "Unable to set block size.");
goto set_blk_size_err_out_now; goto err_out_now;
} }
/* Get the size of the device in units of NTFS_BLOCK_SIZE bytes. */ /* Get the size of the device in units of NTFS_BLOCK_SIZE bytes. */
...@@ -1565,7 +1565,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ...@@ -1565,7 +1565,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent)
if (!(bh = read_ntfs_boot_sector(sb, silent))) { if (!(bh = read_ntfs_boot_sector(sb, silent))) {
if (!silent) if (!silent)
ntfs_error(sb, "Not an NTFS volume."); ntfs_error(sb, "Not an NTFS volume.");
goto set_blk_size_err_out_now; goto err_out_now;
} }
/* /*
...@@ -1579,7 +1579,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ...@@ -1579,7 +1579,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent)
if (!result) { if (!result) {
if (!silent) if (!silent)
ntfs_error(sb, "Unsupported NTFS filesystem."); ntfs_error(sb, "Unsupported NTFS filesystem.");
goto set_blk_size_err_out_now; goto err_out_now;
} }
/* /*
...@@ -1750,10 +1750,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ...@@ -1750,10 +1750,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent)
printk("VFS: Busy inodes after umount. Self-destruct in 5 " printk("VFS: Busy inodes after umount. Self-destruct in 5 "
"seconds. Have a nice day...\n"); "seconds. Have a nice day...\n");
} }
set_blk_size_err_out_now:
/* Errors at this stage are irrelevant. */ /* Errors at this stage are irrelevant. */
// FIXME: This should be done in fs/super.c::get_sb_bdev() itself! (AIA)
sb_set_blocksize(sb, sb->s_old_blocksize);
err_out_now: err_out_now:
sb->u.generic_sbp = NULL; sb->u.generic_sbp = NULL;
kfree(vol); kfree(vol);
...@@ -1936,7 +1933,7 @@ static void __exit exit_ntfs_fs(void) ...@@ -1936,7 +1933,7 @@ static void __exit exit_ntfs_fs(void)
} }
EXPORT_NO_SYMBOLS; EXPORT_NO_SYMBOLS;
MODULE_AUTHOR("Anton Altaparmakov <aia21@cam.ac.uk>"); MODULE_AUTHOR("Anton Altaparmakov <aia21@cantab.net>");
MODULE_DESCRIPTION("NTFS 1.2/3.x driver"); MODULE_DESCRIPTION("NTFS 1.2/3.x driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
#ifdef DEBUG #ifdef DEBUG
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* Part of the Linux-NTFS project. * Part of the Linux-NTFS project.
* *
* Copyright (C) 2001 Richard Russon <ntfs@flatcap.org> * Copyright (C) 2001 Richard Russon <ntfs@flatcap.org>
* Copyright (c) 2001 Anton Altaparmakov <aia21@cam.ac.uk> * Copyright (c) 2001,2002 Anton Altaparmakov
* *
* Modified for mkntfs inclusion 9 June 2001 by Anton Altaparmakov. * Modified for mkntfs inclusion 9 June 2001 by Anton Altaparmakov.
* Modified for kernel inclusion 10 September 2001 by Anton Altparmakov. * Modified for kernel inclusion 10 September 2001 by Anton Altparmakov.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* ldm - Part of the Linux-NTFS project. * ldm - Part of the Linux-NTFS project.
* *
* Copyright (C) 2001 Richard Russon <ldm@flatcap.org> * Copyright (C) 2001 Richard Russon <ldm@flatcap.org>
* Copyright (C) 2001 Anton Altaparmakov <antona@users.sf.net> (AIA) * Copyright (C) 2001 Anton Altaparmakov (AIA)
* *
* Documentation is available at http://linux-ntfs.sf.net/ldm * Documentation is available at http://linux-ntfs.sf.net/ldm
* *
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* ldm - Part of the Linux-NTFS project. * ldm - Part of the Linux-NTFS project.
* *
* Copyright (C) 2001 Richard Russon <ldm@flatcap.org> * Copyright (C) 2001 Richard Russon <ldm@flatcap.org>
* Copyright (C) 2001 Anton Altaparmakov <antona@users.sf.net> * Copyright (C) 2001 Anton Altaparmakov
* *
* Documentation is available at http://linux-ntfs.sf.net/ldm * Documentation is available at http://linux-ntfs.sf.net/ldm
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment