Received: by 10.192.165.148 with SMTP id m20csp3676861imm; Mon, 7 May 2018 17:09:18 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrZEU5ry39ZbHpnmM/nfvcbFUXNu/PItgkYFviLTsA8hhhKUsvRe2XOy+cH8VLMq5zrGvZ3 X-Received: by 2002:a65:5047:: with SMTP id k7-v6mr30454449pgo.93.1525738158835; Mon, 07 May 2018 17:09:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525738158; cv=none; d=google.com; s=arc-20160816; b=vlu0x9FNTZF93BLo8kICahgX3klCyWXQ4XOydL9JJrPaZZBlSnVet6DDT4A41YFtg7 1PTdXBXWvu0PsMoyQKj8B1keHdoFDCMk6ewYO6zE1rux/OO9rnGdLqZEGVzx5Bfw4MTM 5HkgPpy0PZ8w6WWVZkQz/4Pq0Jz/WUO8IXxqKEwR5K/dU/0c7CHYihZUYuzYX0+FhHu3 8wxqGFScE2lJep6dylwQgY97RjFD9dT8/8DxRYQ2pHdi/LeyZ82cJ8cvvPZ7372uRZa5 z6oAJcZHAuOkFostFZPGldEDat2Vnc5SvdSSIyZunocblrhkQcuqDadscajL94sAeeJN 0SCQ== 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 :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=MiE5/Xuvf8nAtxMj+IzXZGbjeo71FXbz7Ivys/J7ZkI=; b=jTYQK/YOKw4QFwfrKUJpq3zreipU+/GoZZ4CWfqOsM0ZVjpdUuavV39zHo3INWT3O3 9X6j63dBYSDhAI7h4CZODduzvHpk3U/zZoVV6FcKIy4WnBLkWgQjFWY0vHnx2RZqEczr fGGmNG8J2PSFvL+RTG6BKX1tjycJ77/P2NJbOBNsLJ0mu6vA14AEv2yQkSm0CdSAQcyd CENryiZpohatyiM7Bo0vq6rNtx25Gqmx+rVESxikxxQNUBHPTPWILLdcFFmmnCdU3YmX Xy0Efj3sBqmYOT9kMAb8UQf1ZSHpROO4d/w+aWrWrWBcAxlTXS9mTXNbYL++/oBI207h py/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=ZHfPEfpd; 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 e29-v6si22994273plj.518.2018.05.07.17.09.04; Mon, 07 May 2018 17:09:18 -0700 (PDT) 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=fail header.i=@gmail.com header.s=20161025 header.b=ZHfPEfpd; 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 S1753489AbeEHAI4 (ORCPT + 99 others); Mon, 7 May 2018 20:08:56 -0400 Received: from mail-qt0-f196.google.com ([209.85.216.196]:33818 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752954AbeEHAIy (ORCPT ); Mon, 7 May 2018 20:08:54 -0400 Received: by mail-qt0-f196.google.com with SMTP id m5-v6so38811315qti.1; Mon, 07 May 2018 17:08:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=MiE5/Xuvf8nAtxMj+IzXZGbjeo71FXbz7Ivys/J7ZkI=; b=ZHfPEfpdvXVCjACbao6E2tJR9atRAVMjAZtRQlxnB50YZcsObt8K6yoewbUC2N0O0E cLHvQLB1CqDZfEtvtV+u4YHos4OGqTAtmwqVPfEKycwnz5Y0ZgakRfXRX+VMOcL9+KW8 2RUf7YMBmJbhi5nztu4UGoHFhdcDnWmHJEYLutRipAp7ND8aaoXDMBcFu/EavyuIJ80k Rrx26SX2CBzfC8ttB6j0W0/7XI0gSPVZBZyV9gJykdxAIVzeEwZezeBo2KyTkUozMTRF glOWkxQQHwP8u+POd1hqs2BlgwHPHIdr68waoDp8NAzMuYhjQsg3WPsWhX/s2rR/+/Aa enlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=MiE5/Xuvf8nAtxMj+IzXZGbjeo71FXbz7Ivys/J7ZkI=; b=OKcIpudk8mJ3qMRGo/iNdRM7Ap48h4w4ZSmePmJvr+q57AxaLscqDPKZdePv8zghGN 36GRw9dFj1p96YmkE+AqWg/vTd1vz+oTj9dG4IBofgMABYM0bvPvT/4Y1S7ZqDU2PgLw qyTTl3zUP0AfGwhEeYXMRgRZIVCXjei0NT+toxlRU3T7hfSOxa5WQKqLaak+O1QXGoJb ozIITiGoJHs9Hcf20FNTjfP8QZs31j//BBqDyQKi+KG09Y3yUJyX1xCGEhPqCmLFlbZA UE33jSTM3993zkQoNv+UV+Hvi7b3r6NJ4CQ62/3pFMrnLb5Gw8uKnqmrRTs6LGp3sTYe HXzQ== X-Gm-Message-State: ALQs6tAmMtuQcNDhyZPvRo0tB5pifulRwWW8QgEimaYM9tMLB0Hr+2rs OJ2WDNl5RSj8cN/zWC+aS0Yc0eE7olSGx61b7+g= X-Received: by 2002:a0c:af34:: with SMTP id i49-v6mr19015622qvc.210.1525738133776; Mon, 07 May 2018 17:08:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.185.3 with HTTP; Mon, 7 May 2018 17:08:53 -0700 (PDT) In-Reply-To: <20180507213305.kfxabgkdvf7xwt7m@valkosipuli.retiisi.org.uk> References: <20180425213044.1535393-1-arnd@arndb.de> <2922276.lKgGZtlCEW@avalon> <20180507131906.rdvcmvim5gvi5odk@valkosipuli.retiisi.org.uk> <20180507213305.kfxabgkdvf7xwt7m@valkosipuli.retiisi.org.uk> From: Arnd Bergmann Date: Mon, 7 May 2018 20:08:53 -0400 X-Google-Sender-Auth: CRGUMaDb4d57fIkqj6BC4lf247g Message-ID: Subject: Re: [PATCH] [RESEND] [media] omap3isp: support 64-bit version of omap3isp_stat_data To: Sakari Ailus Cc: Laurent Pinchart , Mauro Carvalho Chehab , Linux Media Mailing List , Linux Kernel Mailing List 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, May 7, 2018 at 5:33 PM, Sakari Ailus wrote: > On Mon, May 07, 2018 at 04:36:45PM -0400, Arnd Bergmann wrote: >> On Mon, May 7, 2018 at 9:19 AM, Sakari Ailus wrote: >> > On Mon, May 07, 2018 at 04:17:32PM +0300, Laurent Pinchart wrote: >> >> On Thursday, 26 April 2018 00:30:10 EEST Arnd Bergmann wrote: >> >> > +int omap3isp_stat_request_statistics_time32(struct ispstat *stat, >> >> > + struct omap3isp_stat_data_time32 *data) >> >> > +{ >> >> > + struct omap3isp_stat_data data64; >> >> > + int ret; >> >> > + >> >> > + ret = omap3isp_stat_request_statistics(stat, &data64); >> >> > + >> >> > + data->ts.tv_sec = data64.ts.tv_sec; >> >> > + data->ts.tv_usec = data64.ts.tv_usec; >> >> > + memcpy(&data->buf, &data64.buf, sizeof(*data) - sizeof(data->ts)); >> >> > + >> >> > + return ret; >> >> >> >> We could return immediately after omap3isp_stat_request_statistics() if the >> >> function fails, but that's no big deal, the error path is clearly a cold path. >> >> I looked at it again and briefly thought that it would leak kernel stack >> data in my version and changing it would be required to avoid that, >> but I do see now that the absence of the INFO_FL_ALWAYS_COPY >> flag makes it safe after all. >> >> I agree that returning early here would be nicer here, I'll leave it up to >> Sakari to fold in that change if he likes. > > I agree with the change; actually the data64 struct will be left untouched > if there's an error so changing this doesn't seem to make a difference. > Private IOCTLs have always_copy == false, so the argument struct isn't > copied back to the kernel. > > The diff is here. Let me know if something went wrong... > > diff --git a/drivers/media/platform/omap3isp/ispstat.c b/drivers/media/platform/omap3isp/ispstat.c > index dfee8eaf2226..47353fee26c3 100644 > --- a/drivers/media/platform/omap3isp/ispstat.c > +++ b/drivers/media/platform/omap3isp/ispstat.c > @@ -519,12 +519,14 @@ int omap3isp_stat_request_statistics_time32(struct ispstat *stat, > int ret; > > ret = omap3isp_stat_request_statistics(stat, &data64); > + if (ret) > + return ret; > > data->ts.tv_sec = data64.ts.tv_sec; > data->ts.tv_usec = data64.ts.tv_usec; > memcpy(&data->buf, &data64.buf, sizeof(*data) - sizeof(data->ts)); > > - return ret; > + return 0; > } Yes, that's exactly what I had in mind. Thanks for fixing it up! Arnd