From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89509 invoked by alias); 18 Nov 2016 08:28:56 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 89364 invoked by uid 89); 18 Nov 2016 08:28:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*r:15.1.679, H*r:ip*15.1.679.12, Hx-spam-relays-external:15.1.679.12, H*RU:15.1.679.12 X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <582EBBB5.80309@arm.com> Date: Fri, 18 Nov 2016 08:28:00 -0000 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Torvald Riegel , Adhemerval Zanella CC: , Subject: Re: [PATCH v7] getrandom system call wrapper [BZ #17252] References: <3dd5d3b8-c196-98fb-1671-90cd90ab90c7@redhat.com> <244f578c-889a-a4cf-c686-bb2a5e49cca1@panix.com> <2d175242-1a82-9410-d01e-682ab4d9081e@panix.com> <1479319342.7146.1143.camel@localhost.localdomain> <950ffaeb-8984-7840-e495-12442f821c9c@linaro.org> <1479387147.7146.1147.camel@localhost.localdomain> In-Reply-To: <1479387147.7146.1147.camel@localhost.localdomain> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB4PR04CA0008.eurprd04.prod.outlook.com (10.160.41.18) To AM4PR0802MB2145.eurprd08.prod.outlook.com (10.172.217.7) X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;2:9Jb5FiHMWM5ocR7MEegrQyfXQuQ74rtEFVQBgS89hDEJiWOR0yLXroW6bMhcqZKxq2d9zKiMOpqfADvW2JZChuU2CuaG4iy+95mgOoUTOTNvIj/eERRZdArgxPHe1AXAPUJUWj1XrK2o0npfP+8paIvASrqID8IbnUv6wGMn85M=;3:dZTGVfnhg4DU10jyaqr1/ApEpXJd4zvVuRzMiIYW+V84aA79nXmhNCcgNfjrKNJB4ELJvXVELvbMRRbwLfC+OVrtC0gC5OuQlPO75QT2+jmZOQAFBjhpqPYdIBZ82WSglW7/ppi8ezKKlEKSEGP3nEx7lZei87DNWw87pTikVo0= X-MS-Office365-Filtering-Correlation-Id: f7e05356-d4d1-4b3b-b222-08d40f8ce6c5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM4PR0802MB2145; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;25:LOtDdX7Tuwd0YXrwDba3+vPLAN7wLSkenuFIUz6tlbOIgJyENrCOKtkYJZojlFAgNpX4QAnkUZtC9wWiuKXptvmN88bx4EqZuwvj+vwXpC1+CwjZFTG6DmdKGoeGb5GVkVEN3PU10wKG5JWktVxZJnYFwtpBAFBEYKpza0mWlqTAaUicYYlFSHfvx0Qq1+2x7wseDafMyNsCWEWqsKmxpw19cBaGKoHIX96xMDaLRU79ETdFkCnDYms+fj2agRq0JRrzHZo6SPkUVYr+rXBp4wY42vhtZOacu5oG6HcvhiVIFWlf7Wo+uoErX10SNqFskeTpxknNjOlHsRUj7ViGeF7kPPDSGEtCCsRQxnsCQuCoMeYQg2KDa5NIhct2CvOqHC6Pq7Ab7ytVq4UH2YmhEAffgKFQGKX9li9RfS1vV7gS7AAXgWgBCJPiiuYLBsgEFgTD8Do3duZKCSFRTvAHaH4VMp7Mi4yO6ca8HdsNaXDRcjUytu6/EPnAy4G0ciR5vrh8ZLXJdbTBPBlQ740o37PqDZRDatoO538yoGZ1RwD74BppfKJZImbG0fWT5nqQOAmvtxx5WR5MY4OectHQhGPczfdekjvBAtvnSKWPgYF2Q5U9OUUAqcXwarzVkb1iP3Okh9VN8p42k6oL1wT+zvVaRQfuJoucVDTQSXhdBrc0YXfX6zVWBYYwx1ZNmsk9j2/inbZ7QKhmYvDaNfc9UzRTFayBa6/mU4CxuTxuQvLHhGuycbbZq+MBeUTJO56qEHtwMkviCbF7ioV0C2KKSQ== X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;31:beFoef8N/XHuSmZtHMWhqx5lAFdz9KDVWhTmqa/MvRyNWygsVOGpmYQw4FmWHN1A8F+fwQ1tgWuPC9t/wxTjWmABHTppkzQ+3GeABru1JapbQUmciIGB1SG1Rb/Z/FwTd1ZwrPw1eu2HPzJk06n6v4pzX5IuWmAReql4pOwYrQ238ICO0dCAmoTSdOvjXbdLUVzc/tZN8DdZ02qE3B8Sdh8eTX7qBc15uieRrFxQrxKv8OQEpOC/+IwEEHHFfd+oAJLNww76xxsPTflfirWUpw==;20:CieqiJAl7QnUCljj9yJDyLNC8jSc+gUr6cxBOqSngZASGJsf/jCz5ywjMM3niZM3oUHczuOK4UpKdNSlER4EVUKbcSjBwUBIwxhzW3p+ezTLjtMvGDiIR2MfgU6SZTiBq8xuJ0n1FyfMUaxMX/CyX5c3FYMYdx5plh0ZqSfgjA0= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(100405760836317); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6060326)(6040281)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041223)(6061324);SRVR:AM4PR0802MB2145;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0802MB2145; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;4:JcdEGmnL5j/cNxD5TbUXVCOzm47wsDyYCiPtIMOuPmU4CWk1Jl8PnW4eiRRRr4LuIa3A+l2GxJCGIX8g+a7cWY6/AxLXGb+i89KOZzkwjxp0xuqv8z4aY83oUTR2d8XiiUhOHdKaveOozmniQJnQtieUdxJGUU0Sp9EMXBCsl84NVmu+2cuELfzPleN73dbYtyJ7cn/RYZYaMmkYDi415llVSJBsQnELoNRrpc04Xy55kUFahJkgiEiRb+jeO0k0zrDQ7tMY1wqjO2thY/SCBiP8jQVQm7/nPzUtQ90nL3JmDbclEb99S9v9W6AfV3M4GiCvcOVj0KbaYDyUVI/G6a98aaARPAW64wtj1Och/cpfmC1PbU4sakhqynif616xaF/Dqtz2D+C9s4lMppdJpBZ45NGDMnfUJ0+wti2x+bhnWyhUcW5nCqb2pHFb91LpRziMSiQeOhk4/U95PZFtPUTeRU3sOBHksNCDWcyY1hQxwAmemgTX2JW2b2m7CnL8ruO4SdFe6HkwV684KZbHqQ== X-Forefront-PRVS: 01304918F3 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(377424004)(24454002)(199003)(189002)(377454003)(65806001)(36756003)(47776003)(4001150100001)(50986999)(5001770100001)(76176999)(65956001)(3846002)(81156014)(77096005)(2906002)(6666003)(83506001)(38730400001)(93886004)(81166006)(8676002)(6116002)(92566002)(5660300001)(2950100002)(106356001)(4001350100001)(23676002)(7846002)(65816999)(230700001)(305945005)(105586002)(7736002)(68736007)(229853002)(54356999)(4326007)(33656002)(64126003)(66066001)(101416001)(189998001)(50466002)(42186005)(97736004)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR0802MB2145;H:[10.2.206.73];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA4MDJNQjIxNDU7MjM6V0dwa2ZNV0RFeVlzYmdMUW1kTVNSMWUv?= =?utf-8?B?WTFmaTg1QU5QTk9ISUtvaHdBanJYOGd5V3g3UnJGdm5lZWZMSXQrOGcxSlpR?= =?utf-8?B?Z09sdTJGZFNuVGJYTHlzQkNNUU5ROXpicXhhL0lVeXUxbjVjcFVUQWNobENu?= =?utf-8?B?Vmc3b003MnhuSERFaDhteWlUZGVxZWRBL1g1NnhjQlRYVE1NSTdkN3o3Zi9j?= =?utf-8?B?WjNIclNTdGtNbW9IZnJTVW5Bd0pPUU84Q1Y2MTdtMU5IVi9jVWRpWVdDSVhU?= =?utf-8?B?WGNTdHdlWlNUc2lMdW1ENC9BbVRCWGw1eTJlWTlvd1JlcU1NZ2Fwb3NiQ005?= =?utf-8?B?eXp3UFZVTDhWcG5KL3hxSVA3MWN2TGRIZ1BIdXdtSTNFOUxweEl4SjV1V3JT?= =?utf-8?B?YUtXQmdiQUpKdmpkekdMckp3QWo4dy9lbTNRdEJpeXp6RGtmaFBMV0tXNkF6?= =?utf-8?B?ZWxRaXhJNTJITmMyKytSR2I4aUduanhZNlFzaW9lbmNrck5kdGRkRnhrT05H?= =?utf-8?B?aFBhNHlOQlh0eGVKK2NJR1hNZmN1b2p2S0NERzJhd2VtUVd2YzdYQjRUN3BB?= =?utf-8?B?MnRpQW4vaHI5LzlFcncrbTJiV29tUzNvNWV2eStBaXhoUHpLSVZ5dVpDNkJR?= =?utf-8?B?NTlhOHBsSmdmYjF2Q1ovcHNBdERuTjRPbEtEcnRCUmxvVFVzR3BPTUVUaUVV?= =?utf-8?B?Vk5rVml2a0lhUW90QWFwTW9qZDZZS2VxRmtiRjZiL0JIS1RNVTNZVzRpVG12?= =?utf-8?B?MzRaOVZIcWNCM20xUEJtV2liU3p3MmhQUWZlaVNnRWcybmpZTUlLQk1xd3Vj?= =?utf-8?B?Q2diVHZFdmJXcDZzZmh2OE9zSU0yb0VRL25ZQ0h0TGVNOTNsM2Y0RG41dkgx?= =?utf-8?B?TmkyMTV3OHBmcm1uOW9hTUJjOHpqSDVmZkF1cGZOQmo1Q2FsQTduOGtPaGhK?= =?utf-8?B?ci8xN3o4ZVpSME83Vjl5MUNoVUozUnZNbGQ4YmVsYXVOUk9YSy9EdUtjSFk1?= =?utf-8?B?UVhvbk9DUERGMkY2enArRVJ0TUcwdTJFVXphdk8vdjNhbm9Sa2RBYmJXb1lq?= =?utf-8?B?ZjhtZ05icVk4bGVVc2lMMGhFOXlxRU5ENjg3TWlxRlFWVDNGRjVOOFFFc3hs?= =?utf-8?B?VFhYYjlnQWUzRlFXMmE3anFXTFF1U3JPNVNEYjY2bEtIdWZYS1F2cjlLWnVw?= =?utf-8?B?NVZoZWhDWGNRZmlJTm5LM0VXd1RwVjBQSHBBOG9aWUZtT2RuVC9KUUl1OGpH?= =?utf-8?B?WGZ5OEVVbDFzbFZPRk1oOXIzTHFpdXF5ZSt2RlVSWElWN0g1QkMrTUJmSC9L?= =?utf-8?B?SEliRUJwUERmTllKNStkMmcraUVaNWtnckd1am81Z3c0M0ZpMUM1ZVg4WnpZ?= =?utf-8?B?NXFxWjF4ek0yeTJRSnIrN0VqOUIwc3pabjBQNlVVMTd2TUF6bHZmTXhRS0xI?= =?utf-8?B?U3NRUWJvb1k0eWNhOC9QWFRXMWxObW9lSSs2bm9tY3FOQUxLS0JKMlBoWS9s?= =?utf-8?B?RUowN0t2NW1WNWlGT09iQUUrWURtNzlmN24xcnY2M1NnNUI4OXBMZkdzOFpm?= =?utf-8?B?d0hpZklZR1A0ZjFXTUZZclkyZ09MZEk3N0NmSE1IbnNudGhwYnEvTExUa2Ra?= =?utf-8?B?U09ycVFSNjZHOWZMNy9rTVRTekJGWjNsM2QzaGlySmY4L0VWd25MOUhZK2VW?= =?utf-8?B?ZnVwRFJCZk1kT3lIQ1dOY1BvLy9MMHZhODZzWTMzMnNaZ2tEU0RNYng0SnFs?= =?utf-8?B?c1BYUjg2ZDREMWJjTExTdUwrU1dTbWlXNkdqMW5pOEpMT3JQdDlqcTREZmQw?= =?utf-8?Q?SBv2hU3QsmLHP2m?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;6:A39NGR3zhGLZpiSXr3iF0s3/Be1GzmrXn3iRv4gXD6m74BHzTYex+pQheWXNUBMfbA1fQjYixstw63fnBr4+1KgAXpWeq0Fy5IvWFUWblOOLIH0vo5Js3dL+jJX+mIVK2q/XxGPk11smXEqGR7/phgrOXb1RbZyLx+TuAxhLgumGllzxnkco2XhiGlO9v42yt0R/wYwIPf3JuISdid42Q2WZAYzUnRNcRrwnC+enlQDpyfH9dKphqh0wxcBiEnIAxC2z3QctaOomlKdHi8e+ISONQNj5nvxHrUB6DE2c4dl1+76VBxlITtss6TTzfNs3n5BpILhfByr2JO4NIjpTIe+4w+PL8LnO0STjQBdIa8rgJvacf2f1FUTZuuxadx/z;5:4EPrFWw5tOPVtSQcb1z9pacXoP4KpIZdhXi9nACmk4GHUq/c+qYzeqs17aZDya/bkqhq14F+22qFbzIw0UuiLFel6iYsvHW7wGjYez+/aHzg46HeOBZEmvnN2mDWqeGunplqqWNZymZ2Vty3ciTLPw==;24:l+XcHfxYRPLk6bPkbo6wuZ0epS69imUL7WEHMpJUSYPlqhTGUUpfpvft002dR6svJaq8Y417FqvZa5jRPjeCpqNMEZpZzMAktTFjBJ1AKeI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR0802MB2145;7:UBP+moQp5KM/6reF/ca3K/rqILPwB/1O0lLd9Tyt6JKe5/WSc57FvaH3NLR1q14XjNibJfpATHE041RFY0TDr2eDuukr2kcP6VTkjwElcIPDc4NZQjU5b48U29aw49MTyot2JZ+fBtnqReyW+E102qdy5xQpogY3VIz9ToYoF/am76v4akPKR96cjBlUAcFr+S2SJzzynkI7trN2YQ+aIXMDLhSgRhf4QvKtpHSt0qe+AO3t7VvcS8a67jer5O8hXx6+1IWqzIuvJGLFpXoM23dkQrzDItx7LjYZFXPupLeE/f8R65XN1frfJrRPmTbienhuBiqRgqxyjB2XoOsBniXGMxtWShdzWYpe/r6NFGU= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2016 08:28:40.5254 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2145 X-SW-Source: 2016-11/txt/msg00648.txt.bz2 On 17/11/16 12:52, Torvald Riegel wrote: > On Wed, 2016-11-16 at 17:52 -0200, Adhemerval Zanella wrote: >> >> On 16/11/2016 16:02, Torvald Riegel wrote: >>> On Wed, 2016-11-16 at 16:52 +0100, Florian Weimer wrote: >>>> On 11/16/2016 04:20 PM, Zack Weinberg wrote: >>>>> On 11/16/2016 10:11 AM, Florian Weimer wrote: >>>>>> On 11/14/2016 07:29 PM, Zack Weinberg wrote: >>>>>>> On 11/14/2016 12:44 PM, Florian Weimer wrote: >>>>>>>> This patch switches back to the ssize_t return time. This goes against >>>>>>>> Theodore Ts'o preference, but seems to reflect the consensus from the >>>>>>>> largery community. >>>>>>> >>>>>>> I still don't think this function should be a cancellation point. >>>>>> >>>>>> I guess we'll have to agree to disagree on this matter. >>>>> >>>>> I am seriously considering escalating my disagreement here to a formal >>>>> objection. I would like to know why you think it is NECESSARY - not >>>>> merely convenient or consistent with other stuff - for this function to >>>>> be a cancellation point. >>>> >>>> It's necessary if you ever want to cancel a hanging getrandom in a >>>> context where you cannot install a signal handler (so that you can >>>> trigger EINTR when getrandom is stuck). >>> >>> I think it would be better to split the getrandom that is a cancellation >>> point into two functions, getrandom (not a cancellation point) and >>> getrandom_cancelable (is a cancellation point). This way, the >>> functionality is available for programs but requires explicit opt-in, >>> while the default is not going to lead to surprises in the expected >>> common case (ie, when randomness is available). I don't think the >>> opt-in is a problem because as you said, cancellation requires careful >>> programming anyway. >>> >> >> I would advise against adding another symbol, it only adds complexity >> and most likely one interface would be preferable from application >> point of view. > > We could add a parameter too that determines whether it is a > cancellation point. That avoids your concern about adding another why? use pthread_setcancelstate. works with all cancellation points not just getrandom. > symbol, and programmers will still have to make a conscious decision > about cancellation. I don't see how this adds complexity; the > complexity in there is having to choose between the different semantics, > or be aware that it's just one of them when we know that just one of > them is not a one-size-fits-all for all use cases. >