From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932793AbbGHUKF (ORCPT ); Wed, 8 Jul 2015 16:10:05 -0400 Received: from mail-ig0-f170.google.com ([209.85.213.170]:37950 "EHLO mail-ig0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758788AbbGHUJ4 (ORCPT ); Wed, 8 Jul 2015 16:09:56 -0400 MIME-Version: 1.0 In-Reply-To: <1435587807-10008-2-git-send-email-bamvor.zhangjian@linaro.org> References: <1435587807-10008-1-git-send-email-bamvor.zhangjian@linaro.org> <1435587807-10008-2-git-send-email-bamvor.zhangjian@linaro.org> Date: Wed, 8 Jul 2015 13:09:55 -0700 Message-ID: Subject: Re: [RFC PATCH v2 1/4] y2038: add 64bit time_t support in timeval for 32bit architecture From: John Stultz To: Bamvor Zhang Jian Cc: Arnd Bergmann , Thomas Gleixner , y2039@lists.linaro.org, lkml , Baolin Wang Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 29, 2015 at 7:23 AM, Bamvor Zhang Jian wrote: > +int get_timeval64(struct timeval64 *tv, > + const struct __kernel_timeval __user *utv) > +{ > + struct __kernel_timeval ktv; > + int ret; > + > + ret = copy_from_user(&ktv, utv, sizeof(ktv)); > + if (ret) > + return -EFAULT; > + > + tv->tv_sec = ktv.tv_sec; > + if (!IS_ENABLED(CONFIG_64BIT) > +#ifdef CONFIG_COMPAT > + || is_compat_task() > +#endif These sorts of ifdefs are to be avoided inside of functions. Instead, it seems is_compat_task() should be defined to 0 in the !CONFIG_COMPAT case, so you can avoid the ifdefs and the compiler can still optimize it out. Otherwise this looks similar to a patch Baolin (cc'ed) has been working on. thanks -john