| From 98f60b0a14dc84bc59d6f7fa5492107a13cfd93a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 20 May 2021 15:59:45 +0800 |
| Subject: arm64: perf: Convert snprintf to sysfs_emit |
| |
| From: Tian Tao <tiantao6@hisilicon.com> |
| |
| [ Upstream commit a5740e955540181f4ab8f076cc9795c6bbe4d730 ] |
| |
| Use sysfs_emit instead of snprintf to avoid buf overrun,because in |
| sysfs_emit it strictly checks whether buf is null or buf whether |
| pagesize aligned, otherwise it returns an error. |
| |
| Signed-off-by: Tian Tao <tiantao6@hisilicon.com> |
| Link: https://lore.kernel.org/r/1621497585-30887-1-git-send-email-tiantao6@hisilicon.com |
| Signed-off-by: Will Deacon <will@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm64/kernel/perf_event.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c |
| index 11852e05ee32..cdb3d4549b3a 100644 |
| --- a/arch/arm64/kernel/perf_event.c |
| +++ b/arch/arm64/kernel/perf_event.c |
| @@ -312,7 +312,7 @@ static ssize_t slots_show(struct device *dev, struct device_attribute *attr, |
| struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu); |
| u32 slots = cpu_pmu->reg_pmmir & ARMV8_PMU_SLOTS_MASK; |
| |
| - return snprintf(page, PAGE_SIZE, "0x%08x\n", slots); |
| + return sysfs_emit(page, "0x%08x\n", slots); |
| } |
| |
| static DEVICE_ATTR_RO(slots); |
| -- |
| 2.30.2 |
| |