[lxc-devel] [lxc/lxc] b9d081: fix non-root user cannot write /dev/stdout

Christian Brauner noreply at github.com
Thu Apr 2 16:22:44 UTC 2020


  Branch: refs/heads/stable-4.0
  Home:   https://github.com/lxc/lxc
  Commit: b9d08129419616b7dc477895b8b4d82294e4310d
      https://github.com/lxc/lxc/commit/b9d08129419616b7dc477895b8b4d82294e4310d
  Author: gaohuatao <gaohuatao at huawei.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/attach.c
    M src/lxc/start.c
    M src/lxc/utils.c
    M src/lxc/utils.h

  Log Message:
  -----------
  fix non-root user cannot write /dev/stdout

Signed-off-by: gaohuatao <gaohuatao at huawei.com>


  Commit: 256d4d0144a09933550ea5b886cbe5b657723243
      https://github.com/lxc/lxc/commit/256d4d0144a09933550ea5b886cbe5b657723243
  Author: Aleksa Sarai <cyphar at cyphar.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c

  Log Message:
  -----------
  cgroups: fix "uninitialized transient_len" warning

Without this change, a build error is triggered if you compile with
-Werror=maybe-uninitialized.

 cgroups/cgfsng.c: In function 'cgfsng_monitor_enter':
 groups/cgfsng.c:1387:9: error: 'transient_len' may be used uninitialized in this function
    ret = lxc_writeat(h->cgfd_mon, "cgroup.procs", transient, transient_len);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The issue is that if handler->transient_pid is 0, then transient_len is
uninitialised but lxc_writeat(..., transient_len) still gets called.

Signed-off-by: Aleksa Sarai <cyphar at cyphar.com>


  Commit: 9ae5594834ed282521415a007a1fed32647fc6aa
      https://github.com/lxc/lxc/commit/9ae5594834ed282521415a007a1fed32647fc6aa
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/attach.c
    M src/lxc/start.c
    M src/lxc/utils.c
    M src/lxc/utils.h

  Log Message:
  -----------
  utils: rework fix_stdio_permissions()

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: 05bec1919fc05ff8890dddeeaa30acf3e4e04801
      https://github.com/lxc/lxc/commit/05bec1919fc05ff8890dddeeaa30acf3e4e04801
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/utils.c

  Log Message:
  -----------
  utils: use setres{u,g}id() in lxc_switch_uid_gid()

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: b5d3501f3cff426404590890ad450b71617354d7
      https://github.com/lxc/lxc/commit/b5d3501f3cff426404590890ad450b71617354d7
  Author: Aleksa Sarai <cyphar at cyphar.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c

  Log Message:
  -----------
  cgroups: fix build warning on GCC 7

GCC 7 appears to be clever enough to detect that transient_len is
uninitialised but not that it won't be used despite [1]. Just initialise
it to zero to stop the complaining, and allow LXC to build on openSUSE
Leap.

[1]: 346830421a96 ("cgroups: fix "uninitialized transient_len" warning")

Signed-off-by: Aleksa Sarai <cyphar at cyphar.com>


  Commit: 7e67b81d36e89219e729bc0cb7c833bf68ce5181
      https://github.com/lxc/lxc/commit/7e67b81d36e89219e729bc0cb7c833bf68ce5181
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M src/lxc/lxccontainer.c

  Log Message:
  -----------
  lxccontainer: poll takes millisecond not seconds

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


Compare: https://github.com/lxc/lxc/compare/fa7132aef6c3...7e67b81d36e8


More information about the lxc-devel mailing list