Forums before death by AOL, social media and spammers... "We can't have nice things"
|    linux.debian.kernel    |    Debian kernel discussions    |    2,884 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 2,070 of 2,884    |
|    William Burrow to wbkernel@gmail.com    |
|    Bug#1123750: linux: regression: virtual     |
|    27 Dec 25 03:10:01    |
   
   XPost: linux.debian.bugs.dist   
   From: wbkernel@gmail.com   
      
   Hi, did some more work.   
   The problem with changing the variable, ch, to any fixed value is that   
   when charcnt is 0, then whatever is being evaluated is clobbered. The   
   reason for charcount being zero must be fixed. The following log was   
   produced from the diff shown at the end of this message (only   
   bit_putcs_aligned() seems to be called):   
   .   
   -------------------------- log -------------------------   
   2025-12-26T20:30:02.666098-04:00 abc kernel: [ 52.640518] ** **   
   bit_putcs_aligned: ---------->>   
   2025-12-26T20:30:02.666099-04:00 abc kernel: [ 52.640518] ** **   
   bit_putcs_aligned: cnt: 12   
   2025-12-26T20:30:02.666100-04:00 abc kernel: [ 52.640519] ** **   
   bit_putcs_aligned: vc->vc_font.data: 0xffff932c008a8010   
   2025-12-26T20:30:02.666101-04:00 abc kernel: [ 52.640519] ** **   
   bit_putcs_aligned: srcorig: 0xffff932c008a8210   
   2025-12-26T20:30:02.666102-04:00 abc kernel: [ 52.640520] ** **   
   bit_putcs_aligned: before: ch: 0x20   
   2025-12-26T20:30:02.666103-04:00 abc kernel: [ 52.640520] ** **   
   bit_putcs_aligned: after: ch: 0x20   
   2025-12-26T20:30:02.666104-04:00 abc kernel: [ 52.640521] ** **   
   bit_putcs_aligned: charcnt: 0x0   
   2025-12-26T20:30:02.666104-04:00 abc kernel: [ 52.640522] ** **   
   bit_putcs_aligned: cellsize: 0x10   
   2025-12-26T20:30:02.666105-04:00 abc kernel: [ 52.640522] ** **   
   bit_putcs_aligned: ch * cellsize: 0x200   
   2025-12-26T20:30:02.666106-04:00 abc kernel: [ 52.640523] ** **   
   bit_putcs_aligned: srcnew: 0xffff932c008a8210   
   2025-12-26T20:30:02.666107-04:00 abc kernel: [ 52.640523] ** **   
   bit_putcs_aligned: srcorig - srcnew: 0x0   
   2025-12-26T20:30:02.666108-04:00 abc kernel: [ 52.640525] ** **   
   bit_putcs_aligned: srcnew   
   2025-12-26T20:30:02.666109-04:00 abc kernel: [ 52.640525] ** **   
   bit_putcs_aligned: <<----------   
   2025-12-26T20:30:02.666110-04:00 abc kernel: [ 52.640526] ** **   
   bit_putcs_aligned: ---------->>   
   2025-12-26T20:30:02.666121-04:00 abc kernel: [ 52.640526] ** **   
   bit_putcs_aligned: cnt: 11   
   2025-12-26T20:30:02.666123-04:00 abc kernel: [ 52.640527] ** **   
   bit_putcs_aligned: vc->vc_font.data: 0xffff932c008a8010   
   2025-12-26T20:30:02.666124-04:00 abc kernel: [ 52.640527] ** **   
   bit_putcs_aligned: srcorig: 0xffff932c008a8320   
   2025-12-26T20:30:02.666125-04:00 abc kernel: [ 52.640528] ** **   
   bit_putcs_aligned: before: ch: 0x31   
   2025-12-26T20:30:02.666125-04:00 abc kernel: [ 52.640528] ** **   
   bit_putcs_aligned: after: ch: 0x20 <<<--- CLOBBERED   
   2025-12-26T20:30:02.666126-04:00 abc kernel: [ 52.640529] ** **   
   bit_putcs_aligned: charcnt: 0x0   
   2025-12-26T20:30:02.666127-04:00 abc kernel: [ 52.640529] ** **   
   bit_putcs_aligned: cellsize: 0x10   
   2025-12-26T20:30:02.666128-04:00 abc kernel: [ 52.640530] ** **   
   bit_putcs_aligned: ch * cellsize: 0x200   
   2025-12-26T20:30:02.666129-04:00 abc kernel: [ 52.640530] ** **   
   bit_putcs_aligned: srcnew:   
   0xffffjjjjjjjjjjjjjjjjj932c008a8210   
   2025-12-26T20:30:02.666130-04:00 abc kernel: [ 52.640531] ** **   
   bit_putcs_aligned: srcorig - srcnew: 0x110   
   2025-12-26T20:30:02.666130-04:00 abc kernel: [ 52.640531] ** **   
   bit_putcs_aligned: srcnew   
   2025-12-26T20:30:02.666132-04:00 abc kernel: [ 52.640531] ** **   
   bit_putcs_aligned: <<----------   
   -------------------------- log -------------------------   
   .   
   Here is the patch that produced this log. DO NOT work in the vtty   
   with this patch, it will fill your logs and maybe make your machine   
   unbootable. Word to the wise.   
   .   
   -------------------------- patch to generate log --------------------------   
   --- a/drivers/video/fbdev/core/bitblit.c 2025-12-26   
   14:46:52.270645363 -0400   
   +++ b/drivers/video/fbdev/core/bitblit.c 2025-12-26   
   20:21:38.096907035 -0400   
   @@ -82,13 +82,35 @@   
    unsigned int charcnt = vc->vc_font.charcount;   
    u32 idx = vc->vc_font.width >> 3;   
    u8 *src;   
   + u16 ch = 0;   
   + u16 prech = 0;   
   + u8 * srcnew, * srcorig;   
      
    while (cnt--) {   
   - u16 ch = scr_readw(s++) & charmask;   
   -   
   - if (ch >= charcnt)   
   - ch = 0;   
   - src = vc->vc_font.data + (unsigned int)ch * cellsize;   
   + prech = scr_readw(s++);   
   + srcorig = vc->vc_font.data + (prech&   
   + charmask)*cellsize;   
   + printk("** ** bit_putcs_aligned: ---------->>\n");   
   + printk("** ** bit_putcs_aligned: cnt: %d\n", cnt);   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca