Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp820092pxy; Wed, 5 May 2021 14:58:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/Cs+kNqEL64Qz/HodWqVunu4Cj0TekYw+iVGG0jjdV80YsA20KE3hlUuNLvCTZT+pvMF+ X-Received: by 2002:a05:6402:416:: with SMTP id q22mr1241036edv.204.1620251900501; Wed, 05 May 2021 14:58:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620251900; cv=none; d=google.com; s=arc-20160816; b=RrTpjK8kYdbhNzsW5suzAqpWsJz/tHyQ/aCjLvTx7c3tUIzebjOAwfWS+oT0i451DP IyEfEeVW6JKvmRU7HM/ewQD+oJ5x+vtuoOLgojfG67E5Eta5Rwus2Mpzvb5s7V8R7tWQ Ywz5itBmxPUGZXkiUjEm0UCQSL4KOKEsdn1Szv6YsmoxuB+FWRt6+LoLNyKJR0Lnq+8F 09apIrMstyK+q14zKnpCxwyZSxMMm2RjwzeHS62iXV5OOkb13skmWplGwZPWU8SmJNWs zjoctUbsLSyXgL/nXOFfYi8krhltTntTKdTEJ8iF9VydwsdcTK4wiG+Aj0EghqqGKRr6 sk5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=EpXkesvqHOL8k54CBCo40z1c8NG5SDEJNQ8hz6LZPW8=; b=WboZcrMOEl9Av+1sTLYWZKHq8NOwM950p6x9uy4YY52jFjlAUroFeP0a9COS3vfbvD aCHfczYZ6aPZ7IJMYggj6yLKuGcQR+CJWJDO9Pm0CH9TMGHt18bIr2RU46vAsjsq5EiZ TJ1SOtsjUdA9twG5msRMN5uQiduGVZ94+lZDtYmjlhSinmkWsUBvDckL9jC6JPRoqy85 anv0sZa5brSp+M3qiEhk8dNW5Xur1OJwG87FaEATJCMx6CMOqSsJg6ykevDDYZrlN3EK IPqNsKdGoMh229kedM4aIiqAHLYVIMhm8LzJ8YFpJIIA4JTtyZHbs5ft5jk5sULg1oz8 PXGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=vI0evSyV; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g23si539818ejd.450.2021.05.05.14.57.56; Wed, 05 May 2021 14:58:20 -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=@google.com header.s=20161025 header.b=vI0evSyV; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234907AbhEER50 (ORCPT + 99 others); Wed, 5 May 2021 13:57:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233946AbhEER5I (ORCPT ); Wed, 5 May 2021 13:57:08 -0400 Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7213CC025387 for ; Wed, 5 May 2021 10:27:52 -0700 (PDT) Received: by mail-ot1-x334.google.com with SMTP id d3-20020a9d29030000b029027e8019067fso2366172otb.13 for ; Wed, 05 May 2021 10:27:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EpXkesvqHOL8k54CBCo40z1c8NG5SDEJNQ8hz6LZPW8=; b=vI0evSyV7t9DWQjtznpLUR2rImOSJyA5xmP6QnZKJnXJGSMySPLjcPkM2OaFJz/xdz BkAr4ISlfXkLOfwaRCoDGAf+xbbMkc0LIzfErF/sL449OtqyPtZCwtyx+8cVwEYtFI4d h3sCat0O20mfUmzxf/1TaBHng6DBsc0mqwMnbERKdaLqdQp4Hqw7XmZ+qBZqBtF1hZqM rmjynPusGQJMemZNWc0scoA9lVuUxhXGLTz3qRTayl5LZhFeLD7lBum0WZLBNmG2DR1k 4mflGXgb1Z5WNvQR18blkwwFmmrI0tFc6qvXiT6nhFPfpvdTTQcoS3IQg6d5nS1+BqOS AhRA== 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=EpXkesvqHOL8k54CBCo40z1c8NG5SDEJNQ8hz6LZPW8=; b=TlrJ/TjmW8L2QFtrcjTDAnKKfNZYmivFvsLPwMvNqeNML2ju0nUHMCcxJDs5UUPrk0 Hp3cv6yFsSiOXtbMD19hlDGmbZIfW8DUdOnAzzZpBRLAnCRBAj6yJmTGXXJ9Jie/9PNm WDii7rPHjA4tRMwGruaDrmLNRWTePjIZSTiX1YWPwudkk9WkuK5s0u3HbaKzna+X7nHt Z3O72Tq20BS+RFP9A7wTo9QD6q9L6yYNSjM+MKgx91ouYRrqjmTu+iE4MiT22/vgf+C3 PKq+opaS0+845zqir/iYWlZXuJj5odFJX7uiuQmM7A/iXsaEvFYxtlEbwkP8GW+QNeru pBJw== X-Gm-Message-State: AOAM5332x23hZBJ7MqFpm5XXrgjYR7xz8dGjXwya1BJ/IegXXUmIt3Vf TXLt94xyIVdI1BudfhZTAo2HJYFX72UGhpipF+oqNg== X-Received: by 2002:a9d:1ea9:: with SMTP id n38mr25559833otn.233.1620235671263; Wed, 05 May 2021 10:27:51 -0700 (PDT) MIME-Version: 1.0 References: <20210505141101.11519-1-ebiederm@xmission.com> <20210505141101.11519-12-ebiederm@xmission.com> In-Reply-To: <20210505141101.11519-12-ebiederm@xmission.com> From: Marco Elver Date: Wed, 5 May 2021 19:27:00 +0200 Message-ID: Subject: Re: [PATCH v3 12/12] signalfd: Remove SIL_FAULT_PERF_EVENT fields from signalfd_siginfo To: "Eric W. Beiderman" Cc: Arnd Bergmann , Florian Weimer , "David S. Miller" , Peter Zijlstra , Ingo Molnar , Thomas Gleixner , Peter Collingbourne , Dmitry Vyukov , Alexander Potapenko , sparclinux , linux-arch , Linux Kernel Mailing List , Linux API , kasan-dev Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 5 May 2021 at 16:11, Eric W. Beiderman wrote: > From: "Eric W. Biederman" > > With the addition of ssi_perf_data and ssi_perf_type struct signalfd_siginfo > is dangerously close to running out of space. All that remains is just > enough space for two additional 64bit fields. A practice of adding all > possible siginfo_t fields into struct singalfd_siginfo can not be supported > as adding the missing fields ssi_lower, ssi_upper, and ssi_pkey would > require two 64bit fields and one 32bit fields. In practice the fields > ssi_perf_data and ssi_perf_type can never be used by signalfd as the signal > that generates them always delivers them synchronously to the thread that > triggers them. > > Therefore until someone actually needs the fields ssi_perf_data and > ssi_perf_type in signalfd_siginfo remove them. This leaves a bit more room > for future expansion. > > v1: https://lkml.kernel.org/r/20210503203814.25487-12-ebiederm@xmission.com > Signed-off-by: "Eric W. Biederman" Reviewed-by: Marco Elver > --- > fs/signalfd.c | 16 ++++++---------- > include/uapi/linux/signalfd.h | 4 +--- > 2 files changed, 7 insertions(+), 13 deletions(-) > > diff --git a/fs/signalfd.c b/fs/signalfd.c > index 335ad39f3900..040e1cf90528 100644 > --- a/fs/signalfd.c > +++ b/fs/signalfd.c > @@ -114,12 +114,13 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo, > break; > case SIL_FAULT_BNDERR: > case SIL_FAULT_PKUERR: > + case SIL_FAULT_PERF_EVENT: > /* > - * Fall through to the SIL_FAULT case. Both SIL_FAULT_BNDERR > - * and SIL_FAULT_PKUERR are only generated by faults that > - * deliver them synchronously to userspace. In case someone > - * injects one of these signals and signalfd catches it treat > - * it as SIL_FAULT. > + * Fall through to the SIL_FAULT case. SIL_FAULT_BNDERR, > + * SIL_FAULT_PKUERR, and SIL_FAULT_PERF_EVENT are only > + * generated by faults that deliver them synchronously to > + * userspace. In case someone injects one of these signals > + * and signalfd catches it treat it as SIL_FAULT. > */ > case SIL_FAULT: > new.ssi_addr = (long) kinfo->si_addr; > @@ -132,11 +133,6 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo, > new.ssi_addr = (long) kinfo->si_addr; > new.ssi_addr_lsb = (short) kinfo->si_addr_lsb; > break; > - case SIL_FAULT_PERF_EVENT: > - new.ssi_addr = (long) kinfo->si_addr; > - new.ssi_perf_type = kinfo->si_perf_type; > - new.ssi_perf_data = kinfo->si_perf_data; > - break; > case SIL_CHLD: > new.ssi_pid = kinfo->si_pid; > new.ssi_uid = kinfo->si_uid; > diff --git a/include/uapi/linux/signalfd.h b/include/uapi/linux/signalfd.h > index e78dddf433fc..83429a05b698 100644 > --- a/include/uapi/linux/signalfd.h > +++ b/include/uapi/linux/signalfd.h > @@ -39,8 +39,6 @@ struct signalfd_siginfo { > __s32 ssi_syscall; > __u64 ssi_call_addr; > __u32 ssi_arch; > - __u32 ssi_perf_type; > - __u64 ssi_perf_data; > > /* > * Pad strcture to 128 bytes. Remember to update the > @@ -51,7 +49,7 @@ struct signalfd_siginfo { > * comes out of a read(2) and we really don't want to have > * a compat on read(2). > */ > - __u8 __pad[16]; > + __u8 __pad[28]; > }; > > > -- > 2.30.1