[libvirt PATCH v2 36/44] Deprecate QEMU_CAPS_SECCOMP_SANDBOX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
---
 src/qemu/qemu_capabilities.c                       |  1 -
 src/qemu/qemu_capabilities.h                       |  2 +-
 src/qemu/qemu_command.c                            | 14 ++++----------
 tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml |  1 -
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |  1 -
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |  1 -
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |  1 -
 tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml  |  1 -
 tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml    |  1 -
 tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml    |  1 -
 tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml    |  1 -
 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml   |  1 -
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml    |  1 -
 tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml    |  1 -
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   |  1 -
 28 files changed, 5 insertions(+), 37 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index c242886c85..2a26aecdd2 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3629,7 +3629,6 @@ static qemuMonitorCallbacks callbacks = {
 static void
 virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
 {
-    virQEMUCapsSet(qemuCaps, QEMU_CAPS_SECCOMP_SANDBOX);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_DTB);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_IPV6_MIGRATION);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_OPT);
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 2b9b55ac45..4f3934f1a9 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -199,7 +199,7 @@ typedef enum {
     QEMU_CAPS_USB_REDIR_FILTER, /* usb-redir.filter */
     QEMU_CAPS_IDE_DRIVE_WWN, /* Is ide-drive.wwn available? */
     QEMU_CAPS_SCSI_DISK_WWN, /* Is scsi-disk.wwn available? */
-    QEMU_CAPS_SECCOMP_SANDBOX, /* -sandbox */
+    X_QEMU_CAPS_SECCOMP_SANDBOX, /* -sandbox */
 
     /* 110 */
     QEMU_CAPS_REBOOT_TIMEOUT, /* -boot reboot-timeout */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index af7b895f8a..cea3517258 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -10002,16 +10002,10 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
                                  ? qemucmd->env_value[i] : "");
     }
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SECCOMP_SANDBOX)) {
-        if (cfg->seccompSandbox == 0)
-            virCommandAddArgList(cmd, "-sandbox", "off", NULL);
-        else if (cfg->seccompSandbox > 0)
-            virCommandAddArgList(cmd, "-sandbox", "on", NULL);
-    } else if (cfg->seccompSandbox > 0) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                       _("QEMU does not support seccomp sandboxes"));
-        goto error;
-    }
+    if (cfg->seccompSandbox == 0)
+        virCommandAddArgList(cmd, "-sandbox", "off", NULL);
+    else if (cfg->seccompSandbox > 0)
+        virCommandAddArgList(cmd, "-sandbox", "on", NULL);
 
     if (qemuBuildPanicCommandLine(cmd, def, qemuCaps) < 0)
         goto error;
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index dad34c6883..69ee300ce7 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
index b571fd5d82..21c4ad9730 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
index 181d6f8934..f3ee50041d 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
index b9a6f7251e..f794d7f103 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
index c667f43429..ba986ba43f 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
@@ -35,7 +35,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index c083d67d28..5d8579b058 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -34,7 +34,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
index e43887630e..f1640c3e5b 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index bba2af0b88..d8d8439e5f 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
index 0d02329fe7..17fff019bb 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index 75caa40320..5dd2ff8792 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -35,7 +35,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index d1c9e15e08..6a658b73c3 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -34,7 +34,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index de9f072bb7..2b7d006137 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index 8ba2f82cf5..fbeb75b924 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -45,7 +45,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
index 867142bfc2..9c86bf0794 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
index 9cd8f46555..8062bcf75e 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
index 9445d48aa4..663bb01bf8 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
@@ -37,7 +37,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
index 0de4f85248..dfe686c5ca 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
@@ -34,7 +34,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
index fcbfccc638..6b0f544892 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
index f15c4a0359..0069f639e8 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
index 734d791ff7..489b82d4b2 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
index 65f62eb49c..b1413fe349 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
index c4ff3470d8..4d57068535 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index 3bd1c9d466..c4647a6d75 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -34,7 +34,6 @@
   <flag name='blockio'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
index 0c1c610f86..4c88f62dfa 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -20,7 +20,6 @@
   <flag name='virtio-scsi-pci'/>
   <flag name='blockio'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 65546aca66..896813522f 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -47,7 +47,6 @@
   <flag name='usb-redir.filter'/>
   <flag name='ide-drive.wwn'/>
   <flag name='scsi-disk.wwn'/>
-  <flag name='seccomp-sandbox'/>
   <flag name='reboot-timeout'/>
   <flag name='dump-guest-core'/>
   <flag name='seamless-migration'/>
-- 
2.16.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux