From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 A3962372684 for ; Tue, 3 Mar 2026 19:58:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567921; cv=none; b=TSWHO353ZgFewh+iDj2Uk1n3d46VSWGp2F1IDhgwe6YuhEqxW/KONKj0Cnu/9t9U42XzlVcXi9tjfv8J+SD+60/xkDY+g5sy4oEb96lStTN6x0mGpJMMJmlYCYNEHGKL8Jo+ntsOLTMKwRPdgvuchpMmTEv0K9t64wAL3Yrxf6w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567921; c=relaxed/simple; bh=qYs23l3MbZs14AyoXJX6VAnVhi+p6z2pbctyjSWLwdo=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fRAAbrU89kzX8ISLyj8/rQqIkI8eJNaxiPIqARrmj3XkKR+fgokDwogWg3+a/NhphFrlAfXj5d75J2EEqBAWKzKq7dw4IscB5q7NmsUk9MgR3Bu6k9CdpjfjkdlwlT0TsmR8NqiUMDTtHh6gxg2JwN2ada+bX8incVs/48yBJdg= 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=itmVv4io; arc=none smtp.client-ip=209.85.221.50 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="itmVv4io" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-439b78b638eso2646479f8f.2 for ; Tue, 03 Mar 2026 11:58:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567918; x=1773172718; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=SdLh/NWLkEm3eJhtC/mdgt/+LRhEHwHgzGrdAve98wA=; b=itmVv4ioSbwIdy5d4wNCJtBBQOfvdSD4jhZhPzVIB5vls9G7Ywq+u979dnvZfu7uH1 SSqBkA/HgIDulTtRpfBh1otzyZLPPryUawl3Rlh8lwksbPDnejQQUz46/O9jOZJfWJJK pte7mQLpExrbKUyaOHS+KV5cx7b9BK1aQ1is2tJEXV/1Qdr4POQONDnODFDi/Xcrvl/6 JgieZD31xWXMPXuGJykPiGLSUA5fcePgjvXx0J6BDjc7YAUQCW8o8TKEKyKdW08eYSs9 qY1bShWN1v9d1PflPuUP24gj+2EhdiIoG/qTrI/YVqrCSSKqLTgNgJ78aSKd6iuPX3lQ o81g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567918; x=1773172718; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=SdLh/NWLkEm3eJhtC/mdgt/+LRhEHwHgzGrdAve98wA=; b=YH3oXbqc0H5XuzwjTy91vNC4zQjVvmd2cFyOlN/QdYVDLf6NgWsABfpDdcHqN+R9nw Yykq7oOFatYOPHkjFNX3ivt8sf/4rZB2A3sDH1yUVfQIvXsleC2OPmgzkvN5HOUCjnxi zPefZUe6bA5rIBgUVK4MvkZMa0h2ZJU6ZPUEwmobo0uQ+a5ZCE+2+ZnOiFuqkt5kvhUk XRTbd4eE0jJwfivyesHCMOlENPltwSjeov9OrYEH7cYUSc8twv4BOHGc+MWiV3NInyOg pl1cFkrnQiFviCegy/U2P0GT62TxBMCT4T2lV9aXuMVJ9OR6xDxC3s2EKqhPVaZZ5EBJ YFfQ== X-Forwarded-Encrypted: i=1; AJvYcCUVdVOmtKMpIkg7jKhMN7/3PNQ3C0PMm1JENXMfsfuqjZ2V1Sdhw2LdInsQe9wDPeVHwQXBcFtdcEh3PWg=@vger.kernel.org X-Gm-Message-State: AOJu0YzsG+WHm0w+Hb8udnP9Wzl4uH6DenZdO2FkKuZCJXP6IvfN5c5D llUFVNa8M9y7li2BLKD1BC+IjsPHPgYxcTu/lly8/U0tJqb2xRvmuuai X-Gm-Gg: ATEYQzzmvszgIGEc5AeyoZcsqY5glZ9JrIFy+V2rexdIIOYspr9qdFMjbka5k5HsNVb VRdAmWYs5Ew2aOZ6yXfYZhfxPYUzm8p/q1vGWQMEiNfyNdDOGw6s40kZPvu0+Ek1KqJ9oH8WgZ1 HrBE54MqBhhem/8z/EF/aWbyLIIWo/Mq0+8ggz+n5btKXcBmjkYyst7S2uTAN6G76z++dUcwxxA prAeQR3hp47ghjbjXh2y+5IcUxb6Z2W38XsbkMc3yr+1+TTGvJ24mnvfBvoJdzz2ypaSFqNSjRo r3ptiucSQx3KfJB85fgbmWeALqgIAlYqVfbtwNd4T3PbY6MqIT9rhZjrTnCBZntGYgMrE4ymmSv FdTROLMW2rsyMZGlWqzJeAbu/c/UCLRj0MTLKMGGpP7rrm7NQyf0JhHkrbdGMazu9QrL28Gbw/q XgYth4cw+KJeJ1tUoTiu84ZuIL5uwf8fPSVdebmRPWRS8oz5rK8yScTjc9YcfMiSg+ X-Received: by 2002:a05:6000:25c3:b0:439:be67:a038 with SMTP id ffacd0b85a97d-439be67a710mr9921230f8f.41.1772567917770; Tue, 03 Mar 2026 11:58:37 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b503425asm19275915f8f.25.2026.03.03.11.58.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:58:37 -0800 (PST) Date: Tue, 3 Mar 2026 19:58:35 +0000 From: David Laight To: Julian Orth Cc: Maarten Lankhorst , Michel =?UTF-8?B?RMOkbnplcg==?= , Christian =?UTF-8?B?S8O2bmln?= , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Osipenko , Rob Clark , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/syncobj: Fix handle <-> fd ioctls with dirty stack Message-ID: <20260303195835.4c23be7a@pumpkin> In-Reply-To: References: <20260301-point-v1-1-21fc5fd98614@gmail.com> <3c969254-ed38-4b13-84b3-5afa365b04cb@amd.com> <2b75199f-b78a-4915-8e75-5d186f63f7c5@mailbox.org> <88726fec-3bbb-4ca8-b724-c281b5696324@linux.intel.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) 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-Transfer-Encoding: quoted-printable On Tue, 3 Mar 2026 18:44:59 +0100 Julian Orth wrote: > On Tue, Mar 3, 2026 at 6:41=E2=80=AFPM Maarten Lankhorst > wrote: > > > > My point is that it works for old userspace without problems. It's only > > newly compiled userspace with new headers that will run into problems. > > The code as written would have continued to work, but if you update to > > the new header and don't initialise the new members then it's a userspa= ce > > problem. It should not be worked around in the kernel, since it's newly > > written bad userspace code, not old bad userspace code that stopped wor= king > > when the kernel changed. =20 >=20 > But it's not newly written. The example is, say, 5 year old code. The > binary that was compiled 5 years ago works fine as you say. But if you > take the same code and just run gcc again, the new binary will no > longer work. >=20 Worse, the recompiled version may well work when you test it, and even when deployed. But you'll get non-obvious random failures - a support nightmare. Probably best code is something like: case OLD_IOCTL_CODE: if (ioc->flag & NEW_FLAG) return -EINVAL; /* FALLTHROUGH *. case NEW_IOCTL_CODE: if (!(ioc->flag & NEW_FLAG)) ioc->new_field =3D 0; David