From: "Günther Noack" <gnoack3000@gmail.com>
To: Alejandro Colomar <alx@kernel.org>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Jared Finder" <jared@finder.org>, "Jann Horn" <jannh@google.com>,
"Hanno Böck" <hanno@hboeck.de>,
"Jiri Slaby" <jirislaby@kernel.org>,
"Kees Cook" <kees@kernel.org>,
linux-man@vger.kernel.org
Subject: Re: [PATCH] man/man2const/TIOCLINUX.2const: Document CAP_SYS_ADMIN requirement for TIOCL_SETSEL modes
Date: Fri, 2 May 2025 12:16:46 +0200 [thread overview]
Message-ID: <20250502.650a645dd94d@gnoack.org> (raw)
In-Reply-To: <v3665whb45ai5elelq456u7g5ihpikfhziinrbdyjvyg2kpg4w@ptcxy4u75n2o>
Hello Alejandro!
On Thu, May 01, 2025 at 10:19:01PM +0200, Alejandro Colomar wrote:
> On Thu, May 01, 2025 at 09:33:52PM +0200, Günther Noack wrote:
> > > > @@ -118,11 +130,11 @@ If mouse reporting is not enabled for the terminal,
> > > > this operation yields an
> > > > .B EINVAL
> > > > error.
> > > > -.RE
> > > > .IP
> > > > -Since Linux 6.7, using this subcode requires the
> > > > +Since Linux 6.12.26, using this selection mode requires the
> > > > .B CAP_SYS_ADMIN
> > > > capability.
> > >
> > > I'm not sure I understand this part. Was it required since 6.7 and now
> > > it's only since 6.12.26? How can that be?
> >
> > Legitimate question. For the TIOCL_SELMOUSEREPORT selection mode, the
> > requirement was briefly lifted (but in a confusing way due to an
> > implementation mistake).
> >
> > The way that the diff came out is slightly misleading. Note that the
> > .RE "moved", which really means that this text is now talking about
> > the TIOCL_SELMOUSEREPORT selection mode instead of the TIOCL_SETSEL
> > subcode - so we are now documenting the more fine-grained selection
> > modes instead of the more coarse grained TIOCL_SETSEL subcode.
> >
> > For the selection modes, we had three cases:
> >
> > 1. The selection modes which continue to require CAP_SYS_ADMIN.
> > For these this is true before and after these kernel patches,
> > so this is "required since Linux 6.7", as before.
> >
> > 2. The selection modes which do not require CAP_SYS_ADMIN any more.
> > For these, I dropped the remark.
> >
> > 3. The TIOCL_SELMOUSEREPORT selection mode. For this one, we had an
> > unfortunate back-and-forth for when CAP_SYS_ADMIN is required:
> >
> > - It used to not be required.
> > - It was required in 6.7+
> > - After 2f83e38a095f, which aimed to loosen the requirement, it
> > was *sometimes required* (unintentional and really too confusing
> > to describe in a man page, IMHO)
> > - After ee6a44da3c87 (coming up in Linux 6.12.26), it requires
> > CAP_SYS_ADMIN again.
>
> Hmmmm.
>
> > So for TIOCL_SELMOUSEREPORT, I am now saying it is required since
> > 6.12.26 (an upcoming stable kernel).
>
> Makes sense. However, 6.12.26 is a branch, and we would need to clarify
> what's the state in 6.{13,14,15}, don't we?
Both patches are applied to all up-to-date versions of stable kernels.
6.7 to 6.11 (EOL) have none of the two patches:
CAP_SYS_ADMIN is enforced broadly
6.12.26 (longterm) has both
6.13.12 (EOL) has only the first patch
6.14.5 (stable) has both
6.15 (not released yet) will have both
> > But we can as well change it to
> > say "since 6.7" if that sounds better to you. Maybe that would be
> > simpler and err on the safe side for users of the API. (To be fair,
> > these interfaces are anyway only used by gpm and consolation. I am
> > mostly documenting it for completeness.)
> >
> > Do you have a preference how to word this? Should we say "since Linux
> > 6.7" instead?
>
> I don't have a preference. Maybe since Linux 6.7 is easier than saying
> since Linux 6.12.26, 6.13.x, 6.14.y, and 6.15.z.
Yes, I think so too. I'll send a V2 that says "since Linux 6.7". The
fact that we permitted some of these invocations without CAP_SYS_ADMIN
was a bug in hindsight and only a temporary state.
Thanks,
–Günther
prev parent reply other threads:[~2025-05-02 10:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-01 11:00 [PATCH] man/man2const/TIOCLINUX.2const: Document CAP_SYS_ADMIN requirement for TIOCL_SETSEL modes Günther Noack
2025-05-01 15:05 ` Alejandro Colomar
2025-05-01 19:33 ` Günther Noack
2025-05-01 20:19 ` Alejandro Colomar
2025-05-02 10:16 ` Günther Noack [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250502.650a645dd94d@gnoack.org \
--to=gnoack3000@gmail.com \
--cc=alx@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hanno@hboeck.de \
--cc=jannh@google.com \
--cc=jared@finder.org \
--cc=jirislaby@kernel.org \
--cc=kees@kernel.org \
--cc=linux-man@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox