From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 732AE179A3 for ; Fri, 24 Apr 2026 13:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777037874; cv=none; b=ttYAy1Wtfc8Etl11kz9ATXPwqZ7l090jdRI+gcs6qtQlDGExf7cTvhqAmHCYFTaVRtjIMttI58sVT2VCqEZtvuZAM9IdfFLpL337L7olJp7MbVl4EVrOYxtVDKxgW7N8tVXZySUbHkDqN3LqvVXYaWPP3qXv18it4miFWbMnb5Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777037874; c=relaxed/simple; bh=tUNIjgBvFInPbSXz/F00iO/St383mxPnsAQBMkip4qg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=aKjpHgb2isz8sz+HnaJYeiy9/y/lfhiz/kHuVNAIURe8Uv0+CYFnAVYeKl5qbpGm/zhbc6BjF1gCCrnvNxP6XvGCny9/JDuh/BDeTj7c1B6r55A1jVxpyyYk1KeRKH04pydtUoAnHnQduJURdAn+Js0ntfASln4VZb4HkVHtF5A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=rkkmGyK6; arc=none smtp.client-ip=209.85.167.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rkkmGyK6" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-5a3af1b7549so9873150e87.1 for ; Fri, 24 Apr 2026 06:37:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777037872; x=1777642672; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=X080B6TdiPMBkC7Kvzr0GCDeixr+j47svqB2B4ELQuw=; b=rkkmGyK6nhfKDwX9iu7kP/tkA4osXahJjsqBTrP8EIkmKH8ywWS0k1/PNoZIeWwKK2 tp+kmvP4iZPbinfxs+5yLBXrd1esvSkcKJzxet102MxQX0/gouyxPLTgnDew4wrNOkkk qlXIHYcybbbQN9j7aXfDC+gpGH7OiGRuqmwXOgAuac3TA5PuatYQiZIcu9zBHX0PScsi Wt7dnSyo4zoUroLiwSsVAq3u/ABReiZxcbnk0UWvcvLZyNQa3Bn3q+b76GIYjZUo4X0K /b3fOiZhDrTE5j3hXRc8x+NI5cd2vfv8AjGXy/ny5zg3CTQpYGkxvrqgF2w5p1S1R/O+ PH2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777037872; x=1777642672; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X080B6TdiPMBkC7Kvzr0GCDeixr+j47svqB2B4ELQuw=; b=azCwmI5Dael7iBtpMEFO7MlROtqAcjNc9gjEUtCwgo95JKcGKIpKE1nnKUbmBFORT+ DmVtvtCv4Bbq6EPIdZVzcHli4BpKdPyU1eSgLKgVmK3YfhYPw+SHbUOx903hDPzNXCsU ZPLWvWs8T6cUMywAltgW6S0+fu6FhcOSYBqjwejqO0jWSA8nbZTqrXYiKQ67j94Ev0Fl Gqx9stpdwkEU6SgApnhHVRS3ul3WwYUm+IdV23ytzRVbHxM1FqZid2EIOllZZHAzzJ4F BqynHrs0qB2CpuY4RmxOFXBz9lGClPN/F+IHlAHUa/rVySSd+FLXo4zsGBgWRgR7WQKZ rw3Q== X-Gm-Message-State: AOJu0YwZKUhD+7BgdbV49pEJlD1SrVyq/UFLUdhmmHh8ZcaiXMsr/jbg VV1+mV+4Ptbr0aMnH26NdigoDB22CuFKFu4oU10oR2vXowyJ4ORDmKtySkeG X-Gm-Gg: AeBDietgj2niPp4VedudwF8hrM2AWXohz2Lt2hEbB52YIfyNSD4PHyw1UktMX6R+Iud sWYk/kMxgSLUKc3EznWxYsP+6KGMcUtxohGDwxsOvi3DTGDdpPjrga+mLvz1mmtAL3PtwboxHJI LVdLCxtovzbYCLNPhhoKXCHRbAWUBSrC39PXmtam6VuD6si9/lhbFayyM6u4JNJG8ophPe8yHpr iZ3PTHB3g6WqnMvsUrofO832UZGFy+k+O0Tjd9YB2OJVpD+ZAEvUmnL/6Jf0/rnphB6w/F+CeMC Flls7qXqVld9nbsTzviEWzkZxJs5+hrqpus8jJwmHvCtZ6gQlodk6RVZqjnNb13rzaEZt1nnKl0 DoWDr/hm1h7C0aeU+5m4apbjVj3YxyNQYYn2VRbsdc/QqxFGMuoqsuSqUXzAMP2stA5gLFCtmGB 79E/vpm3KKZS7LBLHfI2hFJEI= X-Received: by 2002:a05:6512:4142:b0:5a4:e6:8fce with SMTP id 2adb3069b0e04-5a4172f609dmr8075664e87.38.1777037871549; Fri, 24 Apr 2026 06:37:51 -0700 (PDT) Received: from p183 ([178.172.147.205]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38ecb73aa8dsm48026421fa.35.2026.04.24.06.37.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2026 06:37:51 -0700 (PDT) Date: Fri, 24 Apr 2026 16:40:02 +0300 From: Alexey Dobriyan To: Andrew Morton Cc: linux-kernel@vger.kernel.org, jstultz@google.com, me@cherr.cc, mm-commits@vger.kernel.org Subject: Re: + proc-fix-comm_write-return-value-when-truncated-or-error.patch added to mm-nonmm-unstable branch Message-ID: References: <20260424105325.B0E0BC19425@smtp.kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20260424105325.B0E0BC19425@smtp.kernel.org> On Fri, Apr 24, 2026 at 03:53:25AM -0700, Andrew Morton wrote: > From: "Shengzhuo Wei" > Subject: proc: fix comm_write return value when truncated or error > Date: Fri, 24 Apr 2026 04:06:21 +0800 > > When count exceeds TASK_COMM_LEN-1, comm_write() copies at most > TASK_COMM_LEN-1 bytes but returns the original count. This violates > write(2) semantics, which require returning the number of bytes actually > written. This is sketchy for reasons: 1) not consuming whole buffer may (and will) break programs which write overlong string _and_ use "while (len > 0) { len -= write(); } " full write idiom. 2) adding filesystems semantics of writing into the middle of the file is counter productive here. If "comm" was regular API, there would be "read comm", "write comm" + some locking inside of the kernel. Partial update is kind of silly here because string is small. IIRC there was sysctl fixes banning partial update of modprobe path or something like that for security/predictability reasons. > --- a/fs/proc/base.c~proc-fix-comm_write-return-value-when-truncated-or-error > +++ a/fs/proc/base.c > @@ -1727,8 +1727,10 @@ static ssize_t comm_write(struct file *f > - return count; > + return ret;