From nobody Mon May 25 02:54:15 2026 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.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 254A33F1ADE for ; Tue, 19 May 2026 10:40:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779187235; cv=none; b=nkp/zQ+6AIHcyKUCT8GsJ48VMmpsEa77BFOSv2zrOENezU4XBgbLOLmipijcW3KapUgL7Pp1FSLpUY7ODowHDGE+l+9yjMo6Yi6B9FXtXeOBQ5Q74takEpcVUAjL4SJA/DpxbdQHy5FwdwDCCvRPKdXACOfwy8bD+PP3owT/Dhk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779187235; c=relaxed/simple; bh=d6vgl9ypPHvj10rzp2mxFByyePBOXUZEP/SDnhXe/gI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EMZMPUABgGpar02iYbu5hC0b62pIFGbXbMFLdcUX8Ogru5TO0JWb0bG9Eo848RUY79+luZ8nLWNJoepKEs/q8zXgV+gsDHX5HrS/a4TaSxpDmZVVsV1eSwWPcX1tA8/PvR43fACXJcsNBWTHv4u3cgw3Kwq4SmQ4qiZ/dl9adGs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=mY6iPMRK; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="mY6iPMRK" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b8f9568e074so786347466b.0 for ; Tue, 19 May 2026 03:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1779187232; x=1779792032; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WEnY7ffzvIWGaANM2dU5Ty/yFE2of6zlzER9jhDIQeI=; b=mY6iPMRKiI9s9aUU2f0i2tgCkJ7+axhEQgUoRLqS27jM8A1y6KOJWu0O9XzAz78jbB JS6WHY4gib1CKS+9+nWbR2qQUMLyv/MYFrksjlEjfWXrkxzvhitR1XrZVfgK9DPcNW80 wZefKN7+gqp75lIQj/Zm45Fd1S0dGlCGsoNu0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779187232; x=1779792032; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WEnY7ffzvIWGaANM2dU5Ty/yFE2of6zlzER9jhDIQeI=; b=MbAzVauuE4SbVHRwhsh50vnspmzUwFDm8a6HVGj8Lm0OLlppUJ7xU8AsDe+3buAg2W eTarlVcelcJweX5rZ4bIH0l36L1R/PGseVIiPl4xEboppKZ17S5OjGqgypDJOURKVmmy ooYRlmRJih5TCl6NL+r1048zUGj4JUwTz5bNaZC5c+3lsimeaINrfxgvFi+ls/48P5Co AFwYmdGT3SPwGN9xh/ReyA7nedLk0VsqNp1D8ZkWDWzx+PB41Y4O9AhfW1rw8IGg/NTV q1sE9otgO96zlIQSWoVY313YmFt41fgsyvldTA2E/6ZyiMJW1MTeNMQrttdkp5/EL7DO QJyg== X-Forwarded-Encrypted: i=1; AFNElJ9ZaV2uQhv2yPpXgddgDmTJ8wxFQ444w2rOdiuZSAz/usxgcXwgh9Nc1bggNxybnVueFHOS9W+TK4Nc/u8=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3tpydZT6B16indTOGVwS7KvRe3kTFB4IRyvBXgBJJEOKxHyKj j9Od14N+2JOQ0equxc6xEWRN5IqeVTBY2HiSkEJDZeg+6yKqgZZfN44P73zrzHHjNSg= X-Gm-Gg: Acq92OHHLBaCnFKGrfgFx9C5MAvcRurdAUHuFc1DFVhc9pAjdpiYMo7OQIyz2lBUZQO fMMQ5XjRshHyr01fVKYrA8sxP5lk2xTSrcz0s0Kwfq2zITCTEcFu8rI9oepImdU2fbygHPjvYrQ 95jLHdIa/4GByy0pDcIgWL6fZKFL3V4mwfDzk1HOa201sTtQ/29qqLo8HF+amV93z2+a30daxVh 7b+E4NAQjDcGRcANfTQiaT9STzI3ueyaINyu/ZtfS+boLKJfpNUMkpRllZ90kP4N4FGtYHbUIqH c/fTkWt3E/ZSA/rlY5pvU+hB1IPit6unZBFU2F/Erof2J3TUaph0LpcFllfKJekEWtOsNfCEi3Y Pg4eQWcwyt+9oO1QAjt6ckFodTocZyXwO2FO10ZByectsCPXIKrIjbkT1XDRBV5AH4BrZIfjBeG 6QdrwMfcsX+ftpCgiyjRX+wSxfYi8uVvlM/curTUWco1o0POQeurW78YwH+CO4O9u71A7suKrAz wWQDi74Pm+jPE2/ONbQFk4ZIxyYViGQ7EpwY2jofa7q3Oo= X-Received: by 2002:a17:907:ea8:b0:bd0:4f6e:9b2f with SMTP id a640c23a62f3a-bd51780c078mr1087512466b.1.1779187232495; Tue, 19 May 2026 03:40:32 -0700 (PDT) Received: from fedora.tail032493.ts.net (98-215-98-95.ftth.glasoperator.nl. [95.98.215.98]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bd4f4c31404sm691431166b.25.2026.05.19.03.40.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 03:40:31 -0700 (PDT) From: Andrea Calabrese To: brauner@kernel.org, oleg@redhat.com, akpm@linux-foundation.org, peterz@infradead.org, tglx@kernel.org, kexinsun@smail.nju.edu.cn, adrianhuang0701@gmail.com, elver@google.com, linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Andrea Calabrese Subject: [PATCH] kernel: refactor: shorten has_pending_signals Date: Tue, 19 May 2026 12:33:18 +0200 Message-ID: <20260519103316.122139-3-andrea.calabrese@amarulasolutions.com> X-Mailer: git-send-email 2.54.0 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" In has_pending_signals there was a switch/case pattern that did not need to be there, as the default for loop also covers those cases. put i inside the for declaration so we do not risk its escape from the scope. Moreover, i starts now from 0 and counts up, as it is a more usual pattern. Signed-off-by: Andrea Calabrese --- This patch does not change the binary output of the file kernel/signal.o. A diff between the files gives shows (old -> new): 2072c2072 < case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; --- > ready |=3D signal->sig[i] & ~blocked->sig[i]; 2149c2149 < case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; --- > ready |=3D signal->sig[i] & ~blocked->sig[i]; 2155c2155 < case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; --- > ready |=3D signal->sig[i] & ~blocked->sig[i]; 9799c9799 < case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; --- > ready |=3D signal->sig[i] & ~blocked->sig[i]; 9805c9805 < case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; --- > ready |=3D signal->sig[i] & ~blocked->sig[i]; kernel/signal.c | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index 2d102e025883..799ee98cf03e 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -130,28 +130,10 @@ static bool sig_ignored(struct task_struct *t, int si= g, bool force) */ static inline bool has_pending_signals(sigset_t *signal, sigset_t *blocked) { - unsigned long ready; - long i; - - switch (_NSIG_WORDS) { - default: - for (i =3D _NSIG_WORDS, ready =3D 0; --i >=3D 0 ;) - ready |=3D signal->sig[i] &~ blocked->sig[i]; - break; - - case 4: ready =3D signal->sig[3] &~ blocked->sig[3]; - ready |=3D signal->sig[2] &~ blocked->sig[2]; - ready |=3D signal->sig[1] &~ blocked->sig[1]; - ready |=3D signal->sig[0] &~ blocked->sig[0]; - break; - - case 2: ready =3D signal->sig[1] &~ blocked->sig[1]; - ready |=3D signal->sig[0] &~ blocked->sig[0]; - break; - - case 1: ready =3D signal->sig[0] &~ blocked->sig[0]; - } - return ready !=3D 0; + unsigned long ready =3D 0; + for (long i =3D 0; i < _NSIG_WORDS; i++) + ready |=3D signal->sig[i] & ~blocked->sig[i]; + return ready !=3D 0; } =20 #define PENDING(p,b) has_pending_signals(&(p)->signal, (b)) --=20 2.54.0