From 94e30f6a1edecea393e27f1b1ac5423fa3676bd3 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 23 Apr 2018 12:07:35 -0700 Subject: Add nsenter/unshare. Bug: N/A Test: builds Change-Id: I3101cc5f2faa0fb9e788de5cc097130b54001660 --- .config | 4 ++-- Android.mk | 3 +++ generated/config.h | 8 +++---- generated/flags.h | 68 +++++++++++++++++++++++++++--------------------------- 4 files changed, 43 insertions(+), 40 deletions(-) diff --git a/.config b/.config index c37239e0..1793b05b 100644 --- a/.config +++ b/.config @@ -214,7 +214,7 @@ CONFIG_NICE=y CONFIG_NL=y CONFIG_NOHUP=y # CONFIG_NPROC is not set -# CONFIG_NSENTER is not set +CONFIG_NSENTER=y CONFIG_OD=y # CONFIG_ONEIT is not set # CONFIG_OPENVT is not set @@ -312,7 +312,7 @@ CONFIG_UNAME=y CONFIG_UNIQ=y CONFIG_UNIX2DOS=y # CONFIG_UNLINK is not set -# CONFIG_UNSHARE is not set +CONFIG_UNSHARE=y CONFIG_UPTIME=y # CONFIG_USERADD is not set # CONFIG_USERDEL is not set diff --git a/Android.mk b/Android.mk index ba4a8b0d..ed007fec 100644 --- a/Android.mk +++ b/Android.mk @@ -121,6 +121,7 @@ common_SRC_FILES := \ toys/other/modinfo.c \ toys/other/mountpoint.c \ toys/other/nbd_client.c \ + toys/other/nsenter.c \ toys/other/partprobe.c \ toys/other/pivot_root.c \ toys/other/pmap.c \ @@ -324,6 +325,7 @@ ALL_TOOLS := \ nice \ nl \ nohup \ + nsenter \ od \ paste \ patch \ @@ -384,6 +386,7 @@ ALL_TOOLS := \ uname \ uniq \ unix2dos \ + unshare \ uptime \ usleep \ uudecode \ diff --git a/generated/config.h b/generated/config.h index 78aa548c..2193a769 100644 --- a/generated/config.h +++ b/generated/config.h @@ -402,8 +402,8 @@ #define USE_NOHUP(...) __VA_ARGS__ #define CFG_NPROC 0 #define USE_NPROC(...) -#define CFG_NSENTER 0 -#define USE_NSENTER(...) +#define CFG_NSENTER 1 +#define USE_NSENTER(...) __VA_ARGS__ #define CFG_OD 1 #define USE_OD(...) __VA_ARGS__ #define CFG_ONEIT 0 @@ -598,8 +598,8 @@ #define USE_UNIX2DOS(...) __VA_ARGS__ #define CFG_UNLINK 0 #define USE_UNLINK(...) -#define CFG_UNSHARE 0 -#define USE_UNSHARE(...) +#define CFG_UNSHARE 1 +#define USE_UNSHARE(...) __VA_ARGS__ #define CFG_UPTIME 1 #define USE_UPTIME(...) __VA_ARGS__ #define CFG_USERADD 0 diff --git a/generated/flags.h b/generated/flags.h index 68d8299a..7922ea9c 100644 --- a/generated/flags.h +++ b/generated/flags.h @@ -1917,7 +1917,7 @@ #undef FLAG_all #endif -// nsenter <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); +// nsenter <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); #undef OPTSTR_nsenter #define OPTSTR_nsenter "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);" #ifdef CLEANUP_nsenter @@ -3054,7 +3054,7 @@ #undef FOR_unlink #endif -// unshare <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); +// unshare <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); #undef OPTSTR_unshare #define OPTSTR_unshare "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);" #ifdef CLEANUP_unshare @@ -4907,22 +4907,22 @@ #ifndef TT #define TT this.nsenter #endif -#define FLAG_user (FORCED_FLAG<<0) -#define FLAG_U (FORCED_FLAG<<0) -#define FLAG_uts (FORCED_FLAG<<1) -#define FLAG_u (FORCED_FLAG<<1) -#define FLAG_pid (FORCED_FLAG<<2) -#define FLAG_p (FORCED_FLAG<<2) -#define FLAG_net (FORCED_FLAG<<3) -#define FLAG_n (FORCED_FLAG<<3) -#define FLAG_mount (FORCED_FLAG<<4) -#define FLAG_m (FORCED_FLAG<<4) -#define FLAG_ipc (FORCED_FLAG<<5) -#define FLAG_i (FORCED_FLAG<<5) -#define FLAG_target (FORCED_FLAG<<6) -#define FLAG_t (FORCED_FLAG<<6) -#define FLAG_no_fork (FORCED_FLAG<<7) -#define FLAG_F (FORCED_FLAG<<7) +#define FLAG_user (1<<0) +#define FLAG_U (1<<0) +#define FLAG_uts (1<<1) +#define FLAG_u (1<<1) +#define FLAG_pid (1<<2) +#define FLAG_p (1<<2) +#define FLAG_net (1<<3) +#define FLAG_n (1<<3) +#define FLAG_mount (1<<4) +#define FLAG_m (1<<4) +#define FLAG_ipc (1<<5) +#define FLAG_i (1<<5) +#define FLAG_target (1<<6) +#define FLAG_t (1<<6) +#define FLAG_no_fork (1<<7) +#define FLAG_F (1<<7) #endif #ifdef FOR_od @@ -5866,22 +5866,22 @@ #ifndef TT #define TT this.unshare #endif -#define FLAG_user (FORCED_FLAG<<0) -#define FLAG_U (FORCED_FLAG<<0) -#define FLAG_uts (FORCED_FLAG<<1) -#define FLAG_u (FORCED_FLAG<<1) -#define FLAG_pid (FORCED_FLAG<<2) -#define FLAG_p (FORCED_FLAG<<2) -#define FLAG_net (FORCED_FLAG<<3) -#define FLAG_n (FORCED_FLAG<<3) -#define FLAG_mount (FORCED_FLAG<<4) -#define FLAG_m (FORCED_FLAG<<4) -#define FLAG_ipc (FORCED_FLAG<<5) -#define FLAG_i (FORCED_FLAG<<5) -#define FLAG_map_root_user (FORCED_FLAG<<6) -#define FLAG_r (FORCED_FLAG<<6) -#define FLAG_fork (FORCED_FLAG<<7) -#define FLAG_f (FORCED_FLAG<<7) +#define FLAG_user (1<<0) +#define FLAG_U (1<<0) +#define FLAG_uts (1<<1) +#define FLAG_u (1<<1) +#define FLAG_pid (1<<2) +#define FLAG_p (1<<2) +#define FLAG_net (1<<3) +#define FLAG_n (1<<3) +#define FLAG_mount (1<<4) +#define FLAG_m (1<<4) +#define FLAG_ipc (1<<5) +#define FLAG_i (1<<5) +#define FLAG_map_root_user (1<<6) +#define FLAG_r (1<<6) +#define FLAG_fork (1<<7) +#define FLAG_f (1<<7) #endif #ifdef FOR_uptime -- cgit v1.2.3