1. 15 11月, 2019 1 次提交
    • P
      vircgroup: introduce virCgroupV2DevicesAttachProg · 48423a0b
      Pavel Hrdina 提交于
      This function loads the BPF prog with prepared map into kernel and
      attaches it into guest cgroup.  It can be also used to replace existing
      program in the cgroup if we need to resize BPF map to store more rules
      for devices. The old program will be closed and removed from kernel.
      
      There are two possible ways how to create BPF program:
      
          - One way is to write simple C-like code which can by compiled into
            BPF object file which can be loaded into kernel using elfutils.
      
          - The second way is to define macros which look like assembler
            instructions and can be used directly to create BPF program that
            can be directly loaded into kernel.
      
      Since the program is not too complex we can use the second option.
      
      If there is no program, all devices are allowed, if there is some
      program it is executed and based on the exit status the access is
      denied for 0 and allowed for 1.
      
      Our program will follow these rules:
      
          - first it will try to look for the specific key using major and
            minor to see if there is any rule for that specific device
      
          - if there is no specific rule it will try to look for any rule that
            matches only major of the device
      
          - if there is no match with major it will try the same but with
            minor of the device
      
          - as the last attempt it will try to look for rule for all devices
            and if there is no match it will return 0 to deny that access
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      48423a0b
  2. 21 6月, 2019 2 次提交
  3. 05 4月, 2019 1 次提交
  4. 14 12月, 2018 4 次提交
    • D
      Enforce a standard header file guard symbol name · 568a4172
      Daniel P. Berrangé 提交于
      Require that all headers are guarded by a symbol named
      
        LIBVIRT_$FILENAME
      
      where $FILENAME is the uppercased filename, with all characters
      outside a-z changed into '_'.
      
      Note we do not use a leading __ because that is technically a
      namespace reserved for the toolchain.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      568a4172
    • D
      Fix many mistakes & inconsistencies in header file layout · 4cfd7090
      Daniel P. Berrangé 提交于
      This introduces a syntax-check script that validates header files use a
      common layout:
      
        /*
         ...copyright header...
         */
        <one blank line>
        #ifndef SYMBOL
        # define SYMBOL
        ....content....
        #endif /* SYMBOL */
      
      For any file ending priv.h, before the #ifndef, we will require a
      guard to prevent bogus imports:
      
        #ifndef SYMBOL_ALLOW
        # error ....
        #endif /* SYMBOL_ALLOW */
        <one blank line>
      
      The many mistakes this script identifies are then fixed.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      4cfd7090
    • P
      vircgroup: introduce virCgroupKillRecursiveCB · b5325468
      Pavel Hrdina 提交于
      The rewrite to support cgroup v2 missed this function.  In cgroup v2
      we have different files to track tasks.
      
      We would fail to remove cgroup on non-systemd OSes if there is any
      extra process assigned to guest cgroup because we would not kill any
      process form the guest cgroup.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      b5325468
    • D
      Remove all Author(s): lines from source file headers · 60046283
      Daniel P. Berrangé 提交于
      In many files there are header comments that contain an Author:
      statement, supposedly reflecting who originally wrote the code.
      In a large collaborative project like libvirt, any non-trivial
      file will have been modified by a large number of different
      contributors. IOW, the Author: comments are quickly out of date,
      omitting people who have made significant contribitions.
      
      In some places Author: lines have been added despite the person
      merely being responsible for creating the file by moving existing
      code out of another file. IOW, the Author: lines give an incorrect
      record of authorship.
      
      With this all in mind, the comments are useless as a means to identify
      who to talk to about code in a particular file. Contributors will always
      be better off using 'git log' and 'git blame' if they need to  find the
      author of a particular bit of code.
      
      This commit thus deletes all Author: comments from the source and adds
      a rule to prevent them reappearing.
      
      The Copyright headers are similarly misleading and inaccurate, however,
      we cannot delete these as they have legal meaning, despite being largely
      inaccurate. In addition only the copyright holder is permitted to change
      their respective copyright statement.
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      60046283
  5. 05 10月, 2018 2 次提交
    • P
      vircgroup: add support for hybrid configuration · b79d8585
      Pavel Hrdina 提交于
      This enables to use both cgroup v1 and v2 at the same time together
      with libvirt.  It is supported by kernel and there is valid use-case,
      not all controllers are implemented in cgroup v2 so there might be
      configurations where administrator would enable these missing
      controllers in cgroup v1.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      b79d8585
    • P
      util: introduce cgroup v2 files · b4ddf5ae
      Pavel Hrdina 提交于
      Place cgroup v2 backend type before cgroup v1 to make it obvious
      that cgroup v2 is preferred implementation.
      
      Following patches will introduce support for hybrid configuration
      which will allow us to use both at the same time, but we should
      prefer cgroup v2 regardless.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      b4ddf5ae
  6. 25 9月, 2018 13 次提交
  7. 13 8月, 2018 3 次提交
  8. 30 7月, 2018 1 次提交
  9. 27 7月, 2018 1 次提交
    • S
      util: cgroup: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC · 4da4a9fe
      Sukrit Bhatnagar 提交于
      Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in
      src/util/viralloc.h, define a new wrapper around an existing
      cleanup function which will be called when a variable declared
      with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant
      viralloc.h include, since that has moved from the source module into
      the header.
      
      When a variable of type virCgroupPtr is declared using
      VIR_AUTOPTR, the function virCgroupFree will be run
      automatically on it when it goes out of scope.
      
      This commit also adds an intermediate typedef for virCgroup
      type for use with the cleanup macros.
      Signed-off-by: NSukrit Bhatnagar <skrtbhtngr@gmail.com>
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      4da4a9fe
  10. 18 3月, 2015 1 次提交
  11. 16 4月, 2013 2 次提交
  12. 21 9月, 2012 1 次提交
  13. 23 7月, 2012 1 次提交
    • O
      Desert the FSF address in copyright · f9ce7dad
      Osier Yang 提交于
      Per the FSF address could be changed from time to time, and GNU
      recommends the following now: (http://www.gnu.org/licenses/gpl-howto.html)
      
        You should have received a copy of the GNU General Public License
        along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
      
      This patch removes the explicit FSF address, and uses above instead
      (of course, with inserting 'Lesser' before 'General').
      
      Except a bunch of files for security driver, all others are changed
      automatically, the copyright for securify files are not complete,
      that's why to do it manually:
      
        src/security/security_selinux.h
        src/security/security_driver.h
        src/security/security_selinux.c
        src/security/security_apparmor.h
        src/security/security_apparmor.c
        src/security/security_driver.c
      f9ce7dad
  14. 10 3月, 2010 1 次提交
  15. 21 9月, 2009 1 次提交
    • D
      Move LXC driver into src/lxc/ · c93125b1
      Daniel P. Berrange 提交于
      * src/lxc_conf.c, src/lxc_conf.h, src/lxc_container.c,
        src/lxc_container.h, src/lxc_controller.c, src/lxc_driver.c,
        src/lxc_driver.h, src/veth.c, src/veth.h: Move to src/lxc/
      * src/opennebula/one_driver.c: Remove bogus veth.h include
      * src/Makefile.am: Adjust for lxc paths
      * daemon/qemud.c: Adjust include for lxc
      c93125b1
  16. 21 8月, 2008 1 次提交
  17. 11 4月, 2008 1 次提交
  18. 21 3月, 2008 1 次提交
    • D
      Initial Linux containers work · f1638952
      Daniel Veillard 提交于
      * configure.in include/libvirt/virterror.h src/Makefile.am
        src/driver.h src/lxc_conf.[ch] src/lxc_driver.[ch] src/virterror.c:
        Applied 3 patches from Dave Leskovec for intial support of
        Linux containers, configured off by default, work in progress.
      * src/libvirt.c: improve virDomainCreateLinux xmlDesc description
      Daniel
      f1638952
  19. 30 1月, 2008 1 次提交
    • J
      Enable the <config.h>-requiring test; fix violations · a3781881
      Jim Meyering 提交于
      Use <config.h>, not "config.h", per autoconf documentation.
      * Makefile.cfg (local-checks-to-skip) [sc_require_config_h]: Enable.
      * .x-sc_require_config_h: New file, to list exempted files.
      * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h.
      a3781881
  20. 26 11月, 2007 1 次提交