On Mon, Sep 6, 2021 at 11:43 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > The "> max" tests should be ">= max" to prevent an out of bounds access > on the next lines. > > Fixes: e1a4541ec0b9 ("ceph: flush the mdlog before waiting on unsafe reqs") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > fs/ceph/caps.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c > index 26c5029629a4..ebbad9080422 100644 > --- a/fs/ceph/caps.c > +++ b/fs/ceph/caps.c > @@ -2260,7 +2260,7 @@ static int unsafe_request_wait(struct inode *inode) > list_for_each_entry(req, &ci->i_unsafe_dirops, > r_unsafe_dir_item) { > s = req->r_session; > - if (unlikely(s->s_mds > max)) { > + if (unlikely(s->s_mds >= max)) { > spin_unlock(&ci->i_unsafe_lock); > goto retry; > } > @@ -2274,7 +2274,7 @@ static int unsafe_request_wait(struct inode *inode) > list_for_each_entry(req, &ci->i_unsafe_iops, > r_unsafe_target_item) { > s = req->r_session; > - if (unlikely(s->s_mds > max)) { > + if (unlikely(s->s_mds >= max)) { > spin_unlock(&ci->i_unsafe_lock); > goto retry; > } > -- > 2.20.1 > Applied. Thanks, Ilya