git: DragonFly_RELEASE_6_4 disk/nata: Fix panic caused by 'callouts: malloc limit exceeded'

Aaron LI aly at crater.dragonflybsd.org
Fri Feb 21 21:22:00 PST 2025


commit 6c3ded91a1b1e92b3707045fb1f1db0c0ec0b899
Author: Aaron LI <aly at aaronly.me>
Date:   Sat Feb 22 10:30:27 2025 +0800

    disk/nata: Fix panic caused by 'callouts: malloc limit exceeded'
    
    Call callout_terminate() in ata_free_request() to fix the leak.
    
    There was a callout leak before and could easily cause the following
    panic:
    
    	panic: callouts: malloc limit exceeded
    	cpuid = 1
    	Trace beginning at frame 0xfffff8005cd9d2a8
    	_kmalloc() at _kmalloc+0xb09 0xffffffff80658519
    	_kmalloc() at _kmalloc+0xb09 0xffffffff80658519
    	callout_reset() at callout_reset+0x13f 0xffffffff80687adf
    	ata_begin_transaction() at ata_begin_transaction+0x1a7 0xffffffff8032bf47
    	ata_start() at ata_start+0x190 0xffffffff80330140
    	ata_queue_request() at ata_queue_request+0x100 0xffffffff80330390
    	Debugger("panic")
    
    Reported-by: daftaupe (and others before)
    Patch-by: dillon
    Tested-by: aly

Summary of changes:
 sys/dev/disk/nata/ata-all.h | 1 +
 1 file changed, 1 insertion(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6c3ded91a1b1e92b3707045fb1f1db0c0ec0b899


-- 
DragonFly BSD source repository


More information about the Commits mailing list