[PATCH 2/2] btrfs: check link counter overflow in link(2)

From: Al Viro
Date: Fri Mar 04 2011 - 12:15:28 EST



Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
---
fs/btrfs/inode.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 099d64c..8a6df03 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4826,6 +4826,9 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
if (root->objectid != BTRFS_I(inode)->root->objectid)
return -EPERM;

+ if (inode->i_nlink == ~0U)
+ return -EMLINK;
+
btrfs_inc_nlink(inode);
inode->i_ctime = CURRENT_TIME;

--
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/