From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.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 A902C4C9009 for ; Wed, 22 Jul 2026 10:24:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784715844; cv=none; b=ZSnEbi8c9QiXcAqqgWos3Ess8546CUjv0t9iMCbdH0bUzNbdxvspMSxzVW1SoPQmEfZQVIlLc9RYwWqc4dJrgBWwgkn3XOc+IDEphzodXquq5sOQ/soy/Eh8bL8vsh33M821iFpNETreBdd/s9/x/Vb6rpoTTXhV5umNlR0vO7w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784715844; c=relaxed/simple; bh=Ptxom8yk4fASx77MPZiuRpsTqYpzV5pGr1a0xQNneJo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=cOe+9lE0zBbVxSeognjSD/qqtvrkAYswPp8x52GiZVOK81ZfCi5dnOlqckXyJwmgPhyqxd/MZIx+UAbwLYwvlbJgpugIGf1JCVnkdY9IVtbzU6NQft1/+C4KZnr8/tNVhnX71Ay/mWY/X8q1i4Z0sclpDAbhK1htDb/P+DD1N/0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RWOKvmvk; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RWOKvmvk" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-699fbcd23ccso18055420a12.1 for ; Wed, 22 Jul 2026 03:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784715841; x=1785320641; darn=vger.kernel.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=pZpUKijcNxUS+SVWi3is1Z3jVhvqi+q/3wghy2nKPr0=; b=RWOKvmvk97iTX2I86Qe2YbtT//Q4zZKCs3XV45Nsi+qyfW2G/DkXI/jWeiAA+3KVUJ QeSXa5kZxpCIS8tUdeF3hExYBknls/W9kPF6YF+/9YLBBsT3cvaao2u6nt0zeTnAzr/S Lam7uClJDna/leG+Fx+3cobi2fCTsqFK4EHPM12UTV5YQlK+UOvobLD7DpnQhBx9puuV 1w8ZGpJkzcCyi+0bXsMDuoZQbOP+dqDQM9akJGbzJaiEQyr0agvMz7IRFR90n9gqRy0e 8f1qHPTcdjZzq3VLfKLw99q21fRXhZ2eEynllDHD2bHbhE67/sM2R2GlnKQY1WbvQZz4 uQeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784715841; x=1785320641; h=references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pZpUKijcNxUS+SVWi3is1Z3jVhvqi+q/3wghy2nKPr0=; b=MMr7K9eGhryAWAR9XFlHuQhoGrGxwM8Gmu/e8uws5wvBnnsvGrSTl3a1ZA2J3EN5wF J8lI9j8bujdVRU3okoFwhm6QvKbKpp4B7ihRfkElAV6xyPp30uQkyAcJAPa/3PIp7bck 0AkQAATRO6zhpmgc1UhsSRkuQNWJA/N7COVVs9hBGelg5DNWfHjy9XVeNkAWU7hgbApY A+CoEiUmgllpjCjOpS7wMQlluWkSQh1AUNgaufAYI5PwZ3TTo7n2/oHqix8enV4CqIyf lJBslCXQRbKCWi0zNxf9jnICNhqU2s3+N/hyd/CRouSoPbqZPwsG1oFlu4L3rFCMuEwt gPPw== X-Forwarded-Encrypted: i=1; AHgh+Rq24Hlyrpk+AAb1yw5R6O69opaVi5f8G0IATwecavVhW2MsvTo+PR2Zdn9an4NF2VlTZz2jfd468476cps=@vger.kernel.org X-Gm-Message-State: AOJu0Yyaq0bqCMk7FK96WQsDBJx2ZDPmy7th2t9zusFK5H0uV8qId7X9 OAx3SQx73UrWIuJ+a9GxwVHgrnIuaCXWchdp79LdAeITmcSBFKIl/4H8vgelHA== X-Gm-Gg: AR+sD12vT2pZ+nojgvo0lncCacScvMdScr4DpBCTK5Ay/ME0OS5T+d6jD1qGYkWJK3B Ui6m5gGBK3XwtnqJ+bMHNWOATJ2X4pu3pUauzJMLY9oSql0mwvdeYXsdkEdUGjQVweH3Hd7liXR mgFC0ll5QMugv3xon4OidPps0bQ1hK+vaquNf0UFoyqLA/tc24Gp45Oyt6zcifjtBuLMvbdgW9x L7LgyvjxtcsbQIJ7sm/tlqdjwhjpc2I23Vxocfqbd0TfPR0KtjgQL4c3GBse6jtHjrKjhHTCDIx YlQ+muJLpJ01Wux6GJDHnHmeyoB/ci5tBRcsguZsYPIYQZHpNaqoXOO6k/EepUELlM2uS5ZM+6g NAU9XhNJYrTofU7SfVzc2Iz8j5ZTqjZqRKrPe/hHLuWiSv/B/Ip1egFvt0HLfSHpKP38R7txK0A dSPFV9yRUB06JQPfWwvbAO8sjgI3b7cQ== X-Received: by 2002:a05:6402:5055:b0:698:4291:b85c with SMTP id 4fb4d7f45d1cf-69e65257a59mr7126187a12.8.1784715840825; Wed, 22 Jul 2026 03:24:00 -0700 (PDT) Received: from localhost (c-85-228-45-68.bbcust.telenor.se. [85.228.45.68]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69f350365desm758729a12.26.2026.07.22.03.23.59 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 22 Jul 2026 03:24:00 -0700 (PDT) From: Eli Billauer To: gregkh@linuxfoundation.org Cc: arnd@arndb.de, linux-kernel@vger.kernel.org, Eli Billauer Subject: [PATCH v2 4/7] char: xillybus: Use unsigned arithmetic for jiffies differences Date: Wed, 22 Jul 2026 12:23:04 +0200 Message-Id: <20260722102307.49090-5-eli.billauer@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260722102307.49090-1-eli.billauer@gmail.com> References: <20260722102307.49090-1-eli.billauer@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Change the type of jiffies-related deadline variables from long to unsigned long, and remove unnecessary casts when computing time remaining as deadline - jiffies. No functional change is expected: although signed overflow is undefined in the C standard, processors perform the calculation correctly in practice. Using unsigned arithmetic is nevertheless the proper way to handle jiffies differences. Signed-off-by: Eli Billauer --- Notes: No change on v1->v2. drivers/char/xillybus/xillybus_core.c | 5 +++-- drivers/char/xillybus/xillyusb.c | 17 ++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/char/xillybus/xillybus_core.c b/drivers/char/xillybus/xillybus_core.c index 952ef149aba1..7acebc1e6050 100644 --- a/drivers/char/xillybus/xillybus_core.c +++ b/drivers/char/xillybus/xillybus_core.c @@ -694,7 +694,8 @@ static ssize_t xillybus_read(struct file *filp, char __user *userbuf, unsigned long flags; int bytes_done = 0; int no_time_left = 0; - long deadline, left_to_sleep; + unsigned long deadline; + long left_to_sleep; struct xilly_channel *channel = filp->private_data; int empty, reached_eof, exhausted, ready; @@ -938,7 +939,7 @@ static ssize_t xillybus_read(struct file *filp, char __user *userbuf, return -EINTR; } - left_to_sleep = deadline - ((long) jiffies); + left_to_sleep = deadline - jiffies; /* * If our time is out, skip the waiting. We may miss wr_sleepy diff --git a/drivers/char/xillybus/xillyusb.c b/drivers/char/xillybus/xillyusb.c index 7d2434c02fa7..aa08206a18ef 100644 --- a/drivers/char/xillybus/xillyusb.c +++ b/drivers/char/xillybus/xillyusb.c @@ -1127,12 +1127,13 @@ static int xillyusb_send_opcode(struct xillyusb_dev *xdev, */ static int flush_downstream(struct xillyusb_channel *chan, - long timeout, + unsigned long timeout, bool interruptible) { struct xillyusb_dev *xdev = chan->xdev; int chan_num = chan->chan_idx << 1; - long deadline, left_to_sleep; + unsigned long deadline; + long left_to_sleep; int rc; if (chan->flushed) @@ -1141,7 +1142,8 @@ static int flush_downstream(struct xillyusb_channel *chan, deadline = jiffies + 1 + timeout; if (chan->flushing) { - long cancel_deadline = jiffies + 1 + XILLY_RESPONSE_TIMEOUT; + unsigned long cancel_deadline = + jiffies + 1 + XILLY_RESPONSE_TIMEOUT; chan->canceled = 0; rc = xillyusb_send_opcode(xdev, chan_num, @@ -1152,7 +1154,7 @@ static int flush_downstream(struct xillyusb_channel *chan, /* Ignoring interrupts. Cancellation must be handled */ while (!chan->canceled) { - left_to_sleep = cancel_deadline - ((long)jiffies); + left_to_sleep = cancel_deadline - jiffies; if (left_to_sleep <= 0) { report_io_error(xdev, -EIO); @@ -1202,7 +1204,7 @@ static int flush_downstream(struct xillyusb_channel *chan, } while (chan->flushing) { - left_to_sleep = deadline - ((long)jiffies); + left_to_sleep = deadline - jiffies; if (left_to_sleep <= 0) return -ETIMEDOUT; @@ -1435,7 +1437,8 @@ static ssize_t xillyusb_read(struct file *filp, char __user *userbuf, struct xillyfifo *fifo = chan->in_fifo; int chan_num = (chan->chan_idx << 1) | 1; - long deadline, left_to_sleep; + unsigned long deadline; + long left_to_sleep; int bytes_done = 0; bool sent_set_push = false; int rc; @@ -1464,7 +1467,7 @@ static ssize_t xillyusb_read(struct file *filp, char __user *userbuf, bytes_done += rc; chan->in_consumed_bytes += rc; - left_to_sleep = deadline - ((long)jiffies); + left_to_sleep = deadline - jiffies; /* * Some 32-bit arithmetic that may wrap. Note that -- 2.34.1