Received: by 2002:ac0:b08d:0:0:0:0:0 with SMTP id l13csp4515518imc; Mon, 25 Feb 2019 06:20:22 -0800 (PST) X-Google-Smtp-Source: AHgI3IYWMcTsScCdAWqoOhYj141204LyEN+yPEyBlOktUcqZBJjjGmA246Ohko5F9dAFuYxHrXC9 X-Received: by 2002:a17:902:2963:: with SMTP id g90mr17297027plb.182.1551104422398; Mon, 25 Feb 2019 06:20:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551104422; cv=none; d=google.com; s=arc-20160816; b=VM+lmCI6OnyTxAgtVd4k9kqn/Sor0+ay//NZoLVVnZw2VHMGKZ3So5qfoTQiPOT21W rEq8fMf0MT3ZFlVKj7IPIVNG/2/ALcw0OUKzg2Ud26E4E2GfMfX3qsFbw42r+BZ79Lvq QVevODlRUPi+QIrATn/U4CqmSpWFv0iWBuUPQFlDb39M0zr3U9Kk/4P5HSuz461a+GBK D+2SLiqEZgHNlwFyr792YZJDLGY1zRBU2rKVzpVY52UvkQUfLrUppDDIMkESkSkzTjLJ TE8s9YIiOmtE0K6odZWnDUNm6SxRMstwy4+WOUk193kvSlRRowufziYZWUqbTZzoWuFk ARfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=MNuIMyokVLzF2EOJQlmwGNQywdCsWYJSYSTHWv8S7o8=; b=qXdOEZdeesbM5XM1Wa9/2Sj+mKsvgTxGgCpEsUxvbZgSurJu8b/DVKW47mgy5WCI2d HIDCNySyQjuteYMhdpDUbCFksTKl/wjQ3HJby1xpUg1fWECl3CoHMb1kzHg+ePs3cjiT jKren8rq1b90T4yoQicf7KRVB/eEtFc0wCfhksAI2QwtW7FElMSmll+Znl6z2N/bvftX GZBUkFNq3IwmJrT1D9QCZczJyd3FCGYGqogbsPxLxY00hP6ZvxYdvLq4CcjDO5zdtDjq X+1C+n+cNIq61jzQEnrSDvBFAhD6MFQ3+eYMLJANrE59UQMI3IiOS9BxHlAZOio3uLvr 1Iiw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l30si10244537plg.113.2019.02.25.06.20.07; Mon, 25 Feb 2019 06:20:22 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727326AbfBYOTb (ORCPT + 99 others); Mon, 25 Feb 2019 09:19:31 -0500 Received: from mail-qk1-f196.google.com ([209.85.222.196]:45089 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726313AbfBYOT3 (ORCPT ); Mon, 25 Feb 2019 09:19:29 -0500 Received: by mail-qk1-f196.google.com with SMTP id v139so5317929qkb.12 for ; Mon, 25 Feb 2019 06:19:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MNuIMyokVLzF2EOJQlmwGNQywdCsWYJSYSTHWv8S7o8=; b=uIjTghtwwTwm9P4oIqXjgRgEjEYA/MpBJgh7Bng2t0gRhs1NS/hnh1iDECKJ5Trp4u 3g7b3PoSWWF5nX9vGDK4cFmoKB182mGCs0npU6IRKj0GczDiPdUANlMfB2OmzXoLqdN/ qPpl8PS4RwsUrz6sxU3/b+dnP931IPnXqAdnYGYvsHKWP+r+m9NF2MWJp5rGQdu+4Zz7 Q0KTlsoL6xF5oBLtDe5YcAJwlRQV56KbxxpV/JidTLI4zu7EZMAn4NRSV0nV86/g1Sgp Savh98vKg6v2ZWm80azAmHv+nwG6pcs3dSr35xyUdsysjq7SAxGe9s4jMmv/Nqqu1UNk ya2A== X-Gm-Message-State: AHQUAuaUjPfFyyKv3oFHY2kjsw5Em7H79+zQOEDTlHfC9Rj0CrbNj3m9 4oZalgGHQL83AQDMhqjhfPveqAQqK5rshtSl1Y4= X-Received: by 2002:a05:620a:12a5:: with SMTP id x5mr13164975qki.291.1551104367400; Mon, 25 Feb 2019 06:19:27 -0800 (PST) MIME-Version: 1.0 References: <20190225032619.17070-1-yaohongbo@huawei.com> In-Reply-To: From: Arnd Bergmann Date: Mon, 25 Feb 2019 15:19:10 +0100 Message-ID: Subject: Re: [PATCH] time64: Avoid undefined behaviour in timespec64_add() To: Deepa Dinamani Cc: Hongbo Yao , Thomas Gleixner , Linux Kernel Mailing List , Linuxarm Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 25, 2019 at 10:07 AM Arnd Bergmann wrote: > On Mon, Feb 25, 2019 at 10:01 AM Arnd Bergmann wrote: > > On Mon, Feb 25, 2019 at 5:53 AM Deepa Dinamani wrote: > > > On Sun, Feb 24, 2019 at 7:13 PM Hongbo Yao wrote: > > diff --git a/drivers/net/ethernet/cadence/macb_ptp.c > b/drivers/net/ethernet/cadence/macb_ptp.c > index a6dc47edc4cf..0d5ebde29c0d 100644 > --- a/drivers/net/ethernet/cadence/macb_ptp.c > +++ b/drivers/net/ethernet/cadence/macb_ptp.c > @@ -160,7 +160,7 @@ static int gem_ptp_adjfine(struct ptp_clock_info > *ptp, long scaled_ppm) > static int gem_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta) > { > struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); > - struct timespec64 now, then = ns_to_timespec64(delta); > + struct timespec64 now; > u32 adj, sign = 0; > > if (delta < 0) { > @@ -170,7 +170,7 @@ static int gem_ptp_adjtime(struct ptp_clock_info > *ptp, s64 delta) > > if (delta > TSU_NSEC_MAX_VAL) { > gem_tsu_get_time(&bp->ptp_clock_info, &now); > - now = timespec64_add(now, then); > + now = timespec64_add(now, ns_to_timespec64(delta)); > > gem_tsu_set_time(&bp->ptp_clock_info, > (const struct timespec64 *)&now); This part of of course completely bogus, I had first changed it to timespec64_add_ns() for testing, and then back. Please ignore. > diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c > b/drivers/net/ethernet/intel/i40e/i40e_ptp.c > index 5fb4353c742b..4efcba0252a4 100644 > --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c > +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c > @@ -151,7 +151,7 @@ static int i40e_ptp_adjtime(struct ptp_clock_info > *ptp, s64 delta) > mutex_lock(&pf->tmreg_lock); > > i40e_ptp_read(pf, &now, NULL); > - timespec64_add_ns(&now, delta); > + timespec64_add_ns(&now, ns_to_timespec64(delta)); > i40e_ptp_write(pf, (const struct timespec64 *)&now); > > mutex_unlock(&pf->tmreg_lock); > I think this is still needed, I've added this to my y2038 backlog and will send a patch for it eventually. Arnd