Where
-Infinity
0

In the Linux kernel, the following vulnerability has been resolved:

fbdev: ssd1307fb: defer I2C transfers from damage callbacks

The fbdev damage callbacks may run from fbcon while printk has disabled preemption. They currently update the display synchronously, which enters the sleeping I2C transfer path from atomic context.

A complete report from an RK3566 system follows:

[ 258.129004] watchdog: watchdog0: watchdog did not stop! [ 258.129067] BUG: scheduling while atomic: systemd/1/0x00000003 [ 258.129076] Modules linked in: algifhash algifskcipher afalg bnep binfmtmisc lz4hc lz4 zram sndsochdmicodec brcmfmacwcc hciuart fbssd1306(C) fbtft(C) btqca btrtl btintel btsdio sndsocsimplecard motorcomm pwmfan sndsocsimplecardutils ssd130xspi nlsiso88591 ssd130x btbcm drmshmemhelper displayconnector brcmfmac ssd1307fb brcmutil bluetooth cfg80211 rfkill sndsocrockchipi2stdm sndsocrk817 hantrovpu sndsoccore sndcompress sndpcmdmaengine v4l2vp9 sndpcm v4l2h264 rockchiprga sndtimer rkcrypto2 spirockchipsfc videobuf2dmacontig snd sm3generic v4l2mem2mem videobuf2dmasg dwmacrk sm3 soundcore videobuf2memops videobuf2v4l2 stmmacplatform dwhdmicec videodev videobuf2common dwhdmii2saudio stmmac rk817charger pcsxpcs mc cpufreqdt schfqcodel iptables xtables autofs4 [ 258.129215] Preemption disabled at: [ 258.129216] [<ffff80008012f96c>] vprintkemit+0x11c/0x340 [ 258.129234] CPU: 0 PID: 1 Comm: systemd Tainted: G C 6.6.0-rc5-rockchip-rk356x #4 [ 258.129239] Hardware name: Rockchip RK3566 OPi 3B (DT) [ 258.129243] Call trace: [ 258.129245] dumpbacktrace+0xa0/0x128 [ 258.129252] showstack+0x20/0x38 [ 258.129256] dumpstacklvl+0x60/0xb0 [ 258.129265] dumpstack+0x18/0x28 [ 258.129269] schedulebug+0xa0/0xc8 [ 258.129274] schedule+0x9ac/0xd30 [ 258.129279] schedule+0x60/0x100 [ 258.129282] scheduletimeout+0x194/0x338 [ 258.129289] rk3xi2cxfercommon.isra.0+0x384/0x498 [ 258.129296] rk3xi2cxfer+0x20/0x60 [ 258.129300] i2ctransfer+0x194/0x648 [ 258.129308] i2ctransfer+0x9c/0x130 [ 258.129313] i2ctransferbufferflags+0x64/0x98 [ 258.129318] ssd1307fbupdaterect+0x42c/0x560 [ssd1307fb] [ 258.129334] ssd1307fbdefioimageblit+0x34/0x50 [ssd1307fb] [ 258.129343] softcursor+0x13c/0x210 [ 258.129350] bitcursor+0x2dc/0x550 [ 258.129354] fbconcursor+0xec/0x108 [ 258.129359] hidecursor+0x44/0xc8 [ 258.129365] vtconsoleprint+0x398/0x3b0 [ 258.129370] consoleflushall.isra.0+0x17c/0x410 [ 258.129377] consoleunlock+0x4c/0x100 [ 258.129382] vprintkemit+0x1c8/0x340 [ 258.129386] vprintkdefault+0x40/0x58 [ 258.129389] vprintk+0xb8/0xd0 [ 258.129392] printk+0x68/0x98 [ 258.129398] watchdogrelease+0x170/0x230 [ 258.129404] fput+0xbc/0x288 [ 258.129409] fputsync+0x58/0x70 [ 258.129413] arm64sysclose+0x40/0x90 [ 258.129419] invokesyscall+0x4c/0x118 [ 258.129426] el0svccommon.constprop.0+0x48/0xf0 [ 258.129432] doel0svc+0x24/0x38 [ 258.129437] el0svc+0x48/0x100 [ 258.129443] el0t64synchandler+0xc0/0xc8 [ 258.129448] el0t64sync+0x190/0x198 [ 258.573087] ------------[ cut here ]------------ [ 258.573098] DEBUGLOCKSWARNON(val > preemptcount()) [ 258.573111] WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:5871 preemptcountsub+0x9c/0x148 [ 258.573130] Modules linked in: algifhash algifskcipher afalg bnep binfmtmisc lz4hc lz4 zram sndsochdmicodec brcmfmacwcc hciuart fbssd1306(C) fbtft(C) btqca btrtl btintel btsdio sndsocsimplecard motorcomm pwmfan sndsocsimplecardutils ssd130xspi nlsiso88591 ssd130x btbcm drmshmemhelper displayconnector brcmfmac ssd1307fb brcmutil bluetooth cfg80211 rfkill sndsocrockchipi2stdm sndsocrk817 hantrovpu sndsoccore sndcompress sndpcmdmaengine v4l2vp ---truncated---

First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203