Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1737277
| Path | csiph.com!news.mixmin.net!weretis.net!feeder4.news.weretis.net!newsfeed.CARNet.hr!news.spin.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Baolin Wang <baolin.wang@linaro.org> |
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread |
| Date | Fri, 22 Sep 2017 10:40:02 +0200 |
| Message-ID | <usrF8-3T0-9@gated-at.bofh.it> (permalink) |
| References | <us305-5ww-3@gated-at.bofh.it> <us305-5ww-7@gated-at.bofh.it> <us9oR-1pB-7@gated-at.bofh.it> <usmvM-Xq-21@gated-at.bofh.it> <usr2p-3rE-17@gated-at.bofh.it> |
| X-Original-To | Arnd Bergmann <arnd@arndb.de> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=g6XjtEUNvg1iX4NYjMVINq/lSVB9/MlHlqGkd4IG1HY=; b=fZGt8FPOBrZvfMrIwNR2G10amOfjBupafkvvXJKE6pmS4XlE8VeFlNUzL+ePB9c6/l dB8qWdRcInqkvJqreBve85K44zfVOFV1I63nO7wXk1lC5cJnHtgdgp1dOUhFp8qIWdLB uz7j/Skvzpa5HFulYhTqy0zu6umHixRWtg/Ps= |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=g6XjtEUNvg1iX4NYjMVINq/lSVB9/MlHlqGkd4IG1HY=; b=Uy+zcR4yNiW5RTv6c+xcq5BHMCfWk8Q74xxVHSLoosbQy7Xu/TFjthKYBnz9HqAp3k sp2wbr0b7SdfQ+uiSwKe0fI2TMNuc2bOkGhZHJHVvV/WxoStHXfxaUz1mmlOTDRDM1Fw IDATeS7o3WBgxLHy9Wsj+uTNt4Ce8Rf/qvcglZc2LorisWjYCqt+8wHaitCubP+1zRfA AOmVYBNtg/czdX6ARh58TIj9xxo5VIGCmI3TR8bE3aP9ryTFVM3pnFlw9wlmSDBEfvf6 nKyhtYXWvEyunXhfa4XsV2QdAqqaQwkFZTW1PYT+hHT65kXsKs0j0iFNv3oHyYJshbu1 jI6w== |
| X-Gm-Message-State | AHPjjUgkX+zDPKIMNmXRyHVu0pPn7YUx8Om4uVkIuzev+Jfmt7rjjT5M lque1hstokLAzZXvJKgCNi+R8+Br0zLK/7YpeHCRMg== |
| X-Google-SMTP-Source | AOwi7QDP6xKsN/IM0NdAXInU5O8tIE3eoM/XWrGFzzulMrcYaa/aT+txqfL83kX3F9GSfvh9666ucAUnylYdbPNu7ek= |
| X-Received | by 10.202.172.10 with SMTP id v10mr5466208oie.318.1506069535104; Fri, 22 Sep 2017 01:38:55 -0700 (PDT) |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 60 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Liam Girdwood <lgirdwood@gmail.com>, Ingo Molnar <mingo@kernel.org>, Takashi Sakamoto <o-takashi@sakamocchi.jp>, SF Markus Elfring <elfring@users.sourceforge.net>, Dan Carpenter <dan.carpenter@oracle.com>, jeeja.kp@intel.com, Vinod Koul <vinod.koul@intel.com>, dharageswari.r@intel.com, guneshwor.o.singh@intel.com, Bhumika Goyal <bhumirks@gmail.com>, gudishax.kranthikumar@intel.com, Naveen M <naveen.m@intel.com>, hardik.t.shah@intel.com, Arvind Yadav <arvind.yadav.cs@gmail.com>, Fabian Frederick <fabf@skynet.be>, Mark Brown <broonie@kernel.org>, Deepa Dinamani <deepa.kernel@gmail.com>, alsa-devel@alsa-project.org, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> |
| X-Original-Date | Fri, 22 Sep 2017 16:38:54 +0800 |
| X-Original-Message-ID | <CAMz4kuKJH5U6gZgfqmpEax385fanCpoDyU5JGq5YD4bPJcz6AA@mail.gmail.com> |
| X-Original-References | <cover.1505973912.git.baolin.wang@linaro.org> <1091b589bec6317ea686937060c0f9f9db10651a.1505973912.git.baolin.wang@linaro.org> <CAK8P3a1uPWYMCUnsYfTo3MjcqopYEd1TnrPVqEts=ZiEAFdr8g@mail.gmail.com> <CAMz4kuKbo5NauhRW_UdSfL4m4q28B4=pcve=EvW5xDpZ_nyjeg@mail.gmail.com> <CAK8P3a1oyUinL5vxuysRQHh7dq2kHyNzsOHb6Mk8MJobXyNgaw@mail.gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1737277 |
Show key headers only | View raw
On 22 September 2017 at 15:57, Arnd Bergmann <arnd@arndb.de> wrote:
> On Fri, Sep 22, 2017 at 5:00 AM, Baolin Wang <baolin.wang@linaro.org> wrote:
>> On 21 September 2017 at 21:09, Arnd Bergmann <arnd@arndb.de> wrote:
>>> On Thu, Sep 21, 2017 at 8:18 AM, Baolin Wang <baolin.wang@linaro.org> wrote:
>>>
>>>> +static int snd_timer_user_tread(void __user *argp, struct snd_timer_user *tu,
>>>> + unsigned int cmd)
>>>> +{
>>>> + int __user *p = argp;
>>>> + int xarg, old_tread;
>>>> +
>>>> + if (tu->timeri) /* too late */
>>>> + return -EBUSY;
>>>> + if (get_user(xarg, p))
>>>> + return -EFAULT;
>>>> +
>>>> + old_tread = tu->tread;
>>>> +#if __BITS_PER_LONG == 64
>>>> + tu->tread = xarg ? 2 : 0;
>>>> +#ifdef IA32_EMULATION
>>>> + tu->tread = xarg ? 3 : 0;
>>>> +#endif
>>>> +#else
>>>> + if (cmd == SNDRV_TIMER_IOCTL_TREAD64)
>>>> + tu->tread = xarg ? 2 : 0;
>>>> + else
>>>> + tu->tread = xarg ? 1 : 0;
>>>> +#endif
>>>
>>> The 64-bit case looks broken here:
>>>
>>> - The tread flag is different for compat and native mode, so you
>>> must pass a flag to identify whether you are called from
>>> __snd_timer_user_ioctl or from snd_timer_user_ioctl_compat().
>>
>> I have some confusion here. For 64-bit, we will set tu->tread = 2 no
>> matter it is native mode or compat mode, only we will set tu->tread =
>> 3 for x86_32 in compat mode, right?
>> So I think we do not need to identify whether called from native mode
>> or compat mode.
>
> When we have a user space program with 32-bit time_t in compat mode
> (i.e. cmd==SNDRV_TIMER_IOCTL_TREAD) on a 64-bit kernel, we want
> to set tread=1, and that is different from the native mode that wants to
> set tread=2.
I understand your meaning now, thanks for explanation.
>
> For determining whether to use tread=2 or tread=3, we have to check
> both compat mode and x32 mode. This could be done by checking for
> "if (IS_ENABLED(CONFIG_IA32_EMULATION) && in_compat_syscall() &&
> is_x32_task())", but the in_compat_syscall() check can be skipped when
> you know that you were called from .compat_ioct().
OK.
--
Baolin.wang
Best Regards
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread Baolin Wang <baolin.wang@linaro.org> - 2017-09-21 08:20 +0200
Re: [RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread Arnd Bergmann <arnd@arndb.de> - 2017-09-21 15:10 +0200
Re: [RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread Baolin Wang <baolin.wang@linaro.org> - 2017-09-22 05:10 +0200
Re: [RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread Arnd Bergmann <arnd@arndb.de> - 2017-09-22 10:00 +0200
Re: [RFC PATCH 7/7] sound: core: Avoid using timespec for struct snd_timer_tread Baolin Wang <baolin.wang@linaro.org> - 2017-09-22 10:40 +0200
csiph-web