android_kernel_xiaomi_sm8350/drivers/parport
tuhaowen 47b3dce100 dev/parport: fix the array out-of-bounds risk
[ Upstream commit ab11dac93d2d568d151b1918d7b84c2d02bacbd5 ]

Fixed array out-of-bounds issues caused by sprintf
by replacing it with snprintf for safer data copying,
ensuring the destination buffer is not overflowed.

Below is the stack trace I encountered during the actual issue:

[ 66.575408s] [pid:5118,cpu4,QThread,4]Kernel panic - not syncing: stack-protector:
Kernel stack is corrupted in: do_hardware_base_addr+0xcc/0xd0 [parport]
[ 66.575408s] [pid:5118,cpu4,QThread,5]CPU: 4 PID: 5118 Comm:
QThread Tainted: G S W O 5.10.97-arm64-desktop #7100.57021.2
[ 66.575439s] [pid:5118,cpu4,QThread,6]TGID: 5087 Comm: EFileApp
[ 66.575439s] [pid:5118,cpu4,QThread,7]Hardware name: HUAWEI HUAWEI QingYun
PGUX-W515x-B081/SP1PANGUXM, BIOS 1.00.07 04/29/2024
[ 66.575439s] [pid:5118,cpu4,QThread,8]Call trace:
[ 66.575469s] [pid:5118,cpu4,QThread,9] dump_backtrace+0x0/0x1c0
[ 66.575469s] [pid:5118,cpu4,QThread,0] show_stack+0x14/0x20
[ 66.575469s] [pid:5118,cpu4,QThread,1] dump_stack+0xd4/0x10c
[ 66.575500s] [pid:5118,cpu4,QThread,2] panic+0x1d8/0x3bc
[ 66.575500s] [pid:5118,cpu4,QThread,3] __stack_chk_fail+0x2c/0x38
[ 66.575500s] [pid:5118,cpu4,QThread,4] do_hardware_base_addr+0xcc/0xd0 [parport]

Signed-off-by: tuhaowen <tuhaowen@uniontech.com>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20240708080430.8221-1-tuhaowen@uniontech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:33:43 +02:00
..
BUGS-parport Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
daisy.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
ieee1284_ops.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
ieee1284.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
Kconfig docs: kbuild: convert docs to ReST and rename to *.rst 2019-06-14 14:21:21 -06:00
Makefile parport: Add missing newline at end of file 2019-08-05 17:56:45 +02:00
multiface.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parport_amiga.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
parport_atari.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
parport_ax88796.c Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
parport_cs.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
parport_gsc.c parport: Standardize use of printmode 2024-08-19 05:33:43 +02:00
parport_gsc.h Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina 2019-07-01 17:41:24 -07:00
parport_ip32.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
parport_mfc3.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
parport_pc.c parport: Standardize use of printmode 2024-08-19 05:33:43 +02:00
parport_serial.c parport: parport_serial: Add Brainboxes device IDs and geometry 2024-01-25 14:34:21 -08:00
parport_sunbpp.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
probe.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
procfs.c dev/parport: fix the array out-of-bounds risk 2024-08-19 05:33:43 +02:00
share.c parport: Convert printk(KERN_<LEVEL> to pr_<level>( 2024-08-19 05:33:43 +02:00
TODO-parport Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00