From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752395AbbINV7Z (ORCPT ); Mon, 14 Sep 2015 17:59:25 -0400 Received: from tex.lwn.net ([70.33.254.29]:44967 "EHLO vena.lwn.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752334AbbINV7W (ORCPT ); Mon, 14 Sep 2015 17:59:22 -0400 Date: Mon, 14 Sep 2015 15:59:20 -0600 From: Jonathan Corbet To: Alexander Shishkin Cc: Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org, vince@deater.net, eranian@google.com, johannes@sipsolutions.net, Arnaldo Carvalho de Melo Subject: Re: [PATCH RFC v3 1/6] exterr: Introduce extended syscall error reporting Message-ID: <20150914155920.449b405a@lwn.net> In-Reply-To: <1441987205-4021-2-git-send-email-alexander.shishkin@linux.intel.com> References: <1441987205-4021-1-git-send-email-alexander.shishkin@linux.intel.com> <1441987205-4021-2-git-send-email-alexander.shishkin@linux.intel.com> Organization: LWN.net MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org One more little thing: > +int ext_err_copy_to_user(void __user *buf, size_t size) > +{ [...] > + ret = copy_to_user(buf, output, len + 1); > + > + kfree(output); > + > + if (!ret) > + current->ext_err_code = 0; > + > + return ret ? ret : len + 1; > +} I'm pretty sure you really want something like: return ret ? -EFAULT : (len + 1); here. jon