xfs
[Top] [All Lists]

Something badly broken with the latest XFS changeset in all stable kerne

To: xfs@xxxxxxxxxxx
Subject: Something badly broken with the latest XFS changeset in all stable kernels?
From: "Thomas D." <whissi@xxxxxxxxx>
Date: Mon, 13 Jun 2016 23:57:53 +0200
Delivered-to: xfs@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1
Hi,

can anybody confirm if there's something broken with the latest XFS
change set which is now applied on all stable kernels?

I found https://forums.grsecurity.net/viewtopic.php?t=4489&p=16355 and
grsec changelog says

> commit 1f621dc42acbabb71bd69f6ba606cee56e7ad3bc
> Author: Brad Spengler <spender@xxxxxxxxxxxxxx>
> Date:   Sat Jun 11 08:14:32 2016 -0400
> 
>     Fix Greg KH's broken XFS backport, caused a benign case to be detected
>     as disk corruption
>     Problem was due to a tree-wide conversion of error codes to their negative
>     counterparts, which would likely never be backported to older kernels, but
>     the backports didn't account for the change
> 
>  fs/xfs/xfs_inode.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

This is the change grsec applied:

> diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
> index fb8579d..af807d8 100644
> --- a/fs/xfs/xfs_inode.c
> +++ b/fs/xfs/xfs_inode.c
> @@ -3098,7 +3111,7 @@ xfs_iflush(
>        */
>       error = xfs_imap_to_bp(mp, NULL, &ip->i_imap, &dip, &bp, XBF_TRYLOCK,
>                              0);
> -     if (error == -EAGAIN) {
> +     if (error == EAGAIN) {
>               xfs_ifunlock(ip);
>               return error;
>       }

The bad commit according to grsec's statement is

> From b1438f477934f5a4d5a44df26f3079a7575d5946 Mon Sep 17 00:00:00 2001
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> Date: Wed, 18 May 2016 13:53:42 +1000
> Subject: [PATCH] xfs: xfs_iflush_cluster fails to abort on error

Would be nice to get some clarification.

Thanks.


-- 
Regards,
Thomas

<Prev in Thread] Current Thread [Next in Thread>