[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54D071AA.1030302@ahsoftware.de>
Date: Tue, 03 Feb 2015 07:58:50 +0100
From: Alexander Holler <holler@...oftware.de>
To: Al Viro <viro@...IV.linux.org.uk>
CC: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] WIP: Add syscall unlinkat_s (currently x86* only)
Am 03.02.2015 um 07:05 schrieb Al Viro:
> On Mon, Feb 02, 2015 at 06:05:09PM +0100, Alexander Holler wrote:
>> + if (inode) {
>> + // TODO:
>> + // if (inode is file and 's' flag is set)
>> + // secure = true;
>> + if (!secure)
>> + iput(inode); /* truncate the inode here */
>> + else {
>> + struct super_block *sb = inode->i_sb;
>> + if (sb->s_op->set_secure_delete)
>> + sb->s_op->set_secure_delete(sb, true);
>> + // TODO: We should fail if secure isn't supported,
>> + // look up how that's possible here.
>> + iput(inode); /* truncate the inode here */
>> + // TODO: check if sb is still valid after the inode is gone
>> + sync_filesystem(sb);
>> + if (sb->s_op->set_secure_delete)
>> + sb->s_op->set_secure_delete(sb, false);
>> + }
>
> Charming. Now, what exactly happens if two such syscalls overlap in time?
What do you think will happen? I assume you haven't looked at how I've
implemented set_secure_delete(). CHarming.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists