Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1526926ybk; Thu, 21 May 2020 08:57:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxK362HO1zktwBMveOTCV1tf6QlTa+IGimMjBhOUS5+D+/SXMvIPThSZFNbTfIzvJCiZMPp X-Received: by 2002:a17:906:1fd6:: with SMTP id e22mr4413725ejt.190.1590076651598; Thu, 21 May 2020 08:57:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590076651; cv=none; d=google.com; s=arc-20160816; b=gbpnW9TQVVQpflArFcIclxud8D8TFkfxUwFfm/G4WjYxgZOtRxILtXkUTN1d61fW7C RaY1HKzqtPss8Oms0TZKkqVz2rlcTIoE1tMwJ3Vo7EE5KLGxfjKf0+ay781SINvcBPpc DeGtt954a7ksitPg2j/Ma2hJHRxwiyWskiSYWspf8WP1RMlb4a9IN1VIzU4Vf78n5HrS df4iScWNpHwBbCyzTOeKXwBXQCb7Me+6WD5zesmvYqJ2JgIpGWxt9/emrppBtEUx/tg3 vnMqclS1n9JKjt6UAxj8KNyFTRDXy/vqPUJ/uKE0nD6h5MBfDxAhtvgrzD2ccH1lp3uk V/gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=PYhboJAJ7RUBKUATlYhVk5ySk5gU8YKi+aCx6DRehKg=; b=MLmcZHEtXCR9j2WGGnjwDLrTfsxg3H7W2N7xijKaJASzRLjtIyZ8ijfv8x5CrP6is2 g4iklMm0SE2DKJjyDQ47iMLUeeE/B91pjPjwounJ08g56L+NXnQxA6pej+s9Y3WZ3A8s YemNdcFxQ5AoF3Lw6rNHJHlZC6LtG+HBRvlpzI8cmAcYfRAfz2f8dz/S3eE/z0rMN3Jw 2EGSNsY33S4aegMXtY242kiHUZduPtejHaroAlQ6oDa16Xj9WwpeE8An8/DWl8bzBI2h dFGVxW4V7KU2TTvbCu+STuTveCgMIec6qpR42wURqYpma/S3uXv9cO6m/F0Nn41ndXZu NJ7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=dATQhHHQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c22si3305218edx.33.2020.05.21.08.57.08; Thu, 21 May 2020 08:57:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=dATQhHHQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728505AbgEUPzd (ORCPT + 99 others); Thu, 21 May 2020 11:55:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40192 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728342AbgEUPzd (ORCPT ); Thu, 21 May 2020 11:55:33 -0400 Received: from mail-il1-x144.google.com (mail-il1-x144.google.com [IPv6:2607:f8b0:4864:20::144]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06AD6C05BD43 for ; Thu, 21 May 2020 08:55:33 -0700 (PDT) Received: by mail-il1-x144.google.com with SMTP id y17so5352444ilg.0 for ; Thu, 21 May 2020 08:55:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=PYhboJAJ7RUBKUATlYhVk5ySk5gU8YKi+aCx6DRehKg=; b=dATQhHHQvJut0ZdygKw6g8AVHjd45Sqhq824JTQz3o6b/bur/kKqQ/50Asso5pexJn LZMlI99ySYlyVBwxVeWOx7L88HOPdVuLsE/R4OTPgjl8K4DkM9irR8FiBPwd2ysSZgiv xdtRA3KgWuxo2+dCzkmMg6FNqCbRUHSzVgMO8= 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:content-transfer-encoding; bh=PYhboJAJ7RUBKUATlYhVk5ySk5gU8YKi+aCx6DRehKg=; b=De+HsWBqrVRx957V2JMn7REpZooOTz2VhhQyl+3WFM3mgiIATkSJ9bMiULpYpAAfLv GMmQ06S7BZhzipfQrlCOc2B2sa7d/qa41t0HqOY+nF2dy4pYOnXRuBluR3Tg5xcuwKtW 1EzlxuMj0FYKTa8s19OmODGWCwm5taYhGWsNXuY8syyY8YVdbqiOP0GmquKZdMK+pDMp 0mDd4TZtcR4gU6blFQ7j1kpNEQ4AHUgh9/JRX5JMFw5DNSdoNxRHiI5dcxO4GwvIg9q6 oIkxwYVpeQWe0tCBZ8dJjPYEOS/RjuzE4nwoO+P3XMNvcqNsEcRFZTnnT11n5r11jCzK aaTg== X-Gm-Message-State: AOAM530KBEpOmoXwNTSpvURJ+ha55FsAzuhpsE+v3cDSRwDg5o8svTRi irJjlu2rrQXSPSgJF2p13TKzE4S+HEdMJI+KMFYUrRTV X-Received: by 2002:a05:6e02:ec2:: with SMTP id i2mr9391335ilk.262.1590076532103; Thu, 21 May 2020 08:55:32 -0700 (PDT) MIME-Version: 1.0 References: <20200521155346.168413-1-joel@joelfernandes.org> In-Reply-To: <20200521155346.168413-1-joel@joelfernandes.org> From: Joel Fernandes Date: Thu, 21 May 2020 11:55:21 -0400 Message-ID: Subject: Re: [PATCH RFC] sched/headers: Fix sched_setattr userspace compilation issues To: LKML Cc: Matthew Blecker , Jesse Barnes , Mike Frysinger , Christian Brauner , Vineeth Remanan Pillai , vineethrp@gmail.com, Peter Zijlstra , stable , Greg Kroah-Hartman Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 21, 2020 at 11:53 AM Joel Fernandes (Google) wrote: > > On a modern Linux distro, compiling the following program fails: > #include > #include > #include > #include > > void main() { > struct sched_attr sa; > > return; > } > > with: > /usr/include/linux/sched/types.h:8:8: \ > error: redefinition of =E2=80=98struct sched_para= m=E2=80=99 > 8 | struct sched_param { > | ^~~~~~~~~~~ > In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:74, > from /usr/include/sched.h:43, > from /usr/include/pthread.h:23, > from /tmp/s.c:4: > /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:23:8: > note: originally defined here > 23 | struct sched_param > | ^~~~~~~~~~~ > > This is also causing a problem on using sched_attr Chrome. The issue is > sched_param is already provided by glibc. > > Guard the kernel's UAPI definition of sched_param with __KERNEL__ so > that userspace can compile. > > Signed-off-by: Joel Fernandes (Google) If it is more preferable, another option is to move sched_param to include/linux/sched/types.h - Joel > --- > include/uapi/linux/sched/types.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/uapi/linux/sched/types.h b/include/uapi/linux/sched/= types.h > index c852153ddb0d3..1f10d935a63fe 100644 > --- a/include/uapi/linux/sched/types.h > +++ b/include/uapi/linux/sched/types.h > @@ -4,9 +4,11 @@ > > #include > > +#if defined(__KERNEL__) > struct sched_param { > int sched_priority; > }; > +#endif > > #define SCHED_ATTR_SIZE_VER0 48 /* sizeof first published struct = */ > #define SCHED_ATTR_SIZE_VER1 56 /* add: util_{min,max} */ > -- > 2.26.2.761.g0e0b3e54be-goog >