Re: Indirect call in vesafb driver

2019-03-20 Thread Gerd Hoffmann
On Tue, Mar 19, 2019 at 04:46:51PM +, Alan Cox wrote:
> On Wed, 13 Mar 2019 17:54:18 +0300
> Alexander Pateenok  wrote:
> 
> > Hi,
> > 
> > There're several indirect calls in inline assembly in vesafb driver
> > (drivers/video/fbdev/vesafb.c), and these calls cannot be automatically
> > changed to retpolines. It's in vesafb_pan_display():
> > 
> >73__asm__ __volatile__(
> >74"call *(%%edi)"
> > 
> > and in vesa_setpalette():
> > 
> >   113__asm__ __volatile__(
> >   114 "call *(%%esi)"
> > 
> > Is there need to use CALL_NOSPEC ?
> 
> Vesafb is from the time on the dinosaurs but yes any vesa bios code will
> not be speculatively hardened. I'd also doubt anyone is actually using
> vesafb in the first place but it should use nospec

Note that even when using vesafb the display panning is disabled by
default, and vesa_setpalette() is only used with 8bit depth (256 color
mode).

Also note that only 32bit builds will try to call vesa bios code ...

cheers,
  Gerd

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: Indirect call in vesafb driver

2019-03-19 Thread Alan Cox
On Wed, 13 Mar 2019 17:54:18 +0300
Alexander Pateenok  wrote:

> Hi,
> 
> There're several indirect calls in inline assembly in vesafb driver
> (drivers/video/fbdev/vesafb.c), and these calls cannot be automatically
> changed to retpolines. It's in vesafb_pan_display():
> 
>73__asm__ __volatile__(
>74"call *(%%edi)"
> 
> and in vesa_setpalette():
> 
>   113__asm__ __volatile__(
>   114 "call *(%%esi)"
> 
> Is there need to use CALL_NOSPEC ?

Vesafb is from the time on the dinosaurs but yes any vesa bios code will
not be speculatively hardened. I'd also doubt anyone is actually using
vesafb in the first place but it should use nospec

Alan
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Indirect call in vesafb driver

2019-03-14 Thread Alexander Pateenok
Hi,

There're several indirect calls in inline assembly in vesafb driver
(drivers/video/fbdev/vesafb.c), and these calls cannot be automatically
changed to retpolines. It's in vesafb_pan_display():

   73__asm__ __volatile__(
   74"call *(%%edi)"

and in vesa_setpalette():

  113__asm__ __volatile__(
  114 "call *(%%esi)"

Is there need to use CALL_NOSPEC ?

Thanks, Alex
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel