On Monday, 3. April 2006 07:19, you wrote:
> diff ./include/linux/sunrpc/svc.h~current~ ./include/linux/sunrpc/svc.h
> --- ./include/linux/sunrpc/svc.h~current~ 2006-04-03 15:12:15.000000000 +1000
> +++ ./include/linux/sunrpc/svc.h 2006-04-03 15:12:15.000000000 +1000
> @@ -197,15 +197,13 @@ svc_take_res_page(struct svc_rqst *rqstp
> return rqstp->rq_respages[rqstp->rq_resused++];
> }
>
> -static inline int svc_take_page(struct svc_rqst *rqstp)
> +static inline void svc_take_page(struct svc_rqst *rqstp)
> {
> - if (rqstp->rq_arghi <= rqstp->rq_argused)
> - return -ENOMEM;
> + WARN_ON(rqstp->rq_arghi <= rqstp->rq_argused);
> rqstp->rq_arghi--;
> rqstp->rq_respages[rqstp->rq_resused] =
> rqstp->rq_argpages[rqstp->rq_arghi];
> rqstp->rq_resused++;
> - return 0;
> }
What will prevent underflow of ->rq_arghi and overflow of ->rq_resused here?
Before that change, this code would return without
modifying both members here on error.
Now this code makes the error worse with each call.
Just ignore me, if this is ok :-)
Regards
Ingo Oeser
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]