lkml.org 
[lkml]   [2020]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 072/204] ocfs2: change slot number type s16 to u16
    Date
    From: Junxiao Bi <junxiao.bi@oracle.com>

    commit 38d51b2dd171ad973afc1f5faab825ed05a2d5e9 upstream.

    Dan Carpenter reported the following static checker warning.

    fs/ocfs2/super.c:1269 ocfs2_parse_options() warn: '(-1)' 65535 can't fit into 32767 'mopt->slot'
    fs/ocfs2/suballoc.c:859 ocfs2_init_inode_steal_slot() warn: '(-1)' 65535 can't fit into 32767 'osb->s_inode_steal_slot'
    fs/ocfs2/suballoc.c:867 ocfs2_init_meta_steal_slot() warn: '(-1)' 65535 can't fit into 32767 'osb->s_meta_steal_slot'

    That's because OCFS2_INVALID_SLOT is (u16)-1. Slot number in ocfs2 can be
    never negative, so change s16 to u16.

    Fixes: 9277f8334ffc ("ocfs2: fix value of OCFS2_INVALID_SLOT")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
    Reviewed-by: Gang He <ghe@suse.com>
    Cc: Mark Fasheh <mark@fasheh.com>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Junxiao Bi <junxiao.bi@oracle.com>
    Cc: Changwei Ge <gechangwei@live.cn>
    Cc: Jun Piao <piaojun@huawei.com>
    Cc: <stable@vger.kernel.org>
    Link: http://lkml.kernel.org/r/20200627001259.19757-1-junxiao.bi@oracle.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ocfs2/ocfs2.h | 4 ++--
    fs/ocfs2/suballoc.c | 4 ++--
    fs/ocfs2/super.c | 4 ++--
    3 files changed, 6 insertions(+), 6 deletions(-)

    --- a/fs/ocfs2/ocfs2.h
    +++ b/fs/ocfs2/ocfs2.h
    @@ -326,8 +326,8 @@ struct ocfs2_super
    spinlock_t osb_lock;
    u32 s_next_generation;
    unsigned long osb_flags;
    - s16 s_inode_steal_slot;
    - s16 s_meta_steal_slot;
    + u16 s_inode_steal_slot;
    + u16 s_meta_steal_slot;
    atomic_t s_num_inodes_stolen;
    atomic_t s_num_meta_stolen;

    --- a/fs/ocfs2/suballoc.c
    +++ b/fs/ocfs2/suballoc.c
    @@ -879,9 +879,9 @@ static void __ocfs2_set_steal_slot(struc
    {
    spin_lock(&osb->osb_lock);
    if (type == INODE_ALLOC_SYSTEM_INODE)
    - osb->s_inode_steal_slot = slot;
    + osb->s_inode_steal_slot = (u16)slot;
    else if (type == EXTENT_ALLOC_SYSTEM_INODE)
    - osb->s_meta_steal_slot = slot;
    + osb->s_meta_steal_slot = (u16)slot;
    spin_unlock(&osb->osb_lock);
    }

    --- a/fs/ocfs2/super.c
    +++ b/fs/ocfs2/super.c
    @@ -78,7 +78,7 @@ struct mount_options
    unsigned long commit_interval;
    unsigned long mount_opt;
    unsigned int atime_quantum;
    - signed short slot;
    + unsigned short slot;
    int localalloc_opt;
    unsigned int resv_level;
    int dir_resv_level;
    @@ -1334,7 +1334,7 @@ static int ocfs2_parse_options(struct su
    goto bail;
    }
    if (option)
    - mopt->slot = (s16)option;
    + mopt->slot = (u16)option;
    break;
    case Opt_commit:
    if (match_int(&args[0], &option)) {

    \
     
     \ /
      Last update: 2020-08-20 15:09    [W:5.546 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site