Mark res_counter_charge(_locked) with __must_check

Ignoring their return values may result in counter underflow in the future -
when the value charged will be uncharged (or in "leaks" - when the value is
not uncharged).

This also prevents from using charging routines to decrement the
counter value (i.e. uncharge it) ;)

(Current code works OK with res_counter, however :) )

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Pavel Emelyanov 2008-07-25 01:46:55 -07:00 committed by Linus Torvalds
parent 7e9abd89cb
commit f2992db2a4

View file

@ -95,8 +95,10 @@ void res_counter_init(struct res_counter *counter);
* counter->limit _locked call expects the counter->lock to be taken * counter->limit _locked call expects the counter->lock to be taken
*/ */
int res_counter_charge_locked(struct res_counter *counter, unsigned long val); int __must_check res_counter_charge_locked(struct res_counter *counter,
int res_counter_charge(struct res_counter *counter, unsigned long val); unsigned long val);
int __must_check res_counter_charge(struct res_counter *counter,
unsigned long val);
/* /*
* uncharge - tell that some portion of the resource is released * uncharge - tell that some portion of the resource is released