New: msgctl(2) manpage : put back a condition of EPERM error code forgotten
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/
[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
[Bug 71061] msgctl(2) manpage : put back a condition of EPERM error code forgotten
In reply to a message not in the archivehttps://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_SETorIPC_RMIDbut 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 themsg_qbytesvalue
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_SETorIPC_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
theCAP_SYS_ADMINcapability).
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_qbytesvalue
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
@@ -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