Hi, On Thu, Jun 10, 2021 at 5:53 AM Bastien Nocera <hadess@xxxxxxxxxx> wrote: > > On Thu, 2021-06-10 at 14:45 +0200, Bastien Nocera wrote: > > On Mon, 2021-05-03 at 15:12 +0200, Benjamin Berg wrote: > > > From: Benjamin Berg <bberg@xxxxxxxxxx> > > > > > > The kernel will always send exactly one event, but the size of the > > > passed struct will depend on the length of the submitted read() and > > > the > > > kernel version. i.e. the interface can be extended and we need to > > > expect > > > for a read to be longer than expected if we ask for it. > > > > > > Fix this by only requesting the needed length and explicitly check > > > the > > > length against the V1 version of the structure to make the code a bit > > > more future proof in case the internal copy of the struct is updated > > > to > > > contain new fields. > > > > This fixes a bug in GNOME where to enable Bluetooth, we removed a soft > > rfkill block on the Bluetooth interface. > > > > Without this, the bluetooth rfkill gets unblocked, but bluetoothd > > doesn't see it as unblocked so never powers it on, causing the UI to > > appear broken, as we expect Bluetooth devices to be either blocked > > through rfkill, or powered on. > > > > The equivalent gnome-settings-daemon fix (which deals with rfkill) was > > reviewed by Hans de Goede: > > https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/234 > > > > Benjamin, it might be worth resending this with a better commit message > > explaining exactly what it fixes and referencing the gnome-bluetooth > > bug: > > https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/issues/38 > > > > It's also been pushed to Fedora rawhide and Fedora 34: > https://bodhi.fedoraproject.org/updates/FEDORA-2021-2cd83da751 I missed this one for some reason, it has been applied now. -- Luiz Augusto von Dentz