Received: by 10.192.165.148 with SMTP id m20csp4758182imm; Tue, 24 Apr 2018 08:00:24 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/kE7NPVXN6ZXdGGKF0dboLsfbCm8USFC8fSin0AY63DYPDGKlE6DR/pk0Q+fgEtPaCZUws X-Received: by 10.98.89.209 with SMTP id k78mr24261786pfj.54.1524582024036; Tue, 24 Apr 2018 08:00:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524582023; cv=none; d=google.com; s=arc-20160816; b=CFMjH1ux3FQeo42s+CUZ6EcMgaCxjPDnhfMDdioqjrYTK78lOt3fToI4upQ3lw5y6b SnIhrs4up7HTNCeYBuyPwyRWpK9gh74DWtxKC/40pZ7RABJPeGJqlF4+RH6KpIYyxVbo jQyfnieLz5eH561Q5ritISEiPK5bJKp3ZmDsUxEicJRClqhfmEa0oOef3ZbhQT9ijaEg k/6ajqe6WnodWXbbOpmfA6t2Y5bqECiS9baIDJmuoeY2rijywKfnQ1TWd+c+rQKyC0Ga Xo0bpeD2WTXVs2DJxvNg1de6ASca+CVtIZX8fPGyrOnKlp43WjasfzvqSKPzPMaY7Llc lXng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=MqqGZwyNmXRp2AA7wWNRlHxKIqbRCZKYgAOiqfKU+mg=; b=xrjxd0aXvo7YqbZemE0VYFcOTAQBPe0hyVBrL2REoV3mF5dThWJ0Mj5ezwiIS8ruW+ ZuCqoKJxRCWdFTh01T2UWfrt2BE6rZ7s+VmcGY5/+e/GmGWNECb9nekCtWX6uyharODk lnDElg2Cgmk3o4MzG5/R+e5S4UcYU35EhdOpfl2fIicTNKbkJejk+2GVcRhPP66quZCq Arr6M5q6z/SAsla4FDLvp+OXPvsmiii0YYS9YkjNM5dkGWbBaqULDBLPl7WdR2Rt1SbA sDVuoVuoiBOvAGSU1SqrNMHOPaSh/8BZlYV03mdcoLjLX1CY20oF12YQaheizwDYRewu +FeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=RoQeiVB3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q8si1598470pgr.632.2018.04.24.08.00.08; Tue, 24 Apr 2018 08:00:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=RoQeiVB3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758130AbeDXN1g (ORCPT + 99 others); Tue, 24 Apr 2018 09:27:36 -0400 Received: from mail-qk0-f196.google.com ([209.85.220.196]:45630 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758046AbeDXN13 (ORCPT ); Tue, 24 Apr 2018 09:27:29 -0400 Received: by mail-qk0-f196.google.com with SMTP id x22so1676713qkb.12 for ; Tue, 24 Apr 2018 06:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=MqqGZwyNmXRp2AA7wWNRlHxKIqbRCZKYgAOiqfKU+mg=; b=RoQeiVB3rTZL4VuVvl1+RZ1TzfkD8ZgmXcfdeHIsW9rKM9o8V7LeLRU6Kg99UjDHwr mC0Z7BT80ULxYUtNl72qXaz/pFkV2Z+ZIC3CORbGNXN8fJiw8usab88GZgk9368fQIFk JiKlOhnCmXKZFhknfYCW3/VaWJj6AztM1gg1sj7FkxkmUlNj+8NalxTeYkeO9fuWXSp3 GIPq/A2L/0jsPQ5BzPXQaQpQeMxao2izUBzTec7aqnXgcvO21hMtIqOd/y70FEBZse1D pYGCOu3MaE6xS/46w223oAkwsUdkHB8uRdf/nF2SquJBCUwXysOLJwcq/MboGmVAKgGp vIuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=MqqGZwyNmXRp2AA7wWNRlHxKIqbRCZKYgAOiqfKU+mg=; b=SXy15tu6UeLzvkJV/rOgThYT2SejkbG85yJTsXidihnNHxE6mWNy/hhq0O1Ruid/dX IZ9fsif8tTIi3eTagX51wYm4WNrpYdYH/CpWSGi6JFq9CXf6KaLfb74sFl92fIIouPlF +PcFRCILvU2H5hwGhdR7+Z0RBNeh8wVBgpF2iHa7H+Br8o+actAWSO3W93432qV5HtTA W0vFiehWryriaZtyLJCaiIcV+EIzkln2jVUobDgGpHfuPp0QM7VPnto6QtnCmcKwvUH8 0R2gUZbN805G5lDcDshx0+yp2rx+qyJ/oN21OEeLo3BgRPOJN3vHR6k0aiNfxXGXEZuk tm0w== X-Gm-Message-State: ALQs6tCEuHE0WP7OTVcxUgKvFJvoP3LHfX21LR6OHkqF3OSsARSHlKlR Y6wvdJmZ4hHlcu5JJ6IsY71s8Gu+lsMVSGchOzQ= X-Received: by 10.55.149.70 with SMTP id x67mr25350612qkd.202.1524576448270; Tue, 24 Apr 2018 06:27:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.185.25 with HTTP; Tue, 24 Apr 2018 06:27:27 -0700 (PDT) In-Reply-To: References: From: Arnd Bergmann Date: Tue, 24 Apr 2018 15:27:27 +0200 X-Google-Sender-Auth: 9vGTGqnLeertsfqkaocHVDPomWY Message-ID: Subject: Re: [PATCH 8/8] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control To: Baolin Wang Cc: Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , Takashi Sakamoto , Ingo Molnar , SF Markus Elfring , Dan Carpenter , jeeja.kp@intel.com, Vinod Koul , Guneshwor Singh , subhransu.s.prusty@intel.com, Bhumika Goyal , gudishax.kranthikumar@intel.com, Naveen M , hardik.t.shah@intel.com, Arvind Yadav , Fabian Frederick , alsa-devel@alsa-project.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 24, 2018 at 2:06 PM, Baolin Wang wrote: > @@ -544,6 +543,8 @@ static long snd_pcm_ioctl_compat(struct file *file, unsigned int cmd, unsigned l > case SNDRV_PCM_IOCTL_XRUN: > case SNDRV_PCM_IOCTL_LINK: > case SNDRV_PCM_IOCTL_UNLINK: > + case __SNDRV_PCM_IOCTL_SYNC_PTR32: > + case __SNDRV_PCM_IOCTL_SYNC_PTR64: > return snd_pcm_common_ioctl(file, substream, cmd, argp); > case SNDRV_PCM_IOCTL_HW_REFINE32: > return snd_pcm_ioctl_hw_params_compat(substream, 1, argp); > @@ -555,8 +556,6 @@ static long snd_pcm_ioctl_compat(struct file *file, unsigned int cmd, unsigned l > return snd_pcm_status_user32(substream, argp, false); > case SNDRV_PCM_IOCTL_STATUS_EXT_COMPAT32: > return snd_pcm_status_user32(substream, argp, true); > - case SNDRV_PCM_IOCTL_SYNC_PTR32: > - return snd_pcm_ioctl_sync_ptr_compat(substream, argp); > case SNDRV_PCM_IOCTL_CHANNEL_INFO32: > return snd_pcm_ioctl_channel_info_compat(substream, argp); > case SNDRV_PCM_IOCTL_WRITEI_FRAMES32: I found a bug here while doing some more testing on my own patch: __SNDRV_PCM_IOCTL_SYNC_PTR64 has the same value as SNDRV_PCM_IOCTL_SYNC_PTR_X32, so we get a duplicate case error when CONFIG_X86_X32 is enabled. We still need both handlers, so the fix I came up with is: diff --git a/sound/core/pcm_compat.c b/sound/core/pcm_compat.c index 51a9447442f3..dbeeae50fb8d 100644 --- a/sound/core/pcm_compat.c +++ b/sound/core/pcm_compat.c @@ -543,8 +543,13 @@ static long snd_pcm_ioctl_compat(struct file *file, unsigned int cmd, unsigned l case SNDRV_PCM_IOCTL_XRUN: case SNDRV_PCM_IOCTL_LINK: case SNDRV_PCM_IOCTL_UNLINK: - case __SNDRV_PCM_IOCTL_SYNC_PTR32: case __SNDRV_PCM_IOCTL_SYNC_PTR64: +#ifdef CONFIG_X86_X32 + if (in_x32_syscall()) + return snd_pcm_ioctl_sync_ptr_x32(substream, argp); + /* fallthru */ +#endif /* CONFIG_X86_X32 */ + case __SNDRV_PCM_IOCTL_SYNC_PTR32: return snd_pcm_common_ioctl(file, substream, cmd, argp); case SNDRV_PCM_IOCTL_HW_REFINE32: return snd_pcm_ioctl_hw_params_compat(substream, 1, argp); @@ -577,8 +582,6 @@ static long snd_pcm_ioctl_compat(struct file *file, unsigned int cmd, unsigned l case SNDRV_PCM_IOCTL_STATUS_EXT_COMPAT64: return snd_pcm_status_user_compat64(substream, argp, true); #ifdef CONFIG_X86_X32 - case SNDRV_PCM_IOCTL_SYNC_PTR_X32: - return snd_pcm_ioctl_sync_ptr_x32(substream, argp); case SNDRV_PCM_IOCTL_CHANNEL_INFO_X32: return snd_pcm_ioctl_channel_info_x32(substream, argp); #endif /* CONFIG_X86_X32 */