Fix a sign bug causing invalid memory access in the ino_paths ioctl.
authorGabriel de Perthuis <g2p.code@gmail.com>
Wed, 10 Oct 2012 14:50:47 +0000 (08:50 -0600)
committerChris Mason <chris.mason@fusionio.com>
Thu, 25 Oct 2012 19:39:47 +0000 (15:39 -0400)
commit661bec6ba884b86517ef5ea529aabb281a7198d9
tree22881cdc9bf3d67c78ee07b24195885b0f0f223f
parentf46dbe3dee853f8a860f889cb2b7ff4c624f2a7a
Fix a sign bug causing invalid memory access in the ino_paths ioctl.

To see the problem, create many hardlinks to the same file (120 should do it),
then look up paths by inode with:

  ls -i
  btrfs inspect inode-resolve -v $ino /mnt/btrfs

I noticed the memory layout of the fspath->val data had some irregularities
(some unnecessary gaps that stop appearing about halfway),
so I'm not sure there aren't any bugs left in it.
fs/btrfs/backref.c