Age | Commit message (Collapse) | Author |
|
it back to tty*0.
This is needed to restore working defaults in wsfontload(8).
OK jcs@, mpi@
|
|
NULL. This one is a race caused by clearing the me_evp member before
calling routines that could end up sleeping.
While here, make wsmux_mux_close() look more like the other mux close
routines for increased symmetry.
ok mpi@
Reported-by: syzbot+fb9ad34ba42994683850@syzkaller.appspotmail.com
|
|
conversion steps). it only contains kernel prototypes for 4 interfaces,
all of which legitimately belong in sys/systm.h, which are already included
by all enqueue_randomness() users.
|
|
miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.
suggested and reviewed by miod@
|
|
Suggested by John Carmack. miod agrees a rename would make sense and
explained it was initially thought drivers may need to allocate storage
but in practice they don't need more than 32 bits for an attribute.
ok mpi@
|
|
johnc@armadilloaerospace.com and another one spotted by matthieu@.
ok benno@, matthieu@, deraadt@
|
|
CID 1452993 (BUFFER_SIZE_WARNING)
CID 1453314 (BUFFER_SIZE_WARNING)
ok kettenis@
|
|
CID 1453143
ok kettenis@
|
|
into wsdisplay(4). This code is now exposed through
wsdisplay_brightness_{step,zero,cycle} functions that can be called by
any driver that handles brightnes "hotkeys". These functions take
a wsdisplay(4) device pointer as their first argument, which should be
provided if a clear association between events and a particular display
exist. This is used in wskbd(4). Otherwise NULL can be passed and
the code will direct the request at the first wsdisplay(4) that
implements brightness adjustment.
Tested by many. Fixes brightness keys on x395 and other thinkpads with
AMD graphics.
ok patrick@
|
|
for example, with locking assertions.
OK mpi@, anton@
|
|
|
|
wsmouseopen(); bringing them closer to wsmuxopen(). No functional
change.
|
|
convention for the open routine. This increases the consistency between
wskbd, wsmouse and wsmux.
|
|
devices. This condition is checked early on during open but since the
same routine could end up sleeping before assigning me_evp, a race
against adding the same wscons device to a wsmux could be lost. This in
turn can cause a NULL deference during close.
ok mpi@
Reported-by: syzbot+34c3041bfd96c888c8bd@syzkaller.appspotmail.com
|
|
CID 1453207 (Missing break in switch)
|
|
|
|
ok patrick@, jsg@
|
|
adding more filter properties without cluttering the struct.
OK mpi@, anton@
|
|
FIOGETOWN/SIOCGPGRP/TIOCGPGRP. Do this by determining the meaning of
the ID parameter inside the sigio code. Also add cases for FIOSETOWN
and FIOGETOWN where there have been TIOCSPGRP and TIOCGPGRP before.
These changes allow removing the ID translation from sys_fcntl() and
sys_ioctl().
Idea from NetBSD
OK mpi@, claudio@
|
|
make the structs const so that the data are put in .rodata.
OK mpi@, deraadt@, anton@, bluhm@
|
|
OK ratchov@, visa@
|
|
ok deraadt@, jsg@
|
|
Do not switch from the DETECT state to IGNORE when the last (active) touch
has been released. Otherwise, depending on how events are reported and
synchronized, it may happen that the handler does not switch back to DETECT
when necessary.
|
|
ok patrick@
|
|
|
|
Trivial conversion from ticks to milliseconds where macros already come in
milliseconds and timeout values only need reduction by hz to use the new API.
OK mpi
|
|
determine if the device was opened in read/write mode.
ok mpi@ visa@
|
|
function name in order to reduce grep noise. Also, some of them where referring
to the wrong function.
|
|
after checking for exclusive access, malloc() can sleep in
wsevent_init() opening up for a potential race where more than one
thread may be able open the device. Prevent this by checking if the race
was won after calling malloc().
While here, switch to mallocarray as proposed by both cheloha@ and mpi@
ok mpi@
|
|
previous commit message:
In wsmuxclose(), use the same logic as in wsmuxopen() to determine if
the device was opened in write-only mode. Relying on me_evar being NULL
does not work if the wsmux device was opened first followed attaching it
to another wsmux. Closing the wsmux device first at this stage would
cause the wscons_event queue inherited from the parent wsmux to be
freed. This in turn could cause a panic if an ioctl(WSMUXIO_INJECTEVENT)
command is issued on parent wsmux device.
ok mpi@ visa@
Reported-by: syzbot+f6c2ed7901eb4b970720@syzkaller.appspotmail.com
|
|
OK deraadt@
|
|
when we have a serial console by introducing the notion of a "primary"
graphics device. The primary graphics device is the one set up and
used by firmware (BIOS, UEFI).
The goal is to make sure that wsdisplay0 and drm0 reliably attach to
the primary graphics device such that X works out of the box even
if you have multiple cards or if you are using a serial console.
This also fixes the situation where inteldrm(4) or radeondrm(4) would
take over the console on UEFI systems even if the kernel was booted
with a serial console.
ok jsg@
|
|
already does. Otherwise, malloc could panic if the device minor is sufficiently
large.
ok kettenis@ mpi@ visa@
Reported-by: syzbot+5a77a0fd8810d0785f61@syzkaller.appspotmail.com
|
|
|
|
|
|
|
|
before. The pointer indicates if a wsmux device is attached to another
wsmux, clearing it therefore allows same device to attached again. This
can be problematic since wsmux_do_close() can sleep. Swapping the order
of operations prevents attaching a wsmux which is in a closing state.
ok deraadt@ mpi@ visa@
|
|
of such devices can exhaust the kernel stack due to wsmux_do_open() being
recursive. While here, serialize the operation of stacking a wsmux device.
Joint effort with and ok visa@
|
|
ioctl(WSMUXIO_ADD_DEVICE), two distinct locks of the same type are
acquired. Thus, witness will emit warning. Since acquiring two different
locks of the same type is harmless in this context, relax the witness
check by flagging the locks as RWL_DUPOK.
ok visa@
Reported-by: syzbot+249e483406a1f7843915@syzkaller.appspotmail.com
|
|
|
|
|
|
wsmux. When invoking wsevsrc_* functions on a attached child device,
underlying driver can sleep; this introduces a race where another thread
is able to modify the list leading to all kinds of corruptions.
ok visa@
Reported-by: syzbot+03f7377a9848d7d008c9@syzkaller.appspotmail.com
|
|
|
|
the device was opened in write-only mode. Relying on me_evar being NULL
does not work if the wskbd device was opened first followed by opening a
wsmux device. Closing the wskbd device first at this stage would cause
the wscons_event queue inherited from the wsmux device to be freed. This
in turn could cause a panic if an ioctl(WSMUXIO_INJECTEVENT) command is
issued to the wsmux device.
ok deraadt@ visa@
Reported-by: syzbot+ed88256423ae8d882b8b@syzkaller.appspotmail.com
|
|
C99 inline semantics resulted in undefined symbols.
OK deraadt@ mpi@ dlg@
|
|
|
|
index is used to index an array which could cause a panic if it's negative.
ok deraadt@
Reported-by: syzbot+c5997876fea393e6b948@syzkaller.appspotmail.com
|
|
them consistently.
|
|
ok mpi@ (to the concept)
|
|
error for inappropriate ioctl commands. Prevents a panic caused by using a wsmux
device as the controlling terminal.
ok deraadt@ visa@
Reported-by: syzbot+44bab40fc5a11357d774@syzkaller.appspotmail.com
|