From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm: Pad drm_mode_get_connector to 64-bit boundary Date: Wed, 16 Oct 2013 13:14:53 +0300 Message-ID: <87txgh5xpe.fsf@intel.com> References: <1381913342-17634-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: In-Reply-To: <1381913342-17634-1-git-send-email-chris@chris-wilson.co.uk> Sender: stable-owner@vger.kernel.org To: Chris Wilson , dri-devel@lists.freedesktop.org Cc: Dave Airlie , stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org On Wed, 16 Oct 2013, Chris Wilson wrote: > Pavel Roskin reported that DRM_IOCTL_MODE_GETCONNECTOR was overwritting > the 4 bytes beyond the end of its structure with a 32-bit userspace > running on a 64-bit kernel. This is due to the padding gcc inserts as > the drm_mode_get_connector struct includes a u64 and its size is not a > natural multiple of u64s. > > 64-bit kernel: > > sizeof(drm_mode_get_connector)=80, alignof=8 > sizeof(drm_mode_get_encoder)=20, alignof=4 > sizeof(drm_mode_modeinfo)=68, alignof=4 > > 32-bit userspace: > > sizeof(drm_mode_get_connector)=76, alignof=4 > sizeof(drm_mode_get_encoder)=20, alignof=4 > sizeof(drm_mode_modeinfo)=68, alignof=4 > > Fortuituously we can insert explicit padding to the tail of our > structures without breaking ABI. > > Reported-by: Pavel Roskin > Signed-off-by: Chris Wilson > Cc: Dave Airlie > Cc: dri-devel@lists.freedesktop.org > Cc: stable@vger.kernel.org > --- > include/uapi/drm/drm_mode.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h > index 550811712f78..28acbaf4a81e 100644 > --- a/include/uapi/drm/drm_mode.h > +++ b/include/uapi/drm/drm_mode.h > @@ -223,6 +223,8 @@ struct drm_mode_get_connector { > __u32 connection; > __u32 mm_width, mm_height; /**< HxW in millimeters */ > __u32 subpixel; > + > + __u32 pad; Would a small comment here be in order? Jani. > }; > > #define DRM_MODE_PROP_PENDING (1<<0) > -- > 1.8.4.rc3 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Jani Nikula, Intel Open Source Technology Center