Skip to contentSkip to conversation

New: msgctl(2) manpage : put back a condition of EPERM error code forgotten

Bug 71061 bugzilla-daemon-590EEB7GvNiWaY/[email protected] 1 participant 3 messages Feb 24, 2014 1 message not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=71061

Bug ID: 71061
Summary: msgctl(2) manpage : put back a condition of EPERM
error code forgotten
Product: Documentation
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: man-pages
Assignee: documentation_man-pages-ztI5WcYan/[email protected]
Reporter: fboiteux-N+jn5RlININWk0Htik3J/[email protected]
Regression: No

Hello,

I've noticed in the msgctl(2) manpage that a condition to get an EPERM error
code was dropped in the past : it's about trying to modify the size of a message queue (msg_qbytes) larger than the max size set in kernel (look at /proc/sys/kernel/msgmnb).

In a (very old) manpage of a Debian Woody 3.0 (!), we could read :

EPERM The argument cmd has value IPC_SET or IPC_RMID but the
calling process effective user-ID has insufficient privileges to
execute the command. Note this is also the case of a non
super-user process trying to increase the msg_qbytes value
beyond the value specified by the system parameter MSGMNB.

thereas on later pages (on my Debian Wheezy 7.4, but also in current version of kernel manpages), we only have :

EPERM The argument cmd has the value IPC_SET or IPC_RMID, but the
effective user ID of the calling process is not the creator (as found in
msg_perm.cuid) or the owner (as found in msg_perm.uid) of the
message queue, and the process is not privileged (Linux: it does not have
the CAP_SYS_ADMIN capability).

Could you put back in the man page a sentence like : 'Note this is also the case of a non super-user process trying to increase the msg_qbytes value
beyond the value specified by the system parameter MSGMNB.'

Thanks,
Frédéric.

Signature · 5 lines
You are receiving this mail because:
You are watching the assignee of the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): bug-71061-11311-3bo0kxnWaOQUvHkbgXJLS5sdmw4N0Rt+2LY78lusg7I@public.gmane.org/

#2 lore raw

[Bug 71061] msgctl(2) manpage : put back a condition of EPERM error code forgotten

https://bugzilla.kernel.org/show_bug.cgi?id=71061

Frédéric Boiteux <fboiteux-N+jn5RlININWk0Htik3J/[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

                 CC|                            |fboiteux-N+jn5RlININWk0Htik3J/[email protected]
         Regression|No                          |Yes
Signature · 5 lines
You are receiving this mail because:
You are watching the assignee of the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw

[Bug 71061] msgctl(2) manpage : put back a condition of EPERM error code forgotten

In reply to a message not in the archive

https://bugzilla.kernel.org/show_bug.cgi?id=71061

Michael Kerrisk <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |CODE_FIX

--- Comment #1 from Michael Kerrisk <[email protected]> --- (In reply to Frédéric Boiteux from comment #0)

Quoted 26 lines

Hello,

I've noticed in the msgctl(2) manpage that a condition to get an EPERM
error code was dropped in the past : it's about trying to modify the size of a message queue (msg_qbytes) larger than the max size set in kernel (look at /proc/sys/kernel/msgmnb).

In a (very old) manpage of a Debian Woody 3.0 (!), we could read :

EPERM The argument cmd has value IPC_SET or IPC_RMID but the
calling process effective user-ID has insufficient privileges to
execute the command. Note this is also the case of a
non super-user process trying to increase the msg_qbytes value
beyond the value specified by the system parameter MSGMNB.

thereas on later pages (on my Debian Wheezy 7.4, but also in current version of kernel manpages), we only have :

EPERM The argument cmd has the value IPC_SET or IPC_RMID, but the
effective user ID of the calling process is not the creator (as found in
msg_perm.cuid) or the owner (as found in msg_perm.uid) of the
message queue, and the process is not privileged (Linux: it does not have
the CAP_SYS_ADMIN capability).

Quoted 4 lines

Could you put back in the man page a sentence like : 'Note this is also the case of a non super-user process trying to increase the msg_qbytes value
beyond the value specified by the system parameter MSGMNB.'

Yes, it is puzzling that that text was dropped. It was done back in 1.51, before the days of version control or mailing lists for man-pages, so I can't divine the reason. Nevertheless, elsewhere in the page, it notes that a capability is required to raise this value above MSGMNB. (And there was a typo in that text, where it mentioned CAP_IPC_RESOURCE; should be CAP_SYS_RESOURCE; fixed now). So, obviously, a fix is required. I applied the patch below. Thanks for your report.

man2/msgctl.2 +11 -0
index e092fcb..ea39e10 100644
@@ -311,6 +311,17 @@ of the message queue,
 and the process is not privileged (Linux: it does not have the
 .B CAP_SYS_ADMIN
 capability).
+.TP
+.B EPERM
+An attempt
+.RB ( IPC_SET )
+was made to increase
+.I msg_qbytes
+beyond the system parameter
+.BR MSGMNB ,
+but the caller is not privileged (Linux: does not have the
+.B CAP_SYS_RESOURCE
+capability).
 .SH CONFORMING TO
 SVr4, POSIX.1-2001.
 .\" SVID does not document the EIDRM error condition.
Signature · 5 lines
You are receiving this mail because:
You are watching the assignee of the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html