Commit 762a9f2f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml

Pull UML updates from Richard Weinberger:

 - New mode for time travel, external via virtio

 - Fixes for ubd to make sure no requests can get lost

 - Fixes for vector networking

 - Allow CONFIG_STATIC_LINK only when possible

 - Minor cleanups and fixes

* tag 'for-linus-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
  um: Remove some unnecessary NULL checks in vector_user.c
  um: vector: Avoid NULL ptr deference if transport is unset
  um: Make CONFIG_STATIC_LINK actually static
  um: Implement cpu_relax() as ndelay(1) for time-travel
  um: Implement ndelay/udelay in time-travel mode
  um: Implement time-travel=ext
  um: virtio: Implement VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS
  um: time-travel: Rewrite as an event scheduler
  um: Move timer-internal.h to non-shared
  hostfs: Use kasprintf() instead of fixed buffer formatting
  um: falloc.h needs to be directly included for older libc
  um: ubd: Retry buffer read on any kind of error
  um: ubd: Prevent buffer overrun on command completion
  um: Fix overlapping ELF segments when statically linked
  um: Delete never executed timer
  um: Don't overwrite ethtool driver version
  um: Fix len of file in create_pid_file
  um: Don't use console_drivers directly
  um: Cleanup CONFIG_IOSCHED_CFQ
parents d5d24766 4a7c4624
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -62,9 +62,12 @@ config NR_CPUS

source "arch/$(HEADER_ARCH)/um/Kconfig"

config FORBID_STATIC_LINK
	bool

config STATIC_LINK
	bool "Force a static link"
	default n
	depends on !FORBID_STATIC_LINK
	help
	  This option gives you the ability to force a static link of UML.
	  Normally, UML is linked as a shared binary.  This is inconvenient for
@@ -73,6 +76,9 @@ config STATIC_LINK
	  Additionally, this option enables using higher memory spaces (up to
	  2.75G) for UML.

	  NOTE: This option is incompatible with some networking features which
	  depend on features that require being dynamically loaded (like NSS).

config LD_SCRIPT_STATIC
	bool
	default y
@@ -191,6 +197,7 @@ config UML_TIME_TRAVEL_SUPPORT
	prompt "Support time-travel mode (e.g. for test execution)"
	# inf-cpu mode is incompatible with the benchmarking
	depends on !RAID6_PQ_BENCHMARK
	depends on !SMP
	help
	  Enable this option to support time travel inside the UML instance.

+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ CONFIG_SLAB=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_IOSCHED_CFQ=m
CONFIG_IOSCHED_BFQ=m
CONFIG_SSL=y
CONFIG_NULL_CHAN=y
CONFIG_PORT_CHAN=y
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ CONFIG_SLAB=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_IOSCHED_CFQ=m
CONFIG_IOSCHED_BFQ=m
CONFIG_SSL=y
CONFIG_NULL_CHAN=y
CONFIG_PORT_CHAN=y
+3 −0
Original line number Diff line number Diff line
@@ -234,6 +234,7 @@ config UML_NET_DAEMON
config UML_NET_VECTOR
	bool "Vector I/O high performance network devices"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	This User-Mode Linux network driver uses multi-message send
	and receive functions. The host running the UML guest must have
@@ -245,6 +246,7 @@ config UML_NET_VECTOR
config UML_NET_VDE
	bool "VDE transport (obsolete)"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	This User-Mode Linux network transport allows one or more running
	UMLs on a single host to communicate with each other and also
@@ -292,6 +294,7 @@ config UML_NET_MCAST
config UML_NET_PCAP
	bool "pcap transport (obsolete)"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	The pcap transport makes a pcap packet stream on the host look
	like an ethernet device inside UML.  This is useful for making
+0 −13
Original line number Diff line number Diff line
@@ -266,7 +266,6 @@ static void uml_net_get_drvinfo(struct net_device *dev,
				struct ethtool_drvinfo *info)
{
	strlcpy(info->driver, DRIVER_NAME, sizeof(info->driver));
	strlcpy(info->version, "42", sizeof(info->version));
}

static const struct ethtool_ops uml_net_ethtool_ops = {
@@ -275,17 +274,6 @@ static const struct ethtool_ops uml_net_ethtool_ops = {
	.get_ts_info	= ethtool_op_get_ts_info,
};

static void uml_net_user_timer_expire(struct timer_list *t)
{
#ifdef undef
	struct uml_net_private *lp = from_timer(lp, t, tl);
	struct connection *conn = &lp->user;

	dprintk(KERN_INFO "uml_net_user_timer_expire [%p]\n", conn);
	do_connect(conn);
#endif
}

void uml_net_setup_etheraddr(struct net_device *dev, char *str)
{
	unsigned char *addr = dev->dev_addr;
@@ -456,7 +444,6 @@ static void eth_configure(int n, void *init, char *mac,
		  .add_address 		= transport->user->add_address,
		  .delete_address  	= transport->user->delete_address });

	timer_setup(&lp->tl, uml_net_user_timer_expire, 0);
	spin_lock_init(&lp->lock);
	memcpy(lp->mac, dev->dev_addr, sizeof(lp->mac));

Loading