Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2620576imu; Sun, 27 Jan 2019 09:07:08 -0800 (PST) X-Google-Smtp-Source: ALg8bN6kGbCbw0SkxWyj9hCEpAUblGrOEChDkuF6obLd3sKt6/Ox5u4hC8I742UWh8H8Lxu8i2Ud X-Received: by 2002:a63:a91a:: with SMTP id u26mr16676821pge.349.1548608828859; Sun, 27 Jan 2019 09:07:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548608828; cv=none; d=google.com; s=arc-20160816; b=HZXwBUI7VQKicr+YIMaN85BHxa8vFOoh7dzuao63NnIN2nrWdH3lwn9p2Es18d3SVM cTcNr2tYFgkXKVuuciJQDf3jcnjCCfFjKtLv+/k0VvdKHtg5f7am5hUaEHRZ4n6v85dm VQzb00tQhWhq65jZSQKPMAt+HF0bavBs4VU8475sK/xlMLvDziiyMAApxgn7LBdoTzdH tvWvzgAnjf3gB8k5h0igFKplQbUe/uHqi2p8p//bBQ577VZuGK5wvqNXQMEU4NNdg5YL GkuRgjN5xmH6D8clOSMRNKTy7jmmWmgjzBvPh/uvq4p5vwElNYXGCuaCKBv6kDFIK4Gc MMXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=Sma05UWp7WpMYi0Ezyl+f9wPmZwqolw3bx+B9uu1bOo=; b=h/sqyLs+mdSuQF3WW9gKE7ue86KacYn645pRWh6pfwayKDYNRF075QSraZxNqL9VOt nbeFgQXCKZ/nxLgldXYep92wVqmne2ja/fE5fODXPyeA0bWZjKQJPfQdwLTXa7f3P4fQ ftTV2axj1qJmHN6Pxj1iKGIfbXtUzrnPNWlNlYPRzaxmR9ngsEz2Zwdf86SNcTJwDB6I t6qfMGeZRNRCU36tnsVDhUPi+0kQfjYOz2P0H80X+mODqSWog0WxIbKhBzQW4gsOTSCx csqlHueU7gUGdgAI5ry45OMXD2mbkr4yQCbJtLzii5BXjzRL6ul9Rr1wNvx384Tm+D5m 8twQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=O0ep6hFD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b15si30900900plm.431.2019.01.27.09.06.53; Sun, 27 Jan 2019 09:07:08 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=O0ep6hFD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726840AbfA0RGs (ORCPT + 99 others); Sun, 27 Jan 2019 12:06:48 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:53312 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726357AbfA0RGs (ORCPT ); Sun, 27 Jan 2019 12:06:48 -0500 Received: by mail-wm1-f67.google.com with SMTP id d15so11429970wmb.3 for ; Sun, 27 Jan 2019 09:06:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Sma05UWp7WpMYi0Ezyl+f9wPmZwqolw3bx+B9uu1bOo=; b=O0ep6hFDtGZdW7O6R6Pc6nz2kWDdePCvJh2bmesVv+V00G8i1BVXa/4ean0nYhizg6 do62DUFyWqSjlwklYdSqBc9hGGAc9OL2GB+d1pCFkstLgQDu66rK91Nel+VVv24wP1j+ 6/krM6azhVX73UKLBMcoL8rU8qNARUaIULKHwn1U20uVazCa0saxD4WFqjNURXGrIHIw 3ZCCeHQxMl9vtto7MNkLtZqgUsHWgpHI8dpaDVXTNAx2JPDDM6UxyYFiJ7FhamAZz81j fs3CEVZZI+/AUT5Ywp6dBJ5thLnbgrQXBKjBnCe7lLMNazDqIczN0/l3gB2ktkYDSZwU iOmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Sma05UWp7WpMYi0Ezyl+f9wPmZwqolw3bx+B9uu1bOo=; b=Csd7bFot3aA0TqC8jOyOxEqu3CDnuQIebj5gZQb6nzU77aPhlvtbN1VnuK6xuU8o3r 7VRSadcw4TJkg/Nwxjp/OrHJGBePqSHgbX60almP2kAVLNtkolZAXifcNS1cqcMtrWoV 7j6GnjIGyAgsba9zNqmKKEn9+1T0jGR38H2+gqGQIzGwTWvjh2PbyvjqOvH3VFLqlMnG RVQ/LR3LILSvICglLYa563Z14NBRyKSVEsmPur8a7tC5uluwgAsi+pB/7PstWdIBB0VR Mh9K9qSXdrTXaAGTD5aHOBc/zmbCs1PvldvBmGcGYVnWlDn8n8YXyd1dC0Ft1VN4F4DZ I3kg== X-Gm-Message-State: AJcUukdwDnFp5hF8Jkd9u41+TCnrz9IxRdWb4TR+8Vspj3y6ZRv4Itza b/gNZtmurJWBbOJLCGJcJkUp+qkHYoM3Ig== X-Received: by 2002:a1c:cc2:: with SMTP id 185mr14500876wmm.1.1548608805837; Sun, 27 Jan 2019 09:06:45 -0800 (PST) Received: from winie.fritz.box (i59F4FF78.versanet.de. [89.244.255.120]) by smtp.gmail.com with ESMTPSA id h1sm47514893wmb.0.2019.01.27.09.06.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 27 Jan 2019 09:06:44 -0800 (PST) From: Florian La Roche X-Google-Original-From: Florian La Roche To: linux-kernel@vger.kernel.org Cc: Crt Mori , Joe Perches , Davidlohr Bueso , Will Deacon , Peter Zijlstra , Linus Torvalds , Florian La Roche Subject: [PATCH 1/1] int_sqrt() adjustments Date: Sun, 27 Jan 2019 18:06:18 +0100 Message-Id: <20190127170618.22800-1-Florian.LaRoche@googlemail.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Florian La Roche int_sqrt() and int_sqrt64(): Add __attribute_const__ and adjust to use (signed) int for the right param of "<<". Signed-off-by: Florian La Roche --- include/linux/kernel.h | 4 ++-- lib/int_sqrt.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 8f0e68e250a7..df03a3cca309 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -513,10 +513,10 @@ extern int __kernel_text_address(unsigned long addr); extern int kernel_text_address(unsigned long addr); extern int func_ptr_is_kernel_text(void *ptr); -unsigned long int_sqrt(unsigned long); +__attribute_const__ unsigned long int_sqrt(unsigned long); #if BITS_PER_LONG < 64 -u32 int_sqrt64(u64 x); +__attribute_const__ u32 int_sqrt64(u64 x); #else static inline u32 int_sqrt64(u64 x) { diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c index 30e0f9770f88..75d930dd1802 100644 --- a/lib/int_sqrt.c +++ b/lib/int_sqrt.c @@ -16,14 +16,14 @@ * * Computes: floor(sqrt(x)) */ -unsigned long int_sqrt(unsigned long x) +__attribute_const__ unsigned long int_sqrt(unsigned long x) { unsigned long b, m, y = 0; if (x <= 1) return x; - m = 1UL << (__fls(x) & ~1UL); + m = 1UL << ((int)__fls(x) & ~1); while (m != 0) { b = y + m; y >>= 1; @@ -45,14 +45,14 @@ EXPORT_SYMBOL(int_sqrt); * is expected. * @x: 64bit integer of which to calculate the sqrt */ -u32 int_sqrt64(u64 x) +__attribute_const__ u32 int_sqrt64(u64 x) { u64 b, m, y = 0; if (x <= ULONG_MAX) return int_sqrt((unsigned long) x); - m = 1ULL << ((fls64(x) - 1) & ~1ULL); + m = 1ULL << ((fls64(x) - 1) & ~1); while (m != 0) { b = y + m; y >>= 1; -- 2.17.1