• tuhaowen's avatar
    dev/parport: fix the array out-of-bounds risk · ab11dac9
    tuhaowen authored
    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: default avatartuhaowen <tuhaowen@uniontech.com>
    Cc: stable <stable@kernel.org>
    Link: https://lore.kernel.org/r/20240708080430.8221-1-tuhaowen@uniontech.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ab11dac9
procfs.c 12.2 KB