From: Dan Carpenter Date: Fri, 5 Jun 2015 09:22:57 +0000 (+0300) Subject: Staging: lustre: ptlrpc: signedness bug in high_priority_ratio_store() X-Git-Tag: firefly_0821_release~176^2~1545^2~352 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b815555df8ede8aca07ff72d3fbe7727a008620e;p=firefly-linux-kernel-4.4.55.git Staging: lustre: ptlrpc: signedness bug in high_priority_ratio_store() We want to store a non-negative int here. The original code had a check for unsigned long less than zero which is a mistake but also casting from a positive long to an int can result in a negative number. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c index c04ae50c2c29..aaaabbf5f1b9 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c +++ b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c @@ -1035,9 +1035,9 @@ static ssize_t high_priority_ratio_store(struct kobject *kobj, struct ptlrpc_service *svc = container_of(kobj, struct ptlrpc_service, srv_kobj); int rc; - unsigned long val; + int val; - rc = kstrtoul(buffer, 10, &val); + rc = kstrtoint(buffer, 10, &val); if (rc < 0) return rc;