On 2024/02/15 14:53, Stuart Henderson wrote:
> On 2024/02/13 08:44, Miod Vallat wrote:
> > > Does this help?
> > > 
> > > diff --git sys/dev/wscons/wskbd.c sys/dev/wscons/wskbd.c
> > > index 7631cd5f701..dd65f61ce63 100644
> > > --- sys/dev/wscons/wskbd.c
> > > +++ sys/dev/wscons/wskbd.c
> > > @@ -1229,7 +1229,10 @@ getkeyrepeat:
> > >  
> > >   case WSKBDIO_GETENCODINGS:
> > >           uedp = (struct wskbd_encoding_data *)data;
> > > -         for (count = 0; sc->id->t_keymap.keydesc[count].name; count++)
> > > +         for (count = 0;
> > > +              sc->id->t_keymap.keydesc != NULL &&
> > > +              sc->id->t_keymap.keydesc[count].name;
> > > +              count++)
> > >                   ;
> > >           if (uedp->nencodings > count)
> > >                   uedp->nencodings = count;
> > > 
> > 
> > This ought to fix the panic Stuart is getting.
> > 
> > However I don't understand how t_keymap.keydesc can be a NULL pointer
> > (yet it obviousl was); it is initialized at wskbd attachment time with
> > valid data.
> > 
> > Stuart, did you issue specific wsconsctl or wsconscfg operations in this
> > VM prior to running 'kbd -l'? What are the contents of
> > /etc/wsconsctl.conf, if it exists?
> 
> wsconsctl.conf has this:
> 
> keyboard.map+="keycode 57 = Control_L"

It still crashes with that commented-out.

> I haven't tried the diff yet, I need to clear out the sessions open on
> that machine first (and make sure as many daemons as possible are shut
> down, it usually suffers quite badly from fs problems after crashes).

Diff does fix the crash -

# kbd -l
tables available for pc-xt/pc-at keyboard:
encoding


# 

Reply via email to