This reverts commit 2fb7cf0b. The problem wasn't caused by the reverted commit and was fixed in commit 0c9b1f82 ("macro: calculate buffer lengths correctly") The full explanation can be taken from the following irc excerpt from the #lxc-dev channel: │19:54:47 brauner | there was a bug in one of the standard macros we used │19:55:01 brauner | and the changes by INTTYPE_TO_STRLEN() caused the issue to surface │19:55:03 brauner | which is good │19:55:16 brauner | i sent a branch and stgraber merged it that fixes it │19:57:56 Blub\0 | so... │19:58:31 Blub\0 | still doesn't explain how it was the sizeof() patch │20:07:14 brauner | Blub\0: so here's the long explanation │20:07:35 brauner | Blub\0: stgraber bumped pid_max on our jenkins test builders │20:07:53 brauner | Blub\0: because we're running *a lot* of containers │20:07:56 brauner | in any case │20:08:06 brauner | there was a buffer │20:08:12 brauner | LXC_LSMATTRLEN │20:08:59 brauner | it used to be │20:09:03 brauner | -/* /proc/pid-to-str/attr/current = (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) */ │20:09:03 brauner | -#define LXC_LSMATTRLEN (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) │20:09:14 brauner | which one can see is wrong │20:09:21 brauner | before the INTTYPE patchset │20:09:40 brauner | INTTYPE_TO_STRLEN(pid_t) was LXC_NUMSTRLEN64 │20:09:45 brauner | which gave you 21 chars │20:09:57 brauner | so it accounted for the missing parts │20:10:03 brauner | because the correct macro should've been │20:10:17 brauner | +/* /proc/ = 6 │20:10:17 brauner | + * + │20:10:17 brauner | + * <pid-as-str> = INTTYPE_TO_STRLEN(pid_t) │20:10:17 brauner | + * + │20:10:17 brauner | + * /attr/ = 6 │20:10:17 brauner | + * + │20:10:17 brauner | + * /current = 8 │20:10:17 brauner | + * + │20:10:17 brauner | + * \0 = 1 │20:10:17 brauner | + */ │20:10:17 brauner | +#define LXC_LSMATTRLEN (6 + INTTYPE_TO_STRLEN(pid_t) + 6 + 8 + 1) │20:10:24 Blub\0 | still │20:10:31 brauner | the issue was only seen │20:10:39 brauner | when the pid number hit a specific maximum │20:10:50 Blub\0 | the sizeof patch only changed instances of actual char buf[A_FIXED_NUMBER] + snprintf(buf, A_FIXED_NUMBER, ...) │20:10:54 brauner | aka exceeded the newly shortened buffer │20:11:42 brauner | your patch was a red herring │20:12:03 Blub\0 | I guess │20:12:06 brauner | it didn't cause it │20:12:14 brauner | it just surfaced at the same time it was merged │20:12:25 Blub\0 | so we can revert the revert then? :) │20:12:35 brauner | yes, that was th eplan all along Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| cgroups | Loading commit data... | |
| cmd | Loading commit data... | |
| lsm | Loading commit data... | |
| pam | Loading commit data... | |
| storage | Loading commit data... | |
| tools | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| af_unix.c | Loading commit data... | |
| af_unix.h | Loading commit data... | |
| attach.c | Loading commit data... | |
| attach.h | Loading commit data... | |
| attach_options.h | Loading commit data... | |
| caps.c | Loading commit data... | |
| caps.h | Loading commit data... | |
| commands.c | Loading commit data... | |
| commands.h | Loading commit data... | |
| commands_utils.c | Loading commit data... | |
| commands_utils.h | Loading commit data... | |
| compiler.h | Loading commit data... | |
| conf.c | Loading commit data... | |
| conf.h | Loading commit data... | |
| confile.c | Loading commit data... | |
| confile.h | Loading commit data... | |
| confile_utils.c | Loading commit data... | |
| confile_utils.h | Loading commit data... | |
| criu.c | Loading commit data... | |
| criu.h | Loading commit data... | |
| error.c | Loading commit data... | |
| error.h | Loading commit data... | |
| execute.c | Loading commit data... | |
| file_utils.c | Loading commit data... | |
| file_utils.h | Loading commit data... | |
| freezer.c | Loading commit data... | |
| initutils.c | Loading commit data... | |
| initutils.h | Loading commit data... | |
| list.h | Loading commit data... | |
| log.c | Loading commit data... | |
| log.h | Loading commit data... | |
| lxc.functions.in | Loading commit data... | |
| lxc.h | Loading commit data... | |
| lxccontainer.c | Loading commit data... | |
| lxccontainer.h | Loading commit data... | |
| lxclock.c | Loading commit data... | |
| lxclock.h | Loading commit data... | |
| lxcseccomp.h | Loading commit data... | |
| macro.h | Loading commit data... | |
| mainloop.c | Loading commit data... | |
| mainloop.h | Loading commit data... | |
| monitor.c | Loading commit data... | |
| monitor.h | Loading commit data... | |
| namespace.c | Loading commit data... | |
| namespace.h | Loading commit data... | |
| network.c | Loading commit data... | |
| network.h | Loading commit data... | |
| nl.c | Loading commit data... | |
| nl.h | Loading commit data... | |
| parse.c | Loading commit data... | |
| parse.h | Loading commit data... | |
| ringbuf.c | Loading commit data... | |
| ringbuf.h | Loading commit data... | |
| rtnl.c | Loading commit data... | |
| rtnl.h | Loading commit data... | |
| seccomp.c | Loading commit data... | |
| start.c | Loading commit data... | |
| start.h | Loading commit data... | |
| state.c | Loading commit data... | |
| state.h | Loading commit data... | |
| string_utils.c | Loading commit data... | |
| string_utils.h | Loading commit data... | |
| sync.c | Loading commit data... | |
| sync.h | Loading commit data... | |
| terminal.c | Loading commit data... | |
| terminal.h | Loading commit data... | |
| utils.c | Loading commit data... | |
| utils.h | Loading commit data... | |
| version.h.in | Loading commit data... |