Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #72737
| Path | csiph.com!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!bofh.it!news.nic.it!robomod |
|---|---|
| From | Ben Hutchings <ben@decadent.org.uk> |
| Newsgroups | linux.debian.bugs.dist, linux.debian.maint.boot, linux.debian.kernel |
| Subject | Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel |
| Date | Wed, 25 Aug 2021 01:20:02 +0200 |
| Message-ID | <CPNS2-2uu-3@gated-at.bofh.it> (permalink) |
| References | <BLq9Q-i2-3@gated-at.bofh.it> <CguAx-vn-1@gated-at.bofh.it> <Ciao1-4ER-1@gated-at.bofh.it> <CidlT-6tz-1@gated-at.bofh.it> <CPIfD-7lg-7@gated-at.bofh.it> <CPIfD-7lg-5@gated-at.bofh.it> <CPKAO-jN-7@gated-at.bofh.it> <BLq9Q-i2-3@gated-at.bofh.it> <CPKAO-jN-7@gated-at.bofh.it> |
| X-Mailbox-Line | From debian-bugs-dist-request@lists.debian.org Tue Aug 24 23:15:12 2021 |
| Old-Return-Path | <debbugs@buxtehude.debian.org> |
| X-Spam-Flag | NO |
| X-Spam-Score | -3.95 |
| Reply-To | Ben Hutchings <ben@decadent.org.uk>, 983357@bugs.debian.org |
| Resent-To | debian-bugs-dist@lists.debian.org |
| Resent-Cc | Debian Kernel Team <debian-kernel@lists.debian.org> |
| X-Debian-Pr-Message | followup 983357 |
| X-Debian-Pr-Package | linux |
| X-Debian-Pr-Source | linux |
| MIME-Version | 1.0 |
| Content-Type | multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="s8otYbMMR6UL90Nk" |
| Content-Disposition | inline |
| X-Sa-Exim-Connect-IP | 91.181.7.168 |
| X-Sa-Exim-Mail-From | ben@decadent.org.uk |
| X-Sa-Exim-Scanned | No (on maynard); SAEximRunCond expanded to false |
| X-Crossassassin-Score | 2 |
| X-Debian-Message | from BTS |
| X-Mailing-List | <debian-bugs-dist@lists.debian.org> archive/latest/1674976 |
| List-ID | <debian-bugs-dist.lists.debian.org> |
| List-URL | <https://lists.debian.org/debian-bugs-dist/> |
| Approved | robomod@news.nic.it |
| Lines | 120 |
| Organization | linux.* mail to news gateway |
| Sender | robomod@news.nic.it |
| X-Original-Cc | Chuck Zmudzinski <brchuckz@netscape.net>, 988776@bugs.debian.org, Michael Biebl <biebl@debian.org>, Cyril Brulebois <kibi@debian.org>, 983357@bugs.debian.org, md@linux.it, debian-boot@lists.debian.org, systemd@packages.debian.org |
| X-Original-Date | Wed, 25 Aug 2021 01:12:45 +0200 |
| X-Original-Message-ID | <YSV87dz74SuTOuhE@decadent.org.uk> |
| X-Original-References | <87czwrj1bj.fsf@vps.thesusis.net> <87eee24ztk.fsf@vps.thesusis.net> <YKspZuOhQpzQP+X2@mraw.org> <fcfa39d0-0f9e-135d-2ca3-673c2e954ce7@debian.org> <62480c25-ec5c-d90b-1c79-8c6ec408da26@netscape.net> <4d381f7ecb825268bc40ce0f6212b226688fe838.camel@decadent.org.uk> <871r6iy6r7.fsf@vps.thesusis.net> <87czwrj1bj.fsf@vps.thesusis.net> <871r6iy6r7.fsf@vps.thesusis.net> |
| Xref | csiph.com linux.debian.bugs.dist:1068244 linux.debian.maint.boot:66948 linux.debian.kernel:72737 |
Cross-posted to 3 groups.
Show key headers only | View raw
[Multipart message — attachments visible in raw view] - view raw
On Tue, Aug 24, 2021 at 03:27:19PM -0400, Phillip Susi wrote: > > Ben Hutchings <ben@decadent.org.uk> writes: > > > I think a proper fix would be one of: > > > > a. If the Xen virtual keyboard driver is advertising capabilities it > > doesn't have, stop it doing that. > > b. Change the implementation of modalias attributes to allow longer > > values. > > > > It's not clear to me whether the Xen driver is advertising correctly or > > not. If it is, then the solution should be b, but that may be too > > disruptive a change to the kernel. So a reasonable workaround might > > be: > > > > c. Change the input subsystem to limit the length of the > > capabilities part of the modalias. > > The problem with a) is that the Xen keyboard is not a physical keyboard > and so it has no way of knowing what keys it actually has. It is a fake > input device designed to pass through whatever input the Xen hypervisor > sends down. As such, any key could come in. If it doesn't advertise > that it has all of these keys, then they would not be accepted by > libinput when the hypervisor sends them down. Right, that's what I feared. xen-kbdfront is setting the bits for keys in the ranges [KEY_ESC, KEY_UNKNOWN) and [KEY_OK, KEY_MAX), which I think works out to 654 keys and 2362 bytes in the modalias. > This seems to be the heart of the problem: libinput was designed > assuming that all keyboards can and must report what keys are actually > present, and then libinput tries to cram that information into the > modalias rather than some other sysfs attribute as it should ( or not at > all... I still don't see how this information is actually supposed to be > useful to userspace ). I think modaliases aren't intended to be interpreted by user-space, other than processing wildcards when matching to modules. For input devices, the same information is available through other variables in the uevent, in a more compact form. The information *is* useful for user-space; e.g. in initramfs-tools we recognise keyboard devices and add their drivers to the initramfs but ignore other input devices. > As for b), the problem isn't with the modalias attribute itself, but > when the kernel tries to copy it into the environment block for the udev > callout. The environment block is only a single page, and so limited to > 4 KB. And that's for everything else that goes into the environment, > not just the modalias. Text-based sysfs attributes are limited to a page, but udev receives uevents through netlink, not sysfs. The current limit on the environment of a uevent appears to be 2 KB (UEVENT_BUFFER_SIZE defined in <linux/kobject.h>). That seems like it *might* be easier to change, so long as user-space doesn't have a similar limit. I looked into systemd/udev, and it seems to use an 8 KB buffer for receiving uevents: https://sources.debian.org/src/systemd/247.9-1/src/libsystemd/sd-device/device-monitor.c/?hl=390#L390 But as a first step I think increasing the kernel buffer size to 4 KB would be enough. Perhaps someone could test whether this patch to the domU kernel makes udev happier: --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -30,7 +30,7 @@ #define UEVENT_HELPER_PATH_LEN 256 #define UEVENT_NUM_ENVP 64 /* number of env pointers */ -#define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */ +#define UEVENT_BUFFER_SIZE 4096 /* buffer for the variables */ #ifdef CONFIG_UEVENT_HELPER /* path to the userspace helper executed on an event */ --- END --- ? Ben. -- Ben Hutchings Design a system any fool can use, and only a fool will want to use it.
Back to linux.debian.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Bug#983357: Netinst crashes xen domU when loading kernel Phillip Susi <phill@thesusis.net> - 2021-05-19 15:40 +0200
Bug#983357: Netinst crashes xen domU when loading kernel Cyril Brulebois <kibi@debian.org> - 2021-05-24 06:30 +0200
Bug#983357: Netinst crashes xen domU when loading kernel Michael Biebl <biebl@debian.org> - 2021-05-24 09:40 +0200
Bug#983357: Netinst crashes xen domU when loading kernel Phillip Susi <phill@thesusis.net> - 2021-05-25 21:50 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Ben Hutchings <ben@decadent.org.uk> - 2021-08-24 19:20 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Phillip Susi <phill@thesusis.net> - 2021-08-24 21:50 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Ben Hutchings <ben@decadent.org.uk> - 2021-08-25 01:20 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Ben Hutchings <ben@decadent.org.uk> - 2021-08-25 19:00 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Phillip Susi <phill@thesusis.net> - 2021-08-25 22:30 +0200
Bug#983357: Bug#988776: Bug#983357: Netinst crashes xen domU when loading kernel Ben Hutchings <ben@decadent.org.uk> - 2021-08-25 17:00 +0200
csiph-web