Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1127533rwb; Thu, 15 Dec 2022 06:46:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf75k2jOpR6EIv3whhTLVucTFnSEOeHdfuDhiIU5HyW/962Mzjprpin1LyngQ2LeVDFLnGGp X-Received: by 2002:a17:902:b282:b0:189:efe8:1e with SMTP id u2-20020a170902b28200b00189efe8001emr30982087plr.68.1671115588073; Thu, 15 Dec 2022 06:46:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671115588; cv=none; d=google.com; s=arc-20160816; b=ShiVCtZitOW9gS+zywKtZmcxrjHnbUkqNAbFDr67BilAQ5O6PEGxjWNK4a2x18h/7i G61HHopJsW0lz/kb/cu3V6LXShwZrvCUKAMwYHJybwv6AKVQlzY2c9TUe8ivZVuKdaa7 aNxWb0yN9s4WcPync5W1n8bz0GBqbwIPlNFvPVactiMaehe3mmK5FyVNQpSuIZt5Mc+2 Qo0m25u/HKruQQQ9ALQMCygagZQQvfzxqrtdA57UWinroxvS1dqzQ4QEJrasSg43tHJ6 FZPQGiMWzaLAx5bjRGWS9yQOanpapG8R4gZCBlJWidYBhkPUKsBvDDHmPIKQV9M86v8Y QjNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:dkim-signature; bh=9OTgqMJ72hTY8DmgwqYKfCFn5Uuqu5CGzMqc6diHDoY=; b=rmllRG/aObCGz9E3tIX+GWBT1invjQivN3udxL45TDro7LaR+BvMEi+pbBE24ScD9v P4me+nXAeipf/xS+oGOUSCV9vuKSSEKO0xX9WMpIfcfHCPuEqjlAZwb+fjrC8+Tu5Hzf Ili2sWSg+Po7A7ppisnA7DMLgCvZcFrzOTUJ3zpRdDhLUnJMUT9jgG0d7x6ET5mOzCWH ntfZtQqDQlnmsEBbnyiSUcKP3jEdGIqgCltjQvpok+AP2+ER1Q8SI2CQWajH3DZLxKB1 toC47NbT8bjHY77Slb613MXeJdPaMwBNRpSXln+H4FLzb+70270EBG1GyLjpDT8YbPSr scCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=uRvXA3sW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e2-20020a170902784200b00179cf094dccsi5498180pln.526.2022.12.15.06.46.19; Thu, 15 Dec 2022 06:46:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=uRvXA3sW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229624AbiLONya (ORCPT + 68 others); Thu, 15 Dec 2022 08:54:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbiLONy2 (ORCPT ); Thu, 15 Dec 2022 08:54:28 -0500 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8559B2ED46 for ; Thu, 15 Dec 2022 05:54:25 -0800 (PST) Received: by mail-wm1-x332.google.com with SMTP id m5-20020a7bca45000000b003d2fbab35c6so1526594wml.4 for ; Thu, 15 Dec 2022 05:54:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=9OTgqMJ72hTY8DmgwqYKfCFn5Uuqu5CGzMqc6diHDoY=; b=uRvXA3sWZXvyIXrliOdhwK6HbALAYO1yJfHGmadQChubshMyKVuUMe1LaRyVZT/p6g vD2RwRQVrzQUTjhNkNbDq3VU6SmxfYEJc5woUO4YwpxrZJ+gvCjzWoRQLihCNmre8M6u I+Pfo122gPGAO3HQHXnpaJuuuPb7fFOB7TihTG6uEWHvXMtMN4wOs9Mmkg1vdU5oR26O fdcp+P/UxjHHsyZbh2Qww9sA6XIRYc6RKkpgI+ggCB0Xb3E0L8CjT5GXOiE7ERlWxpik LQ47MaHFDob5Pzq3mfuoa4BXA0TIB8xpBOMytHBvQmZBizGh0iUo+FQOdRXV3nvnAK19 JAjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9OTgqMJ72hTY8DmgwqYKfCFn5Uuqu5CGzMqc6diHDoY=; b=245vBbhZUmIuDDW7L05jgdNAVsND6IGPVjWpZxTTn4BN7kO8nVheljElQmB8yelfs/ SGER2Cu0briKQLeSvRyEAGrCsMKsmx6pi+bz4nsl89cdaRRYxi7yf/lwymdH8lqJF83a eQTSiaVh64cmQMIHHCcvOxi0u66Cup7StJvKOmWhxsbL9ldnoKD4g4KUaY8X0fOTf5oM BFt2aGj7BhB3dzaV+IWTS7aVBLugXjP+UcC/bYDMIEXzx/URub/SW/RHvBHi6BrNJrRF 5iyg+LhnmU/8EUdAamgDLLQt2SD2xv2estijQPslVcp16uxO3AR/rv9TcS14ZL69zaoZ qhgA== X-Gm-Message-State: ANoB5pnkNyl9CZrg3pbws+8NSBzoDtClZtqWK2A/S+x9oQi7XuqOvR8V Db3MU0b5ZSYt5JYc2OLToGNIZA== X-Received: by 2002:a05:600c:3c92:b0:3cf:a851:d2f2 with SMTP id bg18-20020a05600c3c9200b003cfa851d2f2mr22167012wmb.21.1671112463881; Thu, 15 Dec 2022 05:54:23 -0800 (PST) Received: from localhost ([82.66.159.240]) by smtp.gmail.com with ESMTPSA id w23-20020a05600c099700b003d1de805de5sm5632729wmp.16.2022.12.15.05.54.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 05:54:23 -0800 (PST) From: Mattijs Korpershoek To: Jason Andryuk , linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, Jason Andryuk , Phillip Susi , stable@vger.kernel.org, Dmitry Torokhov , linux-input@vger.kernel.org Subject: Re: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias In-Reply-To: <20221209142615.33574-1-jandryuk@gmail.com> References: <20221209142615.33574-1-jandryuk@gmail.com> Date: Thu, 15 Dec 2022 14:54:22 +0100 Message-ID: <87359gkc1d.fsf@baylibre.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 09, 2022 at 09:26, Jason Andryuk wrote: > xen kbdfront registers itself as being able to deliver *any* key since > it doesn't know what keys the backend may produce. > > Unfortunately, the generated modalias gets too large and uevent creation > fails with -ENOMEM. > > This can lead to gdm not using the keyboard since there is no seat > associated [1] and the debian installer crashing [2]. > > Trim the ranges of key capabilities by removing some BTN_* ranges. > While doing this, some neighboring undefined ranges are removed to trim > it further. > > An upper limit of KEY_KBD_LCD_MENU5 is still too large. Use an upper > limit of KEY_BRIGHTNESS_MENU. > > This removes: > BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223) > Empty space 0x224..0x229 > > Empty space 0x28a..0x28f > KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad) > KEY_MACRO_RECORD_START 0x2b0 > KEY_MACRO_RECORD_STOP 0x2b1 > KEY_MACRO_PRESET_CYCLE 0x2b2 > KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5) > Empty space 0x2b6..0x2b7 > KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc) > Empty space 0x2bd..0x2bf > BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7) > Empty space 0x2e8..0x2ff > > The modalias shrinks from 2082 to 1550 bytes. > > A chunk of keys need to be removed to allow the keyboard to be used. > This may break some functionality, but the hope is these macro keys are > uncommon and don't affect any users. > > [1] https://github.com/systemd/systemd/issues/22944 > [2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net/T/ > > Cc: Phillip Susi > Cc: stable@vger.kernel.org > Signed-off-by: Jason Andryuk Reviewed-by: Mattijs Korpershoek > --- > drivers/input/misc/xen-kbdfront.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > v2: > Remove more keys: v1 didn't remove enough and modalias was still broken. > > diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c > index 8d8ebdc2039b..4ecb579df748 100644 > --- a/drivers/input/misc/xen-kbdfront.c > +++ b/drivers/input/misc/xen-kbdfront.c > @@ -256,7 +256,14 @@ static int xenkbd_probe(struct xenbus_device *dev, > __set_bit(EV_KEY, kbd->evbit); > for (i = KEY_ESC; i < KEY_UNKNOWN; i++) > __set_bit(i, kbd->keybit); > - for (i = KEY_OK; i < KEY_MAX; i++) > + /* In theory we want to go KEY_OK..KEY_MAX, but that grows the > + * modalias line too long. There is a gap of buttons from > + * BTN_DPAD_UP..BTN_DPAD_RIGHT and KEY_ALS_TOGGLE is the next > + * defined. Then continue up to KEY_BRIGHTNESS_MENU as an upper > + * limit. */ > + for (i = KEY_OK; i < BTN_DPAD_UP; i++) > + __set_bit(i, kbd->keybit); > + for (i = KEY_ALS_TOGGLE; i <= KEY_BRIGHTNESS_MENU; i++) > __set_bit(i, kbd->keybit); > > ret = input_register_device(kbd); > -- > 2.38.1