lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10ffb1e1-163d-4e30-9be3-0f229f3b7492@freemail.hu>
Date: Mon, 11 Nov 2024 22:39:07 +0100
From: Szőke Benjamin <egyszeregy@...email.hu>
To: Boqun Feng <boqun.feng@...il.com>
Cc: paulmck@...nel.org, stern@...land.harvard.edu, parri.andrea@...il.com,
 will@...nel.org, peterz@...radead.org, npiggin@...il.com,
 dhowells@...hat.com, j.alglave@....ac.uk, luc.maranget@...ia.fr,
 akiyks@...il.com, dlustig@...dia.com, joel@...lfernandes.org,
 linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
 lkmm@...ts.linux.dev, torvalds@...ux-foundation.org
Subject: Re: [PATCH] tools/memory-model: Fix litmus-tests's file names for
 case-insensitive filesystem.

2024. 11. 11. 22:23 keltezéssel, Boqun Feng írta:
> On Mon, Nov 11, 2024 at 10:15:30PM +0100, Sz"oke Benjamin wrote:
>> 2024. 11. 11. 21:29 keltezéssel, Paul E. McKenney írta:
>>> On Mon, Nov 11, 2024 at 08:56:34PM +0100, Sz"oke Benjamin wrote:
>>>> 2024. 11. 11. 20:22 keltezéssel, Paul E. McKenney írta:
>>>>> On Mon, Nov 11, 2024 at 07:52:50PM +0100, Sz"oke Benjamin wrote:
>>>>>> 2024. 11. 11. 17:54 keltezéssel, Paul E. McKenney írta:
>>>>>>> On Mon, Nov 11, 2024 at 05:42:47PM +0100, egyszeregy@...email.hu wrote:
>>>>>>>> From: Benjamin Sz"oke <egyszeregy@...email.hu>
>>>>>>>>
>>>>>>>> The goal is to fix Linux repository for case-insensitive filesystem,
>>>>>>>> to able to clone it and editable on any operating systems.
>>>>>>>>
>>>>>>>> Rename "Z6.0+pooncelock+poonceLock+pombonce.litmus" to
>>>>>>>> "Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus".
>>>>>>>>
>>>>>>>> Signed-off-by: Benjamin Sz"oke <egyszeregy@...email.hu>
>>>>>>>
>>>>>>> Ummm...  Really?
>>>>>>>
>>>>>>> Just out of curiosity, which operating-system/filesystem combination are
>>>>>>> you working with?  And why not instead fix that combination to handle
>>>>>>> mixed case?
>>>>>>>
>>>>>>> 							Thanx, Paul
>>>>>>
>>>>>> Windows and also MacOS is not case sensitive by default. My goal is to
>>>>>> improve Linux kernel source-tree, to able to develop it in any operating
>>>>>> systems for example via Visual Studio Code extensions/IntelliSense feature
>>>>>> or any similar IDE which is usable in any OS.
>>>>>
>>>>> Why not simply enable case sensitivity on the file tree in which you
>>>>> are processing Linux-kernel source code?
>>>>>
>>>>> For MacOS:  https://discussions.apple.com/thread/251191099?sortBy=rank
>>>>> For Windows:  https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity
>>>>>
>>>>> In some cases it might work better to simply run a Linux VM on top of
>>>>> Windows or MacOS.
>>>>>
>>>>> They tell me that webservers already do this, so why not also for
>>>>> Linux-kernel source code?
>>>>
>>>> Why we not solve it as simple as it can in the source code of the Linux
>>>> kernel with renaming? It would be more robust and more durable to fix this
>>>> issue/inconviniant in the source as an overal complete solution. Nobody like
>>>> to figth with configuraition hell of Windows and MacOS, or build up a
>>>> diskspace consumer Virtual Linux with crappy GUI capapilities for coding big
>>>> things.
>>>>
>>>> Young developers will never be willing to join and contributing in Linux
>>>> kernel in the future if Linux kernel code is not editable in a high-quality,
>>>> easy-to-use IDE for, which is usable in any OS.
>>>
>>> There are a great number of software projects out there that use mixed
>>> case.  Therefore, can an IDE that does not gracefully handle mixed case
>>> really be said to be either high quality or easy to use?
>>>
>>> In other words, you have the option of making the IDE handle this.
>>>
>>>> Need to improve this kind of things and simplify/modernize developing or
>>>> never will be solved the following issues:
>>>> https://www.youtube.com/watch?v=lJLw94pAcBY
>>>
>>> Sorry, but that video does not support your point.  In fact, the presenter
>>> clearly states that this sort of tooling issue is not a real problem
>>> for the Linux kernel near the middle of that video.
>>>
>>> 							Thanx, Paul
>>>
>>>>>> There were some accepted patches which aim this same goal.
>>>>>> https://gitlab.freedesktop.org/drm/kernel/-/commit/231bb9b4c42398db3114c087ba39ba00c4b7ac2c
>>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/commit/?h=for-curr&id=8bf275d61925cff45568438c73f114e46237ad7e
>>>>>
>>>>> Fair enough, as it is the maintainer's choice.  Which means that
>>>>> their accepting these case-sensitivity changes does not require other
>>>>> maintainers to do so.
>>>>>
>>>>> 							Thanx, Paul
>>>>>
>>>>>>>> ---
>>>>>>>>      tools/memory-model/Documentation/locking.txt                    | 2 +-
>>>>>>>>      tools/memory-model/Documentation/recipes.txt                    | 2 +-
>>>>>>>>      tools/memory-model/litmus-tests/README                          | 2 +-
>>>>>>>>      ...> Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus} | 0
>>>>>>>>      4 files changed, 3 insertions(+), 3 deletions(-)
>>>>>>>>      rename tools/memory-model/litmus-tests/{Z6.0+pooncelock+poonceLock+pombonce.litmus => Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus} (100%)
>>>>>>>>
>>>>>>>> diff --git a/tools/memory-model/Documentation/locking.txt b/tools/memory-model/Documentation/locking.txt
>>>>>>>> index 65c898c64a93..42bc3efe2015 100644
>>>>>>>> --- a/tools/memory-model/Documentation/locking.txt
>>>>>>>> +++ b/tools/memory-model/Documentation/locking.txt
>>>>>>>> @@ -184,7 +184,7 @@ ordering properties.
>>>>>>>>      Ordering can be extended to CPUs not holding the lock by careful use
>>>>>>>>      of smp_mb__after_spinlock():
>>>>>>>> -	/* See Z6.0+pooncelock+poonceLock+pombonce.litmus. */
>>>>>>>> +	/* See Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus. */
>>>>>>>>      	void CPU0(void)
>>>>>>>>      	{
>>>>>>>>      		spin_lock(&mylock);
>>>>>>>> diff --git a/tools/memory-model/Documentation/recipes.txt b/tools/memory-model/Documentation/recipes.txt
>>>>>>>> index 03f58b11c252..35996eb1b690 100644
>>>>>>>> --- a/tools/memory-model/Documentation/recipes.txt
>>>>>>>> +++ b/tools/memory-model/Documentation/recipes.txt
>>>>>>>> @@ -159,7 +159,7 @@ lock's ordering properties.
>>>>>>>>      Ordering can be extended to CPUs not holding the lock by careful use
>>>>>>>>      of smp_mb__after_spinlock():
>>>>>>>> -	/* See Z6.0+pooncelock+poonceLock+pombonce.litmus. */
>>>>>>>> +	/* See Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus. */
>>>>>>>>      	void CPU0(void)
>>>>>>>>      	{
>>>>>>>>      		spin_lock(&mylock);
>>>>>>>> diff --git a/tools/memory-model/litmus-tests/README b/tools/memory-model/litmus-tests/README
>>>>>>>> index d311a0ff1ae6..e3d451346400 100644
>>>>>>>> --- a/tools/memory-model/litmus-tests/README
>>>>>>>> +++ b/tools/memory-model/litmus-tests/README
>>>>>>>> @@ -149,7 +149,7 @@ Z6.0+pooncelock+pooncelock+pombonce.litmus
>>>>>>>>      	spin_lock() sufficient to make ordering apparent to accesses
>>>>>>>>      	by a process not holding the lock?
>>>>>>>> -Z6.0+pooncelock+poonceLock+pombonce.litmus
>>>>>>>> +Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus
>>>>>>>>      	As above, but with smp_mb__after_spinlock() immediately
>>>>>>>>      	following the spin_lock().
>>>>>>>> diff --git a/tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+pombonce.litmus b/tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus
>>>>>>>> similarity index 100%
>>>>>>>> rename from tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+pombonce.litmus
>>>>>>>> rename to tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+after_spinlock+pombonce.litmus
>>>>>>>> -- 
>>>>>>>> 2.47.0.windows.2
>>>>>>>>
>>>>>>
>>>>
>>
>> There is a technical issue in the Linux kernel source tree's file
>> naming/styles in git clone command on case-insensitive filesystem.
>>
>>
>> warning: the following paths have collided (e.g. case-sensitive paths
>> on a case-insensitive filesystem) and only one from the same
>> colliding group is in the working tree:
>>
>>    'tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+pombonce.litmus'
>>    'tools/memory-model/litmus-tests/Z6.0+pooncelock+pooncelock+pombonce.litmus'
>>
>>
>> As you a maintainer, what is your suggestion to fix it in the source code of
>> the Linux kernel? Please send a real technical suggestion not just how could
>> it be done in an other way (which is out of the scope now).
>>
>> Is my renaming patch correct to solve it? Question is what is the most
> 
> No, because once you do a checkout to a commit that previous to your
> changes, things are going to break again. The real "issue" is git use
> case-sensitive file names, so unless you can rewrite the whole history,
> your "solution" goes nowhere.
> 
> Regards,
> Boqun
> 
>> effective and proper fix/solution which can be commited into the Linux
>> kernel repo to fix it.


My renaming solution can not fix the old history line, but after this patch in 
latest master branch there are no any issue anymore, in git cloning. This the 
bare minimum solution which can fix its "cloning" issue for the future.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ