VLC doesn't play videos anymore since the PowerPC fixes 5.1-3

Christian Zigotzky chzigotzky at xenosoft.de
Thu Apr 4 19:44:13 AEDT 2019


On 04 April 2019 at 06:00AM, Christophe Leroy wrote:
>
>
> Le 04/04/2019 à 02:58, Christian Zigotzky a écrit :
>> On 03 April 2019 at 07:05AM, Christophe Leroy wrote:
>>> Le 03/04/2019 à 05:52, Christian Zigotzky a écrit :
>>>> Please test VLC with the RC3 of kernel 5.1.
>>>>
>>>> The removing of the PowerPC fixes 5.1-3 has solved the VLC issue. 
>>>> Another user has already confirmed that [1]. This isn’t an April 
>>>> Fool‘s. ;-)
>>>
>>> Could you bisect to identify the guilty commit ?
>>>
>>> Thanks
>>> Christophe
>>>
>>>>
>>>> Thanks
>>>>
>>>> [1] 
>>>> http://forum.hyperion-entertainment.com/viewtopic.php?f=58&t=4256&start=20#p47561 
>>>>
>>>>
>>>
>> Hello Christophe,
>>
>> I have found the problematic patch. The following patch from the 
>> PowerPC fixes 5.1-3 is responsible for the VLC issue.
>
> That change is part of the following commit:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.1-rc2&id=b5b4453e7912f056da1ca7572574cada32ecb60c 
>
>
> Just changing back the type of wtom_clock_sec to 32 bits without 
> changing back the loading instruction is likely to give unexpected 
> results on PPC64.
>
> Are you using 32 bits or 64 bits powerpc ?
>
> Christophe
64-bit kernel + 32-bit userland for example:

- ubuntu MATE 16.04.6 LTS 32-bit PowerPC with a 64-bit kernel
- Fienix (Debian Sid) 32-bit PowerPC with a 64-bit kernel
- MATE PowerPC Remix (ubuntu MATE 17.04) 32-bit PowerPC with a 64-bit kernel

-- Christian
>
>
>>
>> diff --git a/arch/powerpc/include/asm/vdso_datapage.h 
>> b/arch/powerpc/include/asm/vdso_datapage.h
>> index 1afe90ade595..bbc06bd72b1f 100644
>> --- a/arch/powerpc/include/asm/vdso_datapage.h
>> +++ b/arch/powerpc/include/asm/vdso_datapage.h
>> @@ -82,10 +82,10 @@ struct vdso_data {
>>      __u32 icache_block_size;      /* L1 i-cache block size */
>>      __u32 dcache_log_block_size;      /* L1 d-cache log block size */
>>      __u32 icache_log_block_size;      /* L1 i-cache log block size */
>> -   __s32 wtom_clock_sec;         /* Wall to monotonic clock */
>> -   __s32 wtom_clock_nsec;
>> -   struct timespec stamp_xtime;   /* xtime as at tb_orig_stamp */
>> -   __u32 stamp_sec_fraction;   /* fractional seconds of stamp_xtime */
>> +   __u32 stamp_sec_fraction;      /* fractional seconds of 
>> stamp_xtime */
>> +   __s32 wtom_clock_nsec;         /* Wall to monotonic clock nsec */
>> +   __s64 wtom_clock_sec;         /* Wall to monotonic clock sec */
>> +   struct timespec stamp_xtime;      /* xtime as at tb_orig_stamp */
>>         __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>         __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>   };
>>
>> -----
>>
>> Link: 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/arch/powerpc/include/asm/vdso_datapage.h?h=v5.1-rc2&id=a5ed1e96cafde5ba48638f486bfca0685dc6ddc9 
>>
>>
>> I created a patch for solving the VLC issue today.
>>
>> vdso_datapage_vlc.patch:
>>
>> diff -rupN a/arch/powerpc/include/asm/vdso_datapage.h 
>> b/arch/powerpc/include/asm/vdso_datapage.h
>> --- a/arch/powerpc/include/asm/vdso_datapage.h  2019-04-03 
>> 22:56:44.560645936 +0200
>> +++ b/arch/powerpc/include/asm/vdso_datapage.h  2019-04-04 
>> 02:20:09.479361827 +0200
>> @@ -82,10 +82,10 @@ struct vdso_data {
>>          __u32 icache_block_size;                /* L1 i-cache block 
>> size     */
>>          __u32 dcache_log_block_size;            /* L1 d-cache log 
>> block size */
>>          __u32 icache_log_block_size;            /* L1 i-cache log 
>> block size */
>> -       __u32 stamp_sec_fraction;               /* fractional seconds 
>> of stamp_xtime */
>> -       __s32 wtom_clock_nsec;                  /* Wall to monotonic 
>> clock nsec */
>> -       __s64 wtom_clock_sec;                   /* Wall to monotonic 
>> clock sec */
>> -       struct timespec stamp_xtime;            /* xtime as at 
>> tb_orig_stamp */
>> +       __s32 wtom_clock_sec;                   /* Wall to monotonic 
>> clock */
>> +       __s32 wtom_clock_nsec;
>> +       struct timespec stamp_xtime;    /* xtime as at tb_orig_stamp */
>> +       __u32 stamp_sec_fraction;       /* fractional seconds of 
>> stamp_xtime */
>>          __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>          __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
>>   };
>>
>> -----
>>
>> Cheers,
>> Christian
>



More information about the Linuxppc-dev mailing list