lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180523182037.GO23723@intel.com>
Date:   Wed, 23 May 2018 21:20:37 +0300
From:   Ville Syrjälä <ville.syrjala@...ux.intel.com>
To:     Vito Caputo <vcaputo@...garu.com>
Cc:     linux-kernel <linux-kernel@...r.kernel.org>, daniel.vetter@...ll.ch
Subject: Re: [REGRESSION] v4.17-rc4: xgalaga fails to start in fullscreen
 (default) mode

On Wed, May 23, 2018 at 11:06:00AM -0700, Vito Caputo wrote:
> On Wed, May 23, 2018 at 04:18:05PM +0300, Ville Syrjälä wrote:
> > On Wed, May 23, 2018 at 02:49:19AM -0700, Vito Caputo wrote:
> > > On Mon, May 21, 2018 at 02:57:18PM -0700, Vito Caputo wrote:
> > > > On Mon, May 21, 2018 at 12:53:20PM -0700, Vito Caputo wrote:
> > > > > Hello all,
> > > > > 
> > > > > 4.17-rc4 (my latest kernel ATM) consistently fails to start xgalaga
> > > > > without -window.  I will try find time to build the latest rc this
> > > > > evening.
> > > > > 
> > > > > > ~$ xgalaga
> > > > > > X Error of failed request:  BadValue (integer parameter out of range for operation)
> > > > > >   Major opcode of failed request:  152 (XFree86-VidModeExtension)
> > > > > >   Minor opcode of failed request:  10 (XF86VidModeSwitchToMode)
> > > > > >   Value in failed request:  0x120004e
> > > > > >   Serial number of failed request:  199
> > > > > >   Current serial number in output stream:  203
> > > > > 
> > > > > Haven't dug into this much yet, only did a perfunctory check by booting into a
> > > > > few older kernels (4.11, 4.12, 4.16) and the problem is absent on all of them.
> > > > > It appears to be a 4.17-specific regression right now.
> > > > > 
> > > > > Also observed, though this is surely a different regression, the game
> > > > > ran like molasses with -window, showing some prominent kworkers in top:
> > > > > 
> > > > >   692 vc        20   0  312852  45884  20556 R  32.0  1.2   0:08.69 Xorg           
> > > > >   102 root      20   0       0      0      0 R  11.2  0.0   0:01.43 kworker/1:3    
> > > > >    94 root      20   0       0      0      0 I   8.9  0.0   0:00.83 kworker/0:2    
> > > > >   696 vc        20   0   39948   4124   2912 S   1.0  0.1   0:05.57 vwm            
> > > > >   902 vc        30  10   46372   4144   3500 S   0.7  0.1   0:00.08 xgalaga        
> > > > >   891 vc        30  10   44924   3868   3156 R   0.3  0.1   0:00.09 top            
> > > > >   903 vc        30  10    4180   1184   1100 S   0.3  0.0   0:00.01 xgal.sndsrv.oss
> > > > > 
> > > > > The windowed performance issue was observed on the older kernels tested
> > > > > as well, though 4.11 felt better and didn't have the busy kworkers.
> > > > > 
> > > > > I have not attempted to play xgalaga for ages, but it used to be perfectly
> > > > > playable on this machine in windowed mode when I last did.
> > > > > 
> > > > > Machine is the venerable Thinkpad X61s, 1.8Ghz, Debian 9, config attached.
> > > > > 
> > > > 
> > > > Just built and booted v4.17-rc6, still broken.
> > > 
> > > Bisected to:
> > > 
> > > e995ca0b8139c5f6807095464e969931b443f55a is the first bad commit
> > > commit e995ca0b8139c5f6807095464e969931b443f55a
> > > Author: Ville Syrjälä <ville.syrjala@...ux.intel.com>
> > > Date:   Tue Nov 14 20:32:58 2017 +0200
> > > 
> > >     drm/i915: Provide a device level .mode_valid() hook
> > >     
> > >     We never support certain mode flags etc. Reject those early on in the
> > >     mode_config.mode_valid() hook. That allows us to remove some duplicated
> > >     checks from the connector .mode_valid() hooks, and it guarantees that
> > >     we never see those flags even from user mode as the
> > >     mode_config.mode_valid() hooks gets executed for those as well.
> > >     
> > >     Signed-off-by: Ville Syrjälä <ville.syrjala@...ux.intel.com>
> > >     Link: https://patchwork.freedesktop.org/patch/msgid/20171114183258.16976-11-ville.syrjala@linux.intel.com
> > >     Reviewed-by: Daniel Vetter <daniel.vetter@...ll.ch>
> > 
> > Hmm. I guess xgalaga passes some garbage in via xf86vidmode which
> > the ddx doesn't validate before passing it on to the kernel. So far
> > I can't reproduce the problem here unfortnately.
> > 
> > Can you try the following patch and reproduce the problem with
> > drm.debug=0xe passed to the kernel so that we can seewhat the bad
> > modeline looks like?
> > 
> 
> dmesg after xgalaga fails:
> 
> ```
> [   75.617448] [drm:drm_mode_convert_umode] Bad user mode:
> [   75.617455] [drm:drm_mode_debug_printmodeline] Modeline 57:"800x600" 0 81000 800 832 928 1080 600 600 602 625 0x0 0x25

0x20 == dblscan

> [   75.617458] [drm:drm_mode_setcrtc] Invalid mode
> ```
> 
> xrandr --verbose:
> 
> ```
> Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
> LVDS-1 connected primary 1024x768+0+0 (0x44) normal (normal left inverted right x axis y axis) 246mm x 184mm
> 	Identifier: 0x41
> 	Timestamp:  23375
> 	Subpixel:   horizontal rgb
> 	Gamma:      1.0:1.0:1.0
> 	Brightness: 1.0
> 	Clones:    
> 	CRTC:       0
> 	CRTCs:      0 1
> 	Transform:  1.000000 0.000000 0.000000
> 	            0.000000 1.000000 0.000000
> 	            0.000000 0.000000 1.000000
> 	           filter: 
> 	EDID: 
> 		00ffffffffffff0030ae004000000000
> 		3010010380191278eafe609555518726
> 		22505421080001010101010101010101
> 		01010101010128150040410026301888
> 		3600f6b800000018ed10004041002630
> 		18883600f6b9000000180000000f0061
> 		43326143280f01000daf0714000000fe
> 		004e31323158352d4c303620202000ed
> 	scaling mode: Full aspect 
> 		supported: Full, Center, Full aspect
> 	non-desktop: 0 
> 		range: (0, 1)
> 	link-status: Good 
> 		supported: Good, Bad
>   1024x768 (0x44) 54.160MHz -HSync -VSync *current +preferred
>         h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  40.30KHz
>         v: height  768 start  771 end  777 total  806           clock  50.00Hz
>   1024x768 (0x45) 65.000MHz -HSync -VSync
>         h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
>         v: height  768 start  771 end  777 total  806           clock  60.00Hz
>   1024x768 (0x46) 43.330MHz -HSync -VSync
>         h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  32.24KHz
>         v: height  768 start  771 end  777 total  806           clock  40.00Hz
>   960x720 (0x47) 117.000MHz -HSync +VSync DoubleScan
>         h: width   960 start 1024 end 1128 total 1300 skew    0 clock  90.00KHz
>         v: height  720 start  720 end  722 total  750           clock  60.00Hz
>   928x696 (0x48) 109.150MHz -HSync +VSync DoubleScan
>         h: width   928 start  976 end 1088 total 1264 skew    0 clock  86.35KHz
>         v: height  696 start  696 end  698 total  719           clock  60.05Hz

Where are all these dblscan modes coming from?

Did you add them manually or are they being automatically
generated by something?

-- 
Ville Syrjälä
Intel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ