From b815555df8ede8aca07ff72d3fbe7727a008620e Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 5 Jun 2015 12:22:57 +0300 Subject: [PATCH] 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 --- drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; -- 2.20.1