X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mm%2Ffilemap_xip.c;h=427dfe3ce78c68eebe0afde4636b6fdc91ecdec5;hb=2c5510d4e84988ea95f86488d1e23244284bc1ed;hp=0c04615651b7e8b412e85cdeee26365ddee7515c;hpb=a24ba44cf2adf166bbb1028d57ca0f4b636a1ef7;p=~andy%2Flinux diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c index 0c04615651b..427dfe3ce78 100644 --- a/mm/filemap_xip.c +++ b/mm/filemap_xip.c @@ -89,8 +89,8 @@ do_xip_mapping_read(struct address_space *mapping, } } nr = nr - offset; - if (nr > len) - nr = len; + if (nr > len - copied) + nr = len - copied; error = mapping->a_ops->get_xip_mem(mapping, index, 0, &xip_mem, &xip_pfn);