xfs: fix type confusion in xfs_ioc_swapext
authorJann Horn <jann@thejh.net>
Wed, 20 Jul 2016 00:30:30 +0000 (10:30 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 20 Jul 2016 00:30:30 +0000 (10:30 +1000)
commit7f1b62457b58f9bb586a1b2ff7fe271b56196bd2
treed3a6277509f53a981b42cffbbe379807d029a3fe
parent1a695a905c18548062509178b98bc91e67510864
xfs: fix type confusion in xfs_ioc_swapext

When calling fdget() in xfs_ioc_swapext(), we need to verify that
the file descriptors passed into the ioctl point to XFS inodes
before we start operations on them. If we don't do this, we could be
referencing arbitrary kernel memory as an XFS inode. THis could lead
to memory corruption and/or performing locking operations on
attacker-chosen structures in kernel memory.

[dchinner: rewrite commit message ]
[dchinner: add comment explaining new check ]

Signed-off-by: Jann Horn <jann@thejh.net>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_ioctl.c