Message ID | 20210827084310.GA21801@gondor.apana.org.au (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: hisilicon - Fix sscanf format signedness | expand |
On Fri, 2021-08-27 at 16:43 +0800, Herbert Xu wrote: > The function qm_qos_value_init expects an unsigned integer but > is incorrectly supplying a signed format to sscanf. This patch > fixes it. [] > diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c [] > @@ -4191,7 +4191,7 @@ static ssize_t qm_qos_value_init(const char *buf, unsigned long *val) > return -EINVAL; > } > > > - ret = sscanf(buf, "%ld", val); > + ret = sscanf(buf, "%lu", val); > if (ret != QM_QOS_VAL_NUM) > return -EINVAL; QM_QOS_VAL_NUM seems an especially silly define A direct use of 1 would be _far_ better IMO. $ git grep -w -n QM_QOS_VAL_NUM drivers/crypto/hisilicon/qm.c:246:#define QM_QOS_VAL_NUM 1 drivers/crypto/hisilicon/qm.c:4189: if (ret != QM_QOS_VAL_NUM)
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 55be00374468..2e9bbec7d1f5 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -4191,7 +4191,7 @@ static ssize_t qm_qos_value_init(const char *buf, unsigned long *val) return -EINVAL; } - ret = sscanf(buf, "%ld", val); + ret = sscanf(buf, "%lu", val); if (ret != QM_QOS_VAL_NUM) return -EINVAL;