[PATCH 2/4] xfs: validate untrusted inode numbers during lookup
Dave Chinner
david at fromorbit.com
Fri Jun 18 19:07:07 CDT 2010
On Fri, Jun 18, 2010 at 07:41:56AM -0400, Christoph Hellwig wrote:
> On Fri, Jun 18, 2010 at 05:32:52PM +1000, Dave Chinner wrote:
> > +static int
> > +xfs_imap_lookup(
>
> STATIC to keep the gcc inliner from overdoing thing?
*Nod*.
>
> > + xfs_mount_t *mp,
> > + xfs_trans_t *tp,
>
> > +{
> > + xfs_inobt_rec_incore_t rec;
> > + xfs_btree_cur_t *cur;
> > + xfs_buf_t *agbp;
>
> Please use the struct versions of these instead of the typedefs.
Copy-n-paste error - my bad.
> > +#ifdef DEBUG
> > + xfs_fs_cmn_err(CE_ALERT, mp, "xfs_imap: "
> > + "xfs_inobt_get_rec() failed");
> > +#endif /* DEBUG */
> > + error = XFS_ERROR(EINVAL);
>
> No need to print these even for debug kernels I think. And even then
> we shouldn't do it if the untrusted flag is set.
Ok, I killed all the prints - they don't tell us what inode number
the error occurred on anyway, so they aren't very useful anyway....
> > + }
> > +error0:
>
> I'd just call it out, or replace the goto by and if/else
Ok, I rearranged the code to kill the goto. I will repost
the series after a QA run.
Cheers,
Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list