From nobody Wed Oct 8 09:24:01 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80B872857F7 for ; Mon, 30 Jun 2025 14:36:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294176; cv=none; b=FBtPdli8sOXW7wi3thKREm88NRfAZ61ACpXOKdug6pE3nY5T7NCeeOI+FJgoX4NXPwPTgP5z1d6+qyo/sUWskEmQ8IuaFHui8ee0RrQdwWJpajnrMXogUPKB+87eLTJIyco79k4q+a8sX3v2wlKzOvY/giHzH1UCKLacNTA3fZA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294176; c=relaxed/simple; bh=iJ7bqgXfPtMBXmUDY/YhJ+N8O2D9Z1dGk3Blw7bpjMI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O5qaefPXZ4fXSKcaxhZelEHHWYXcty8rBG/ptmd0+Pb/4rqwf5mSEazBRvqv+ouusT9NFv1UObE4Kw5J5x7/tt2SdouNxLxAnK2W3B2P/3eiN63UJXlnyExaJ1IUm1vImDmdWUnHTc68tSDO8A1OWif45xkmrhyWK6ITy18fIDo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=dDeqjcsE; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="dDeqjcsE" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso4846451f8f.3 for ; Mon, 30 Jun 2025 07:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751294172; x=1751898972; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NmutXua1lSKxORl0w3oIEp2FOLuV8/Za8RV+I5tfNXw=; b=dDeqjcsEoTAmg0IuTWbaXRAn1R6cYoIF0wgSIJTPmR/pdJWxOxJfaPJGVpaiEE8vkb mjycFblwzxfOi4MNggsUz9W5AzoVIdan2A0Ze64WIPBU7dS450G1/7X1NZItsl2npyAc UUh1rt5pVqM64qCid+fm25rXv4TMLfhb9ANEJE/jmBu9XzMbh0yIi5JEW17QMEbuLqUk I0g+lnuoh1xHmPRhR4rL1c5C6NFzRJxd6xboq4oUqukZruN+x5gE6HYp1ol0wxTwxD9C d3YbKkbtDgvcr/mQSJ9SaN5JAEl8/cr72LtEmo7CR+opSQeqnY0ZLCN61mYtzq15DDyy xa7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751294172; x=1751898972; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NmutXua1lSKxORl0w3oIEp2FOLuV8/Za8RV+I5tfNXw=; b=C8CN118FE25oVRCl8DSjLz2BTuafdUwVegtwyc27u7iSJg8SeKhB+MRxh/9LIIn0Uo YnQfHs0NjCPxH6/2USFpCQ5Ik/5r2Vy+Zg5aPk2dM6jRDeDgt7t5BKW4oCRpyvT0zN5b 45LsRW7r8FvaR2+1hZf9cjpV/LlKesfyhc5n/R6RKC7XGgrgiIpURKEV/EMiP+vlDGaT sGligHem10CHaFd4Hlm+1+Lm/4gmPcCsk00wxsWkwpdUiraJvRDK65dHbWMxnxWN701R L7OYSbDkgXEZc7v7Qn8yBn0hQDnShwMDWpPmMDHfbPdBpaFTIYhtewagchJ4NqfBwymw P1TQ== X-Forwarded-Encrypted: i=1; AJvYcCUMyrws+rYbbC+iL4+uJOYxl//WGt0Tvum9QEGPpESRykG4JGxDflFgq7fKPZjOPbtLnuP8tHHbJM/HbOE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+FWroJRTjPM0vgTglRMSm8C0MHV0AVVmWN8xY1nfJLfSEZNT4 FNqKvfmlLdqt7FAQPrMwWP1+SMF36SXj4lJViHHA7Fyt4bUnK+mDSOTWvPNcOnpyMw70935OM7N OhRzha74= X-Gm-Gg: ASbGnctcxA69bPYzyQjt3+a9Jk8wfe2gQC9U5UxHsYlNi2tvAxaSsqZgybly+WIhlyY vDhjoM37trG7aLuTX4XMRG8fw+/CCbEN3+7jgFESJ9qbILXHl24aKMl+jvtpWq0Igpl0YpeQU0Q SIrepRY5lZ/aRv6aclelNZMLLuIqLkk6EVtcmEpcWcROaHp5gZvym3EV/V+MvP6jIbjRZd1XAgA HSDeGGMBL8wi+Tm9qrtNU3MgHQp/WvR/YjE29jVWz6267hRNII/w3xTEZnf8khLS7oNf+ZvAHwM bPF6HShUf0RZg0U1gEyV26xrnLUymcF9KjmS4ZHGRrT/+6XmXHNCJ4Ra/W2mLw== X-Google-Smtp-Source: AGHT+IFeTwmcYHOYYLMQoffaVlLFKMuHfFzsJq4UbYAwtBydXgF3vYE5RuiejytIxEYKIFATVTkqYg== X-Received: by 2002:a5d:46c2:0:b0:3a5:2fae:1348 with SMTP id ffacd0b85a97d-3a918281259mr9014396f8f.51.1751294171768; Mon, 30 Jun 2025 07:36:11 -0700 (PDT) Received: from zovi.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4538a4064b1sm139691695e9.29.2025.06.30.07.36.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 07:36:11 -0700 (PDT) From: Petr Pavlu To: Luis Chamberlain , Petr Pavlu , Sami Tolvanen , Daniel Gomez Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/5] module: Prevent silent truncation of module name in delete_module(2) Date: Mon, 30 Jun 2025 16:32:32 +0200 Message-ID: <20250630143535.267745-2-petr.pavlu@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250630143535.267745-1-petr.pavlu@suse.com> References: <20250630143535.267745-1-petr.pavlu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing a module name longer than MODULE_NAME_LEN to the delete_module syscall results in its silent truncation. This really isn't much of a problem in practice, but it could theoretically lead to the removal of an incorrect module. It is more sensible to return ENAMETOOLONG or ENOENT in such a case. Update the syscall to return ENOENT, as documented in the delete_module(2) man page to mean "No module by that name exists." This is appropriate because a module with a name longer than MODULE_NAME_LEN cannot be loaded in the first place. Signed-off-by: Petr Pavlu Reviewed-by: Daniel Gomez --- kernel/module/main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/module/main.c b/kernel/module/main.c index 413ac6ea3702..933a9854cb7d 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -751,14 +751,16 @@ SYSCALL_DEFINE2(delete_module, const char __user *, n= ame_user, struct module *mod; char name[MODULE_NAME_LEN]; char buf[MODULE_FLAGS_BUF_SIZE]; - int ret, forced =3D 0; + int ret, len, forced =3D 0; =20 if (!capable(CAP_SYS_MODULE) || modules_disabled) return -EPERM; =20 - if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0) - return -EFAULT; - name[MODULE_NAME_LEN-1] =3D '\0'; + len =3D strncpy_from_user(name, name_user, MODULE_NAME_LEN); + if (len =3D=3D 0 || len =3D=3D MODULE_NAME_LEN) + return -ENOENT; + if (len < 0) + return len; =20 audit_log_kern_module(name); =20 --=20 2.49.0 From nobody Wed Oct 8 09:24:01 2025 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 232EE28C2D3 for ; Mon, 30 Jun 2025 14:36:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294177; cv=none; b=r7IkUANojBw52DXtpPHm/5Atq6PV+in1yipokrERTRCj7lRCq4HNi31TcNL82ya0qGE81GaKeHZ4CFdm2zKyoP/vYfbk1JMTInYbdnqe02eGAUHm0fMM7QkGFF83ELeApetZNm806hJx/BaQM6c275bvl4C4sCVIZh+QgIPEi0k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294177; c=relaxed/simple; bh=GcqUSQ1qcmz/7ZeeKmvY5jkflwUDRB3NFv+8GdhdPdE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TBRVKbm12H/hsxaQtXdY1VEuMHLLO6AtGTlYQzlyI97RVEY7x0qcVq9fFLpD6nJWUmDvbTPQlT3ynQsTW5exVq22GntJJyKrlWxnUay0hGozMsZHixdVsE8O8jvOhrwAotZInbITIu5WVVHNQq33SbJ16IfBW3IAnEkX4CCGf/I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=aRzpc+sx; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="aRzpc+sx" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-451d54214adso31779755e9.3 for ; Mon, 30 Jun 2025 07:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751294172; x=1751898972; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CdmllR+tX3Z721QiQkxJd2Ok2zA1l/euwA16MKRoano=; b=aRzpc+sxo8QYXVYsSFsuJtsXBTlWUpVL/rXRnLqwbgEWzd97vPf8b+Si9nmDXDIyPK XTD+APbrcDs5cImjTcEIcCIqwBroI1cu6RJzymGZvi5LF3Q95Us2xGM8+eh4RXvU5D/C Raqg2VFtDUIlUb0eeh6f5LNdue1At00QxBubI9xGQ7fEYj4PDVZVbISbAFrKfGSP9XGB QfKrSmh/MhJESFcqkO6tYAvUefssPU24PtZIY+1eO8J/AV4qDyM8EVjIl4PTptKlVj8y upzqEi+jN/NOgViCGjyTlSKDHR6bSZZ2JPbzIAvgIKFrxiPL+HIvy7kQrDWXCGKnN8tZ VcjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751294172; x=1751898972; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CdmllR+tX3Z721QiQkxJd2Ok2zA1l/euwA16MKRoano=; b=DBE48RbEK9qpMr+TgXYZr4hUbMP/b6ZQvnAGgSoc9gaQSifAGQi1JsuK2Nm/eENAMG kmyOsswuPFyUX9qHmh49/fQhzzTZwy2ksnoBYoYmt6kLlhpgXe3pmRx+aRr7hxqT2MX0 fkqqkxmeRJA/T+xKsypsJvw0mrcZQo3/3bTKlV06VnNYfVTofhG9luBjgKU8dWmjZURC 2kZT+j5I0voKb8futZ8hX0ywuWqUZuvE7tWCPM2yb300/6OGIIPJAcMn5IBtZBZ/wHvq vW354Axw04tMmm2uyrhqLgNFKfk3DmaGMc7DWmRNknI+MPMMkRKZPJFdNQCO1yp5EoQi VYaw== X-Forwarded-Encrypted: i=1; AJvYcCUzp9dAEbLrr6bD4opesoXcs0jxnyMq5VniEmEn8fdCauhSen/xpoWhbre6djs3PupgwGRIVv2yV/b/7dw=@vger.kernel.org X-Gm-Message-State: AOJu0YyiV3tkwsXVe1tnPuUDG/5TxVo+h3OAybOJIayBvMeNOWESACBb FcGlDDkMxUbYq6B+NIG62lRQYIz89t6zVnIceeF5Dri32gQd6NA1PRnqSelryRTA8YwETTMDMkj AW8fDLRw= X-Gm-Gg: ASbGncv+iI7XAEgaDcTUZmBjKxKp1BZqN57CZxv/sABYl+UAwsdhd3c3VRhXNmIbF2n pYSBQ0MxZY2Cvp/4gAfiDp1Is1m83es9j3QcDE1Kfo61T7gPFpcikU+AaG8JR9gysNl/vgYhjrK h+slp0F6K7Icxm+3lqtjzxs+m0q/Okus1dxAR9BUvpTjb5n4WXVvBAQzBV+NOn+Ww0Wg+eWTRln wLHZsCSCx6DpwvqKzc1JNMC8XzTeTzBH7v3hWoKrcIxYJneitCXsvTaAUDs6EXIDW9/AoWqEAkS Ebphq3yxwf32nTbQ0WllRBPsUpCPLV6q4n11TPG+YiB5hMFSLFxnuT+GCbcs9A== X-Google-Smtp-Source: AGHT+IHplNB2XhqH2vF81/rVmM2u2fb85B4S67wVN0ofQUkT3FQ10OfKl5FvFxECzW46dMrxe1/+2A== X-Received: by 2002:a05:600c:1d28:b0:453:cd0:903c with SMTP id 5b1f17b1804b1-4538fd62fa8mr149537915e9.2.1751294172350; Mon, 30 Jun 2025 07:36:12 -0700 (PDT) Received: from zovi.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4538a4064b1sm139691695e9.29.2025.06.30.07.36.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 07:36:12 -0700 (PDT) From: Petr Pavlu To: Luis Chamberlain , Petr Pavlu , Sami Tolvanen , Daniel Gomez Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/5] module: Remove unnecessary +1 from last_unloaded_module::name size Date: Mon, 30 Jun 2025 16:32:33 +0200 Message-ID: <20250630143535.267745-3-petr.pavlu@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250630143535.267745-1-petr.pavlu@suse.com> References: <20250630143535.267745-1-petr.pavlu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The variable last_unloaded_module::name tracks the name of the last unloaded module. It is a string copy of module::name, which is MODULE_NAME_LEN bytes in size and includes the NUL terminator. Therefore, the size of last_unloaded_module::name can also be just MODULE_NAME_LEN, without the need for an extra byte. Fixes: e14af7eeb47e ("debug: track and print last unloaded module in the oo= ps trace") Signed-off-by: Petr Pavlu Reviewed-by: Daniel Gomez --- kernel/module/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/module/main.c b/kernel/module/main.c index 933a9854cb7d..04173543639c 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -580,7 +580,7 @@ MODINFO_ATTR(version); MODINFO_ATTR(srcversion); =20 static struct { - char name[MODULE_NAME_LEN + 1]; + char name[MODULE_NAME_LEN]; char taints[MODULE_FLAGS_BUF_SIZE]; } last_unloaded_module; =20 --=20 2.49.0 From nobody Wed Oct 8 09:24:01 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0AA528D8E7 for ; Mon, 30 Jun 2025 14:36:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294178; cv=none; b=ZspN45El9/FIStttIJ+MXLdiaY+j3jfMSSoPgX9xInKBJkSE0YY7XuB++BoeAzI2dUjrVVNQ1OgjpA1zeatuabSstiJSX1tdsYuPp67CfnboHY4sLoRCJMXsTTXBAggiQhHasTY5BOGgnXchOxtPcX+JS7OXKG2TehYIqLDe+Ik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294178; c=relaxed/simple; bh=WGV704Eo/1OZH4+nrAQdrHsDuKUNEEzinf+2Kc0d6hc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ndZPv+xwiBZYftDmAbm385HHAFhSt1QCwpsYLosbPRVkKDz5FK6tJmQJy/zk5SqFClKM7kdw1qcOaU5QtK0X8rDeu6pNO6Hri1tcw/V3FbZ9pOjCyS0sONWujkAhPRBp34FikB57g7jrt63b168eIN3AXDKsKmBOu9+V8+2mLYo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=UEf1HAsj; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="UEf1HAsj" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4535fbe0299so12899995e9.3 for ; Mon, 30 Jun 2025 07:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751294173; x=1751898973; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CYGr+w4GfcUkgYiVXycPX4UxZzSKxs2cIGs5isKRNhY=; b=UEf1HAsjZsitoMXcpw7QOe+2Fw5eHKJeBoA2QBD5Euxn9+YmBOeRDhzmOHJhl/ide5 qWiXiB/eOJFXDCJWwxL/+GjmVqvL/RNQoF+PQTdwmnbwkC+MFWp/fzAHid+WIwVCRH7R 1/2h+BZ2NbCtsL8yrGNWbpn8kUlaA9roZ4z9PWwL3tgnWZM7nopXwh2twC4B+yT/idgP ntP6zKwp9wV5D+mFFS3lcmfuiFvNFsNAwafC6hQjSpQDu4xri4jRT6cJrT2Rtr0y9ZWb Vvg0Kc/iM/EduRv5UvAC/OLdM2rlNEKzZMUgUHRHB/Sc0F0GELoIv/S2bcWGODPrSMTx 8AZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751294173; x=1751898973; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CYGr+w4GfcUkgYiVXycPX4UxZzSKxs2cIGs5isKRNhY=; b=IMrsN+v5oVGO1LRpxTUhfl4Nn67dqDwyinlRLQsmd4IKKbPoIJ0fZSThgik9yQBi1m o/GWPBKZn24Lm7DpfoQTnhgfiwkCtLQVXwIzPgPOGrWmqaP9CpsC+0L8FYFF2pzDtZvG ZkX/z/yJb4YIxc01Cm83WerogrVlTbk3sGF4DtL+oUas3JQRDPFACx9VVHhk35zV/sS4 MQ3z7JRIIcXr5mlogmZep6E5/LBFB2vkq3oMLuyj9s3rFTrhxoW9xSnkvUdshHsf2R6n V/9OnAB+9BlDyi/GnCmPUS2DAul1wWxqLUGfzxiUsAxQx2gLmPaEB7592JT8QMCZRclT Fsgw== X-Forwarded-Encrypted: i=1; AJvYcCX9vYCFjqZEULf7uqJXtP0QgMdhRQ/lQm9aWLT96nemKInq9LPyTg0k2g5/kyk7LKIyljgTiTNasZqmcCI=@vger.kernel.org X-Gm-Message-State: AOJu0Yzfhw8wSWsWSyfxiFkLWmjX5kAJxzz4TvDfGOTcFHcBImY0FlWL YeBUVPN+aGvkpkjiTLRmA8GTsy8OLddzvmNdmBzzyHG0DiAek0YbesaS/m99leVM+i4= X-Gm-Gg: ASbGncsq7Pi63tkYF/RWLVXGdLR4VARxXQZR1gW4R3pcJiaTOgdjpxrsE95CpABKcen dQw3is5ZQkW3s7qVMsupcdUHOepwrS9BM0p+iWwar2i4MCPQnnMa6D8SQbikxxMi48yG1Ej7rtX hPN4nqQnF40nvd/dQSdBWhY87cSbWxNf3TtIKDzOXhv2kQpfVU28Y0W2Yz2bCAuE5ImtyW+qO1Z 3t5l4ZKXuUBw7qDZ78chab55FnS/qyHfsSFp0oYb5u/A8plvYn9X7nfF+RABLKS5iKVNf1GBME6 vN5SzPS3zkiSBxnVDZJ6kDv95waL4xifqo6/R7i+rauk1CcwxB7omJ5iXqKT6g== X-Google-Smtp-Source: AGHT+IFKdSX/7On1Q0wj0XjtBIz1cLSj6YHaIR75PLNUipp/xh/X/AUZR64SxbA4mNUTIjWDWDxDXg== X-Received: by 2002:a05:600c:3112:b0:43d:26e3:f2f6 with SMTP id 5b1f17b1804b1-4539ebf5521mr48135765e9.5.1751294172898; Mon, 30 Jun 2025 07:36:12 -0700 (PDT) Received: from zovi.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4538a4064b1sm139691695e9.29.2025.06.30.07.36.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 07:36:12 -0700 (PDT) From: Petr Pavlu To: Luis Chamberlain , Petr Pavlu , Sami Tolvanen , Daniel Gomez Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/5] module: Restore the moduleparam prefix length check Date: Mon, 30 Jun 2025 16:32:34 +0200 Message-ID: <20250630143535.267745-4-petr.pavlu@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250630143535.267745-1-petr.pavlu@suse.com> References: <20250630143535.267745-1-petr.pavlu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The moduleparam code allows modules to provide their own definition of MODULE_PARAM_PREFIX, instead of using the default KBUILD_MODNAME ".". Commit 730b69d22525 ("module: check kernel param length at compile time, not runtime") added a check to ensure the prefix doesn't exceed MODULE_NAME_LEN, as this is what param_sysfs_builtin() expects. Later, commit 58f86cc89c33 ("VERIFY_OCTAL_PERMISSIONS: stricter checking for sysfs perms.") removed this check, but there is no indication this was intentional. Since the check is still useful for param_sysfs_builtin() to function properly, reintroduce it in __module_param_call(), but in a modernized form using static_assert(). While here, clean up the __module_param_call() comments. In particular, remove the comment "Default value instead of permissions?", which comes from commit 9774a1f54f17 ("[PATCH] Compile-time check re world-writeable module params"). This comment was related to the test variable __param_perm_check_##name, which was removed in the previously mentioned commit 58f86cc89c33. Fixes: 58f86cc89c33 ("VERIFY_OCTAL_PERMISSIONS: stricter checking for sysfs= perms.") Signed-off-by: Petr Pavlu Reviewed-by: Daniel Gomez --- include/linux/moduleparam.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index bfb85fd13e1f..110e9d09de24 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -282,10 +282,9 @@ struct kparam_array #define __moduleparam_const const #endif =20 -/* This is the fundamental function for registering boot/module - parameters. */ +/* This is the fundamental function for registering boot/module parameters= . */ #define __module_param_call(prefix, name, ops, arg, perm, level, flags) \ - /* Default value instead of permissions? */ \ + static_assert(sizeof(""prefix) - 1 <=3D MAX_PARAM_PREFIX_LEN); \ static const char __param_str_##name[] =3D prefix #name; \ static struct kernel_param __moduleparam_const __param_##name \ __used __section("__param") \ --=20 2.49.0 From nobody Wed Oct 8 09:24:01 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3EA7128D8E6 for ; Mon, 30 Jun 2025 14:36:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294177; cv=none; b=EN9yuyP6isVSFsSXV2wpTn0WE0bLFruGlbEO6qTG7F/+jyQmPI/vZME1Vz1MJFLkTKxVN4i5W8cWNjtp+ktIE9LLzAnYa9mQAOYJpPDl635J+fBNPIW5ZOwxRWVL6yAu13WchsxD111B0uUDt2ocZxr6GIzyRLg37ZsfID6zp+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294177; c=relaxed/simple; bh=PirEDsPKzKZfF4lma/U6ABELtX2SsjTdnouDkKmFdHs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FsTNmed2HnZWm0/Owa1S7uE0gsEnkykWUTHC1s6WtxjwjFrME+xht/pUa8gCZvxNrOwgg0TmyyyO0hkclDMIjBS9q5Wlvw04VTAPIeGIl7gX8jstPJ9ABnOPMTEqyr7ywggRaL8IQZ4Kun/v7gS3g/pcPayq1G1gsxL1+6G+OzA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Fdc/Ksoy; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Fdc/Ksoy" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-450cfb79177so26328555e9.0 for ; Mon, 30 Jun 2025 07:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751294173; x=1751898973; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mtpZAHSxzBc52yNVlVB1MC/4zpT1HtcP/IJyN7kdpFo=; b=Fdc/KsoyxO07X+4I1KFRHthpL1FloKU88LNyvrysXSZ5opWS9U46fOH7pTYeeNg+bM O5euxNbL4LzB15ObmkRDTqfwIjomyuDaXf7kNRlqGwKTB+mssv+5CBeEkM9Jt5XoTJTf OZ3qaA79sKVFGUR3E2562pQcYRXMq9D7x5DFdNhtuQnz9VUcIzdFEoMU0DVDG4/4l8oi OOHTkmgoqfWyHwv9G5d+RLAOFPNICijIIeFzB+YMVtzqix7uo/Lt1AFh3Kp9UEeEEFyj TqT7+5w54JakWldteR6PHa76I9/qrhdkrrQMx7n3+IXlbqQ8VdZ8+EPcget2iGDOysXH NVdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751294173; x=1751898973; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mtpZAHSxzBc52yNVlVB1MC/4zpT1HtcP/IJyN7kdpFo=; b=hcLrQOWmju3SXAujFxKF1xHNZNgYw1shjWJ0nMcsS65Nux/weFzOhZEfUKs1YfT8AO AzwLv3xBZh4nsrv82Bq9ai97ppMj/4qas+Ydcn5X1VJCyQpv6owDnH8K8DJQbLwpP2x9 VlfcxqBvzSJc7go8ZxSwJzmBzcoa5rqid2BKFFUhrtjNeZirfqbHp2uT6mV6c4g3xvox afFkLgrdS7gl/Ta01pB6+T366aV8izWfmq2WmMal//LJDjM/EFQnsv0F20HQJfJNxXFo wMXDUPR+x75qSjm8gvIPIi68WuboOTJKvrH7HhAFPkVEWEAuGcf+tO/16kS9PAnau9nQ X1EA== X-Forwarded-Encrypted: i=1; AJvYcCUAqjQ7EAw4LH0yu+Dkw5mIkAiTY4VfQIhAem7a7zMpxPH6aLKCCf7NTGvGBAHEytiWOgZwj8vKaq2oaBw=@vger.kernel.org X-Gm-Message-State: AOJu0Yyy/iCUn8cemT+Y7uS06Iva9IFRNw6iXHvsTvf9sMTkab8T811K +tFDvc8hfpZ2Lh0M7rTgeXi8SDMQtDWisYsEuEYHQOBsbLsdEWIApy2FwEV+gDlWcl8= X-Gm-Gg: ASbGncvfEFxY/71mABZdj1vpY9UgIx1toB1Bczmgg5ZVkgTNCX8IdoiL3p1jEZr3fYm j3ybQK7u13KI4NemXwOSgOb9y1LERpBQj2iOLvJmTzoMFjO4NKB8+yyGwufkhVGkXvSMlsLsGvQ 8sPlCb5yOBFPhgJpy68xfrADGJoJKUWn13YBbEFctK2W4uNIydk2izP8qv7o8deaDpjmVzHyn63 RZjf+raNEB9HDzHOt2cqfE117shRX8xrJJz06hurqn2fnp9b+9qJysRm2MOTI+fw2Ye2RG6g5wR wFHAm7VEpuXoVXI069gVotvveMdPPCfvwNo21YrKNZ28kNQjNdFFWTCmvW7bDw== X-Google-Smtp-Source: AGHT+IE65xiXePmfkTNzrE3cu741b/HUQtQk5TEnp05EileMIiACkLUMMykov2/RQ02qlLbUlc+wEw== X-Received: by 2002:a05:600c:1549:b0:450:d019:263 with SMTP id 5b1f17b1804b1-4538ee5d63emr156951575e9.18.1751294173517; Mon, 30 Jun 2025 07:36:13 -0700 (PDT) Received: from zovi.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4538a4064b1sm139691695e9.29.2025.06.30.07.36.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 07:36:13 -0700 (PDT) From: Petr Pavlu To: Luis Chamberlain , Petr Pavlu , Sami Tolvanen , Daniel Gomez Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org, Steven Rostedt , Masami Hiramatsu Subject: [PATCH 4/5] tracing: Replace MAX_PARAM_PREFIX_LEN with MODULE_NAME_LEN Date: Mon, 30 Jun 2025 16:32:35 +0200 Message-ID: <20250630143535.267745-5-petr.pavlu@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250630143535.267745-1-petr.pavlu@suse.com> References: <20250630143535.267745-1-petr.pavlu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the MODULE_NAME_LEN definition in module_exists() to obtain the maximum size of a module name, instead of using MAX_PARAM_PREFIX_LEN. The values are the same but MODULE_NAME_LEN is more appropriate in this context. MAX_PARAM_PREFIX_LEN was added in commit 730b69d22525 ("module: check kernel param length at compile time, not runtime") only to break a circular dependency between module.h and moduleparam.h, and should mostly be limited to use in moduleparam.h. Signed-off-by: Petr Pavlu Cc: Steven Rostedt Cc: Masami Hiramatsu Acked-by: Steven Rostedt (Google) Reviewed-by: Daniel Gomez --- As a side note, I suspect the function module_exists() would be better replaced with !!find_module() + RCU locking, but that is a separate issue. kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 95ae7c4e5835..b9da0c4661a0 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -10373,7 +10373,7 @@ bool module_exists(const char *module) { /* All modules have the symbol __this_module */ static const char this_mod[] =3D "__this_module"; - char modname[MAX_PARAM_PREFIX_LEN + sizeof(this_mod) + 2]; + char modname[MODULE_NAME_LEN + sizeof(this_mod) + 2]; unsigned long val; int n; =20 --=20 2.49.0 From nobody Wed Oct 8 09:24:01 2025 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE0F228DB77 for ; Mon, 30 Jun 2025 14:36:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294178; cv=none; b=pWILIy94UgpuLmvuMHspQBpQUp4tsLVe2xs+3dtl994vVhplfO//mjENkd8w/DXeI02h2JJ2EvEDJG0dMMNlFqqDMbJJlR0r1c1vh+RDiSUkY8rlcZcHwUSYsL57W/RBvfJZadg5Foyj4s1pcTI7WQYD2uoPl/vZEoQOPIYKDxs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751294178; c=relaxed/simple; bh=pwspzJd4AZigPvmdBQBc5YI54moVabhP2BKPyRa45tY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RZcThFpDlDVK/S8ZwU8mzE256IToBiVk7d/AEJLfPD2S5zgBub/zcKPc60eOD5n5tBLCCTIq5vJr3z3GMQl5pt9bYYA7UFwyTMHe22O/S277q4p8XtDLqCCopeGa6Nq599dqRFCKZmeE1D++egr54GsIiLRGBfJhM2u8Dfewptc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=DpZRHAAG; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="DpZRHAAG" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3a582e09144so1678469f8f.1 for ; Mon, 30 Jun 2025 07:36:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1751294174; x=1751898974; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hxXlGnhc5HV9WUqIY4yXx7sDZm8dL+Zm0TPRhpOl1ew=; b=DpZRHAAGnfQredqN11vxaA/4PuNGbgVITubbNYjwThNiu3FG470qMNrpgoZQF4IXp8 OE9INoBnLGduDaszKG/o44CX8G6XM/chP/KfMPclx8R0r2Hh7DP6P9t/LgW8kU09Xsqk Nmqiebf6JfmYPuxK7iwR1ODDdmLKIoxwskkKlE7Ithjy0HJTXRmREMCEK4IYDoarGS/u G7Ufk91XwI+b0U2ZH/AomXXFK4a4XAV4NWej+MkJ/i2rv/n3c7Zc1WK/zg9ciLHqTm4E O9YjYTGX7LGUYCaotqGl6XsoK2Q+OoZBfUH7tp0Bye4k0sdroyoGFhcRw01D3/lUotOj CyMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751294174; x=1751898974; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hxXlGnhc5HV9WUqIY4yXx7sDZm8dL+Zm0TPRhpOl1ew=; b=D4MT+XK/P3JFR1+EOd3lSvHnAbvRZicAhwjeJopNwGgORKkwu0wNWEG4H/Z/wKVnjZ 74q043nKo/g6p3ZWsZ9YL8s5kCV9COJ/ecA9bPNNHk3qa6VEbiIEUnGbewjdw8nDYJLg XAbY9v4JehkZZslGrR98vmVpQ/4h4iJbjQR2smIhffHaTBhAIdooxKGArTFAlvTvnDRe n6mPwhwLkjwr/GYOb7THqd5SRjgXOzncOQiUAz6CDLK5nngKALMTbFz5sZ/gncEEXylb 3QpGeE8BvZVYAcftCbDGIKpM7deXxstMfJIrAblkntCjTMnsMfIWhbGuz+9McEXpSxNp 7w2w== X-Forwarded-Encrypted: i=1; AJvYcCUsl8fB6qNVZJo1lmaSygN9ZpU5GODGgcjZ6BMxH+mrSl65J3hKMAO8o2i8ZGPqEIDYYfFsq5d44pDZQ18=@vger.kernel.org X-Gm-Message-State: AOJu0YxWM9/Z6iruCcT47PkduW1xo4eOAH7pcHFv8k5X6GVrWMdO2XyI 4uS7Wn72s6rMWoaBS3y+rQJSxgdlPuUlv+V6jeswQDBwckN0uP26yN48Q2FBgGw16tk= X-Gm-Gg: ASbGncsCuTDCc9dZfmmdFoPHwZ9n9T6VOwOAUkpHlOQnh7Kj/OIKeHS8TdUHvnI54aU ryIYgOTRE5aOUIaJvbW9snprvTL0U4NyxWOzb/8DRdmyv+Y65sSkDBU43JzllCU+I7pK2FSYGP5 kK9mZJrEuiTii4G5OeP9HnA84Nd7he/obD9KQWhM+6dmq7Z/SbzRPC08lOkjyGnRWqATuKYZ5n4 339UNhMg02iC47Tg57L3W+rwvv9AdIfQQcdbuWmJZloTTKPNyz/p8sNS4iDhk7bV+GYGFFgKVEv n8/bsibI0ZbP1v6p4MnGjgaveYNUiSK3+gstOJ6iHfYR7YH9LqL7+bBCsMYNCg== X-Google-Smtp-Source: AGHT+IHN5CLUSWO1xiRD+qqKfFwkQtfevB21L0QtujyoJrVD0RIup44F3ZYXGZ/DDsSpOXdt+Yp6ew== X-Received: by 2002:a05:6000:410f:b0:3a5:3a3b:6a3a with SMTP id ffacd0b85a97d-3a90075f95cmr8351749f8f.54.1751294174091; Mon, 30 Jun 2025 07:36:14 -0700 (PDT) Received: from zovi.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4538a4064b1sm139691695e9.29.2025.06.30.07.36.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 07:36:13 -0700 (PDT) From: Petr Pavlu To: Luis Chamberlain , Petr Pavlu , Sami Tolvanen , Daniel Gomez Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/5] module: Rename MAX_PARAM_PREFIX_LEN to __MODULE_NAME_LEN Date: Mon, 30 Jun 2025 16:32:36 +0200 Message-ID: <20250630143535.267745-6-petr.pavlu@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250630143535.267745-1-petr.pavlu@suse.com> References: <20250630143535.267745-1-petr.pavlu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The maximum module name length (MODULE_NAME_LEN) is somewhat confusingly defined in terms of the maximum parameter prefix length (MAX_PARAM_PREFIX_LEN), when in fact the dependency is in the opposite direction. This split originates from commit 730b69d22525 ("module: check kernel param length at compile time, not runtime"). The code needed to use MODULE_NAME_LEN in moduleparam.h, but because module.h requires moduleparam.h, this created a circular dependency. It was resolved by introducing MAX_PARAM_PREFIX_LEN in moduleparam.h and defining MODULE_NAME_LEN in module.h in terms of MAX_PARAM_PREFIX_LEN. Rename MAX_PARAM_PREFIX_LEN to __MODULE_NAME_LEN for clarity. This matches the similar approach of defining MODULE_INFO in module.h and __MODULE_INFO in moduleparam.h. Signed-off-by: Petr Pavlu Reviewed-by: Daniel Gomez --- include/linux/module.h | 2 +- include/linux/moduleparam.h | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/include/linux/module.h b/include/linux/module.h index 5faa1fb1f4b4..0f1dde3996d9 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -32,7 +32,7 @@ #include #include =20 -#define MODULE_NAME_LEN MAX_PARAM_PREFIX_LEN +#define MODULE_NAME_LEN __MODULE_NAME_LEN =20 struct modversion_info { unsigned long crc; diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 110e9d09de24..a04a2bc4f51e 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -6,6 +6,13 @@ #include #include =20 +/* + * The maximum module name length, including the NUL byte. + * Chosen so that structs with an unsigned long line up, specifically + * modversion_info. + */ +#define __MODULE_NAME_LEN (64 - sizeof(unsigned long)) + /* You can override this manually, but generally this should match the module name. */ #ifdef MODULE @@ -17,9 +24,6 @@ #define __MODULE_INFO_PREFIX KBUILD_MODNAME "." #endif =20 -/* Chosen so that structs with an unsigned long line up. */ -#define MAX_PARAM_PREFIX_LEN (64 - sizeof(unsigned long)) - #define __MODULE_INFO(tag, name, info) \ static const char __UNIQUE_ID(name)[] \ __used __section(".modinfo") __aligned(1) \ @@ -284,7 +288,7 @@ struct kparam_array =20 /* This is the fundamental function for registering boot/module parameters= . */ #define __module_param_call(prefix, name, ops, arg, perm, level, flags) \ - static_assert(sizeof(""prefix) - 1 <=3D MAX_PARAM_PREFIX_LEN); \ + static_assert(sizeof(""prefix) - 1 <=3D __MODULE_NAME_LEN); \ static const char __param_str_##name[] =3D prefix #name; \ static struct kernel_param __moduleparam_const __param_##name \ __used __section("__param") \ --=20 2.49.0