IRC channel logs

2022-03-24.log

back to list of logs

<ays>Hello everyone, I am a novice to GNU Hurd (I don't have any experience with kernel development, but I have worked with C in the fintech field for 4 years). Can someone please point me to resources so I can start contributing? I have read the official documentation and have setup qemu with GNU Hurd. I dabbled with the system for a bit, and now I want to contribute to the project.
<AwesomeAdam54321>ays: Hi, you can read www.gnu.org/software/hurd/contributing.html
<ays>AwesomeAdam54321: thanks! Any advice on some issue I can get started with?
<AwesomeAdam54321>ays: You can try this one, savannah.gnu.org/bugs/?28446
<ays>AwesomeAdam54321: Thanks! I will start looking into it.
<curiosa>AwesomeAdam54321: maybe MIG should output code that utilizes something similar to https://www.kernel.org/doc/htmldocs/kernel-api/API-strscpy.html instead of strncpy
<curiosa>that would fix the bug
<youpi>mig uses stpncpy actually
<youpi>(through mig_strncpy)
<curiosa>strscpy is different
<curiosa>by the way, is this really a general bug? The server shouldn't segfault in any case
<curiosa>if it segfault, then it is a different bug
<curiosa>finally, it would have been nice if Hurd would have used unbounded c_string as the string type, I wonder why they didn't
<curiosa>it feels funny to correct code where MAX_PATH is used when finally Hurd is even funnier in this regard himself
<ays>Guys, I am a complete noob here, where do I look to find the MIG dir_lookup code? Its for the http://savannah.gnu.org/bugs/?28446 issue
<curiosa>hurd/fs.defs
<ays>thanks!
<curiosa>there is no issue with that function
<curiosa>also not in mig but in hurd
<ays>If I am not mistaken, the issue is in __mig_strncpy?
<curiosa>according to the bug reporter, yes
<curiosa>I think that there is no point in fixing mig
<curiosa>but I would like to hear people why instead they would fix it
<curiosa>well, server side mig might add a \0 if it's not there
<curiosa>basically doing what strscpy does
<curiosa>you lose a byte for a marginal gain (to avoid faulty code)
<curiosa>but faulty code might not be there
<curiosa>the report don't mention any actual segfault
<curiosa>I wonder why they didn't just #define MAX_PATH 1024
<curiosa>.oO( #define MAX_PATH 8 + 3 )
<curiosa>well probably because paths can be unlimited by this is not the path, it's a limit in the api