Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1222505 > unrolled thread
| Started by | Xiaolong Ye <yexl@marvell.com> |
|---|---|
| First post | 2015-09-11 05:10 +0200 |
| Last post | 2015-09-11 05:20 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH] fix incorrect initialization code for trans_stat of devfreq Xiaolong Ye <yexl@marvell.com> - 2015-09-11 05:10 +0200
[PATCH] PM / devfreq: Fix incorrect type issue. Xiaolong Ye <yexl@marvell.com> - 2015-09-11 05:20 +0200
| From | Xiaolong Ye <yexl@marvell.com> |
|---|---|
| Date | 2015-09-11 05:10 +0200 |
| Subject | [PATCH] fix incorrect initialization code for trans_stat of devfreq |
| Message-ID | <q7mSR-5Su-1@gated-at.bofh.it> |
Hi, I met trans_stat abnormal issue while debugging devfreq feature for ddr in arm64 system, cat trans_stat would get extremely large time value which is unreasonable, I checked the code and found it was caused by incorrect initialization code, time_in_state is initialized by devm_kzalloc and wrongly use sizeof(unsigned int) as argument, but time_in_state which is defined in struct devfreq actually is defined as unsigned long, so it is ok for 32 bit system, but will cause unexpected result in 64 bit system. Xiaolong Ye (1): PM / devfreq: Fix incorrect type issue. drivers/devfreq/devfreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Xiaolong Ye <yexl@marvell.com> |
|---|---|
| Date | 2015-09-11 05:20 +0200 |
| Subject | [PATCH] PM / devfreq: Fix incorrect type issue. |
| Message-ID | <q7n2x-645-7@gated-at.bofh.it> |
| In reply to | #1222505 |
time_in_state in struct devfreq is defined as unsigned long, so devm_kzalloc should use sizeof(unsigned long) as argument instead of sizeof(unsigned int), otherwise it will cause unexpected result in 64bit system. Signed-off-by: Xiaolong Ye <yexl@marvell.com> Signed-off-by: Kevin Liu <kliu5@marvell.com> --- drivers/devfreq/devfreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index ca1b362..ac9845a 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -482,7 +482,7 @@ struct devfreq *devfreq_add_device(struct device *dev, devfreq->profile->max_state * devfreq->profile->max_state, GFP_KERNEL); - devfreq->time_in_state = devm_kzalloc(dev, sizeof(unsigned int) * + devfreq->time_in_state = devm_kzalloc(dev, sizeof(unsigned long) * devfreq->profile->max_state, GFP_KERNEL); devfreq->last_stat_updated = jiffies; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web