lkml.org 
[lkml]   [2011]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] mm: incorrect overflow check in shrink_slab()
    On Thu, 1 Dec 2011 04:20:34 -0500
    Xi Wang <xi.wang@gmail.com> wrote:

    > total_scan is unsigned long, so the overflow check (total_scan < 0)
    > didn't work.
    >
    > Signed-off-by: Xi Wang <xi.wang@gmail.com>

    Nice catch but.... the 'total_scan" shouldn't be long ?
    Rather than type casting ?

    Thanks,
    -Kame
    > ---
    > mm/vmscan.c | 2 +-
    > 1 files changed, 1 insertions(+), 1 deletions(-)
    >
    > diff --git a/mm/vmscan.c b/mm/vmscan.c
    > index a1893c0..46a04e7 100644
    > --- a/mm/vmscan.c
    > +++ b/mm/vmscan.c
    > @@ -270,7 +270,7 @@ unsigned long shrink_slab(struct shrink_control *shrink,
    > delta *= max_pass;
    > do_div(delta, lru_pages + 1);
    > total_scan += delta;
    > - if (total_scan < 0) {
    > + if ((long)total_scan < 0) {
    > printk(KERN_ERR "shrink_slab: %pF negative objects to "
    > "delete nr=%ld\n",
    > shrinker->shrink, total_scan);
    > --
    > 1.7.5.4
    >
    >
    >



    \
     
     \ /
      Last update: 2011-12-01 10:37    [W:0.023 / U:60.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site