lxc_log_define(lxc_attach, lxc);
/* /proc/pid-to-str/current\0 = (5 + 21 + 7 + 1) */
-#define __LSMATTRLEN (5 + 21 + 7 + 1)
+#define __LSMATTRLEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
static int lsm_openat(int procfd, pid_t pid, int on_exec)
{
int ret = -1;
}
/* /proc/pid-to-str/status\0 = (5 + 21 + 7 + 1) */
-#define __PROC_STATUS_LEN (5 + 21 + 7 + 1)
+#define __PROC_STATUS_LEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
static struct lxc_proc_context_info *lxc_proc_get_context_info(pid_t pid)
{
FILE *proc_file;
#include "utils.h"
#ifndef BLKGETSIZE64
-#define BLKGETSIZE64 _IOR(0x12,114,size_t)
+#define BLKGETSIZE64 _IOR(0x12, 114, size_t)
#endif
lxc_log_define(bdev, lxc);
#endif
#ifndef MS_SLAVE
-#define MS_SLAVE (1<<19)
+#define MS_SLAVE (1 << 19)
#endif
#ifndef MS_RELATIME
return bitarr;
}
-/* The largest integer that can fit into long int is 2^64. This is a
- * 20-digit number.
- */
-#define __IN_TO_STR_LEN 21
/* Turn cpumask into simple, comma-separated cpulist. */
static char *lxc_cpumask_to_cpulist(uint32_t *bitarr, size_t nbits)
{
size_t i;
int ret;
- char numstr[__IN_TO_STR_LEN] = {0};
+ char numstr[LXC_NUMSTRLEN64] = {0};
char **cpulist = NULL;
for (i = 0; i <= nbits; i++) {
if (is_set(i, bitarr)) {
- ret = snprintf(numstr, __IN_TO_STR_LEN, "%zu", i);
- if (ret < 0 || (size_t)ret >= __IN_TO_STR_LEN) {
+ ret = snprintf(numstr, LXC_NUMSTRLEN64, "%zu", i);
+ if (ret < 0 || (size_t)ret >= LXC_NUMSTRLEN64) {
lxc_free_array((void **)cpulist, free);
return NULL;
}
#include "state.h"
-#define LXC_CMD_DATA_MAX (MAXPATHLEN*2)
+#define LXC_CMD_DATA_MAX (MAXPATHLEN * 2)
/* https://developer.gnome.org/glib/2.28/glib-Type-Conversion-Macros.html */
-#define INT_TO_PTR(n) ((void *) (long) (n))
-#define PTR_TO_INT(p) ((int) (long) (p))
+#define INT_TO_PTR(n) ((void *)(long)(n))
+#define PTR_TO_INT(p) ((int)(long)(p))
typedef enum {
LXC_CMD_CONSOLE,
lxc_log_define(lxc_conf, lxc);
-#define LINELEN 4096
-
#if HAVE_SYS_CAPABILITY_H
#ifndef CAP_SETFCAP
#define CAP_SETFCAP 31
int prepare_ramfs_root(char *root)
{
- char buf[LINELEN], *p;
+ char buf[LXC_LINELEN], *p;
char nroot[PATH_MAX];
FILE *f;
int i;
SYSERROR("Unable to open /proc/self/mountinfo");
return -1;
}
- while (fgets(buf, LINELEN, f)) {
+ while (fgets(buf, LXC_LINELEN, f)) {
for (p = buf, i=0; p && i < 4; i++)
p = strchr(p+1, ' ');
if (!p)
#define LXC_USERNIC_PATH LIBEXECDIR "/lxc/lxc-user-nic"
/* lxc-user-nic returns "interface_name:interface_name\n" */
-#define MAX_BUFFER_SIZE IFNAMSIZ*2 + 2
+#define MAX_BUFFER_SIZE IFNAMSIZ * 2 + 2
static int unpriv_assign_nic(const char *lxcpath, char *lxcname,
struct lxc_netdev *netdev, pid_t pid)
{
request = genlmsg_alloc(GENLMSG_GOOD_SIZE);
if (!request)
return -ENOMEM;
-
+
reply = genlmsg_alloc(GENLMSG_GOOD_SIZE);
if (!reply) {
genlmsg_free(request);
len -= NLMSG_LENGTH(GENL_HDRLEN);
if (len < 0)
goto out_close;
-
+
attr = (struct nlattr *)GENLMSG_DATA(reply);
attr = (struct nlattr *)((char *)attr + NLA_ALIGN(attr->nla_len));
-
+
ret = -ENOMSG;
if (attr->nla_type != CTRL_ATTR_FAMILY_ID)
goto out_close;
* datatype is currently at maximum a 64bit integer, we have a date string that
* is of maximum length (2^64 - 1) * 2 = (21 + 21) = 42.
*/
-#define LXC_LOG_TIME_SIZE ((__LXC_NUMSTRLEN) * 2)
+#define LXC_LOG_TIME_SIZE ((LXC_NUMSTRLEN64)*2)
int lxc_log_fd = -1;
static int syslog_enable = 0;
{
int64_t epoch_to_days, z, era, doe, yoe, year, doy, mp, day, month,
d_in_s, hours, h_in_s, minutes, seconds;
- char nanosec[__LXC_NUMSTRLEN];
+ char nanosec[LXC_NUMSTRLEN64];
int ret;
/* See https://howardhinnant.github.io/date_algorithms.html for an
seconds = (time->tv_sec - d_in_s - h_in_s - (minutes * 60));
/* Make string from nanoseconds. */
- ret = snprintf(nanosec, __LXC_NUMSTRLEN, "%ld", time->tv_nsec);
- if (ret < 0 || ret >= __LXC_NUMSTRLEN)
+ ret = snprintf(nanosec, LXC_NUMSTRLEN64, "%ld", time->tv_nsec);
+ if (ret < 0 || ret >= LXC_NUMSTRLEN64)
return -1;
/* Create final timestamp for the log and shorten nanoseconds to 3
/* Used to spawn a monitord either on startup of a daemon container, or when
* lxc-monitor starts.
*/
-#define __INT_LEN 21
int lxc_monitord_spawn(const char *lxcpath)
{
int ret;
int pipefd[2];
- char pipefd_str[__INT_LEN];
+ char pipefd_str[LXC_NUMSTRLEN64];
pid_t pid1, pid2;
char *const args[] = {
close(pipefd[0]);
- ret = snprintf(pipefd_str, __INT_LEN, "%d", pipefd[1]);
- if (ret < 0 || ret >= __INT_LEN) {
+ ret = snprintf(pipefd_str, LXC_NUMSTRLEN64, "%d", pipefd[1]);
+ if (ret < 0 || ret >= LXC_NUMSTRLEN64) {
ERROR("Failed to create pid argument to pass to monitord.");
exit(EXIT_FAILURE);
}
#define PAGE_SIZE 4096
#endif
#define NLMSG_GOOD_SIZE (2*PAGE_SIZE)
-#define NLMSG_TAIL(nmsg) \
- ((struct rtattr *) (((void *) (nmsg)) + NLMSG_ALIGN((nmsg)->nlmsg_len)))
+#define NLMSG_TAIL(nmsg) ((struct rtattr *) (((void *) (nmsg)) + NLMSG_ALIGN((nmsg)->nlmsg_len)))
#define NLA_DATA(na) ((void *)((char*)(na) + NLA_HDRLEN))
#define NLA_NEXT_ATTR(attr) ((void *)((char *)attr) + NLA_ALIGN(attr->nla_len))
static bool pre_dump = false;
static char *predump_dir = NULL;
-#define OPT_PREDUMP_DIR OPT_USAGE+1
+#define OPT_PREDUMP_DIR OPT_USAGE + 1
static const struct option my_longopts[] = {
{"checkpoint-dir", required_argument, 0, 'D'},
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
-#define _GNU_SOURCE
#include <getopt.h>
#include "log.h"
lxc_log_define(lxc_ls, lxc);
-#define LINELEN 1024
/* Per default we only allow five levels of recursion to protect the stack at
* least a little bit. */
#define MAX_NESTLVL 5
#include "confile.h"
#include "arguments.h"
-#define OPT_SHARE_NET OPT_USAGE+1
-#define OPT_SHARE_IPC OPT_USAGE+2
-#define OPT_SHARE_UTS OPT_USAGE+3
+#define OPT_SHARE_NET OPT_USAGE + 1
+#define OPT_SHARE_IPC OPT_USAGE + 2
+#define OPT_SHARE_UTS OPT_USAGE + 3
lxc_log_define(lxc_start_ui, lxc);
#include "commands.h"
#include "utils.h"
-#define OPT_NO_LOCK OPT_USAGE+1
-#define OPT_NO_KILL OPT_USAGE+2
+#define OPT_NO_LOCK OPT_USAGE + 1
+#define OPT_NO_KILL OPT_USAGE + 2
lxc_log_define(lxc_stop_ui, lxc);
#endif
#ifndef MS_SLAVE
-#define MS_SLAVE (1<<19)
+#define MS_SLAVE (1 << 19)
#endif
int unshare(int flags);
* is MS_SHARED, but not '/', then you're out of luck - figuring that
* out would be too much work to be worth it.
*/
-#define LINELEN 4096
int detect_shared_rootfs(void)
{
- char buf[LINELEN], *p;
+ char buf[LXC_LINELEN], *p;
FILE *f;
int i;
char *p2;
f = fopen("/proc/self/mountinfo", "r");
if (!f)
return 0;
- while (fgets(buf, LINELEN, f)) {
- for (p = buf, i=0; p && i < 4; i++)
- p = strchr(p+1, ' ');
+ while (fgets(buf, LXC_LINELEN, f)) {
+ for (p = buf, i = 0; p && i < 4; i++)
+ p = strchr(p + 1, ' ');
if (!p)
continue;
- p2 = strchr(p+1, ' ');
+ p2 = strchr(p + 1, ' ');
if (!p2)
continue;
*p2 = '\0';
- if (strcmp(p+1, "/") == 0) {
+ if (strcmp(p + 1, "/") == 0) {
// this is '/'. is it shared?
- p = strchr(p2+1, ' ');
+ p = strchr(p2 + 1, ' ');
if (p && strstr(p, "shared:")) {
fclose(f);
return 1;
/* Check whether a signal is blocked by a process. */
/* /proc/pid-to-str/status\0 = (5 + 21 + 7 + 1) */
-#define __PROC_STATUS_LEN (5 + 21 + 7 + 1)
+#define __PROC_STATUS_LEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
bool task_blocking_signal(pid_t pid, int signal)
{
bool bret = false;
/* Useful macros */
/* Maximum number for 64 bit integer is a string with 21 digits: 2^64 - 1 = 21 */
-#define __LXC_NUMSTRLEN 21
+#define LXC_NUMSTRLEN64 21
+#define LXC_LINELEN 4096
/* returns 1 on success, 0 if there were any failures */
extern int lxc_rmdir_onedev(char *path, const char *exclude);
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#define _GNU_SOURCE
#include <limits.h>
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
-#define _GNU_SOURCE
#include <getopt.h>
#include <lxc/lxccontainer.h>
}
/* /proc/int_as_str/ns/mnt\0 = (5 + 21 + 7 + 1) */
-#define __MNTNS_LEN (5 + 21 + 7 + 1)
+#define __MNTNS_LEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
void test_detect_ramfs_rootfs(void)
{
size_t i;