Indirect call in vesafb driver

Alan Cox gnomes at lxorguk.ukuu.org.uk
Tue Mar 19 16:46:51 UTC 2019


On Wed, 13 Mar 2019 17:54:18 +0300
Alexander Pateenok <pateenoc at gmail.com> 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


More information about the dri-devel mailing list