The Linux kernel will fix some peculiar argv usage in execve(2)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • freebsd-src

    The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....

  • There are three things I expect to find in mailing list discussions before going off and reading them:

    * Someone suggests that the kernel return EINVAL for null or zero-length argument vector. Someone else then comes up with a mad but very real mainstream program that relies upon the system call succeeding.

    * Someone points out that the SUS requires that argv[0] be non-null. Someone else tries to weasel a difference between "shall" and "should", overlooking the SUS rationale that the leeway given is in the string contents, not that it is permitted to be outright null.

    * Someone suggests in all seriousness that this behaviour be retained for historical compatibility.

    For reference:

    * FreeBSD just returns EINVAL for a zero-length argument vector, https://github.com/freebsd/freebsd-src/commit/773fa8cd136a57... . This came from OpenBSD.

    * A null argument vector has been EFAULT in FreeBSD since 2004, when someone noticed that the manual disallowed this, https://github.com/freebsd/freebsd-src/commit/7700eb86e7740c... .

    * DragonFly BSD has been fixing up a zero-length argument vector by adding in a dummy non-null argv[0] since 2005, https://github.com/DragonFlyBSD/DragonFlyBSD/commit/66be6566... . It introduced EFAULT for a null argument vector at the same time.

    * Illumos has returned EFAULT for a null argument vector since at least the point when it went open-source in 2005.

  • DragonFlyBSD

    DragonFly BSD System Source Repository (read-only mirror)

  • There are three things I expect to find in mailing list discussions before going off and reading them:

    * Someone suggests that the kernel return EINVAL for null or zero-length argument vector. Someone else then comes up with a mad but very real mainstream program that relies upon the system call succeeding.

    * Someone points out that the SUS requires that argv[0] be non-null. Someone else tries to weasel a difference between "shall" and "should", overlooking the SUS rationale that the leeway given is in the string contents, not that it is permitted to be outright null.

    * Someone suggests in all seriousness that this behaviour be retained for historical compatibility.

    For reference:

    * FreeBSD just returns EINVAL for a zero-length argument vector, https://github.com/freebsd/freebsd-src/commit/773fa8cd136a57... . This came from OpenBSD.

    * A null argument vector has been EFAULT in FreeBSD since 2004, when someone noticed that the manual disallowed this, https://github.com/freebsd/freebsd-src/commit/7700eb86e7740c... .

    * DragonFly BSD has been fixing up a zero-length argument vector by adding in a dummy non-null argv[0] since 2005, https://github.com/DragonFlyBSD/DragonFlyBSD/commit/66be6566... . It introduced EFAULT for a null argument vector at the same time.

    * Illumos has returned EFAULT for a null argument vector since at least the point when it went open-source in 2005.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Why is the Amiga so beloved in the demoscene? (2023 essay)

    1 project | news.ycombinator.com | 6 Dec 2023
  • FreeBSD at 30 years: Its secrets to success

    1 project | news.ycombinator.com | 5 Jul 2023
  • I think I may have outgrown computers

    1 project | /r/TrueRandomThoughts | 9 Oct 2022
  • Would the BSD operating system benefit from a microkernel architecture.

    1 project | /r/BSD | 20 Sep 2022
  • BSD operating systems, which is your favorite?

    1 project | /r/BSD | 24 Jul 2022