From 9bb7f7e2aca497f8771a5e9a282b222e995e31b2 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 17 Jan 2008 15:18:38 +0000 Subject: [PATCH] tools: disable lomount and miniterm by default lomount is a tool which reads and parses a partition table in a disk image block device and then uses mount -o ...offset=... to mount it. This is not an ideal approach. For example, if the intended filesystem has corrupted metadata the kernel's filesystem driver may start to write outside of the intended region. This might even be exploitable in some perverse circumstances. Nowadays people wanting to do this should use kpartx, which uses devmapper to create appropriate range mappings. So lomount should be disabled. miniterm may well be useful but it is a clone-and-hack of an upstream project and is currently built but not installed by default, partly because it doesn't make sense to install on the dom0 which it might be trying to debug. It is probably useful to retain these two programs in the source tree but IMO they should no longer be built by default. The attached patch does these things: * CONFIG_LOMOUNT and CONFIG_MINITERM in Config.mk can enable and disable these programs * They are disabled by default * If CONFIG_MINITERM=y it is still built but not installed. make -C tools/misc/miniterm install will install it. Signed-off-by: Ian Jackson --- Config.mk | 2 ++ tools/misc/Makefile | 14 +++++++------- tools/misc/lomount/Makefile | 2 +- tools/misc/miniterm/Makefile | 3 +++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Config.mk b/Config.mk index fbd65436da..fe390bf182 100644 --- a/Config.mk +++ b/Config.mk @@ -88,5 +88,7 @@ XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n LIBXENAPI_BINDINGS ?= n PYTHON_TOOLS ?= y +CONFIG_MINITERM ?= n +CONFIG_LOMOUNT ?= n -include $(XEN_ROOT)/.config diff --git a/tools/misc/Makefile b/tools/misc/Makefile index c3e4d914f0..f9dcbb22ad 100644 --- a/tools/misc/Makefile +++ b/tools/misc/Makefile @@ -13,6 +13,10 @@ TARGETS-y := xenperf TARGETS-$(CONFIG_X86) += xen-detect TARGETS := $(TARGETS-y) +SUBDIRS-$(CONFIG_LOMOUNT) += lomount +SUBDIRS-$(CONFIG_MINITERM) += miniterm +SUBDIRS := $(SUBDIRS-y) + INSTALL_BIN = $(TARGETS) xencons INSTALL_SBIN = netfix xm xen-bugtool xen-python-path xend xenperf xsview @@ -21,8 +25,7 @@ all: build .PHONY: build build: $(TARGETS) - $(MAKE) -C miniterm - $(MAKE) -C lomount + set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d; done .PHONY: install install: build @@ -30,15 +33,12 @@ install: build [ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin $(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin $(INSTALL_PROG) $(INSTALL_SBIN) $(DESTDIR)/usr/sbin - $(MAKE) -C lomount install -# No sense in installing miniterm on the Xen box. -# $(MAKE) -C miniterm install + set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done .PHONY: clean clean: $(RM) *.o $(TARGETS) *~ - $(MAKE) -C miniterm clean - $(MAKE) -C lomount clean + set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d clean; done %.o: %.c $(HDRS) Makefile $(CC) -c $(CFLAGS) -o $@ $< diff --git a/tools/misc/lomount/Makefile b/tools/misc/lomount/Makefile index 04c928d66f..77ba4f80df 100644 --- a/tools/misc/lomount/Makefile +++ b/tools/misc/lomount/Makefile @@ -15,7 +15,7 @@ all: build build: $(BIN) .PHONY: install -install: build +install install-recurse: build $(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin .PHONY: clean diff --git a/tools/misc/miniterm/Makefile b/tools/misc/miniterm/Makefile index 1fe35f810c..ec063746f4 100644 --- a/tools/misc/miniterm/Makefile +++ b/tools/misc/miniterm/Makefile @@ -11,6 +11,9 @@ install: all [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin $(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin +.PHONY: install-recurse + : No sense in installing miniterm on the Xen box. + .PHONY: clean clean: $(RM) *.o $(TARGET) *~ -- 2.39.5