lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Nov 2006 00:46:43 +0900
From:	OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
To:	The Peach <smartart@...cali.it>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: bug? VFAT copy problem

The Peach <smartart@...cali.it> writes:

> On Tue, 21 Nov 2006 02:32:43 +0900
> OGAWA Hirofumi <hirofumi@...l.parknet.co.jp> wrote:
>
>> I couldn't reproduce this for now. Could you tell mount options which
>> you used? and after mount, "cat /proc/mounts", please.
>
> # mount | grep vfat 
> /dev/sdb1 on /mnt/iomega type vfat (rw,uid=1000,gid=100,codepage=850,iocharset=iso8859-15) 
>
> it seems only related to those kind of files, but I don't know how to inspect the "file properties" and why these files behave like this.
> As you can see and with a strace made on cp, the files _seems_ to be copied with the correct case, whilst it isn't, as seen with "ls". This and other things let me think is a vfat problem.

Hmm... This may be the dentry cache handling problem of fat.

Can you try the attached debug patch? And if you comment-in the
following parts, does this problem fix?

@@ -787,6 +830,9 @@ static int vfat_rmdir(struct inode *dir,
 	clear_nlink(inode);
 	inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
 	fat_detach(inode);
+	/* need to revalidate for next create */
+	table = (sbi->options.name_check == 's') ? 3 : 1;
+//	dentry->d_op = &vfat_dentry_ops[table];
@@ -811,6 +858,9 @@ static int vfat_unlink(struct inode *dir
 	clear_nlink(inode);
 	inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
 	fat_detach(inode);
+	/* need to revalidate for next create */
+	table = (sbi->options.name_check == 's') ? 3 : 1;
+//	dentry->d_op = &vfat_dentry_ops[table];
-- 
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>


View attachment "vfat-debug.patch" of type "text/x-patch" (5173 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ