Re: [RFC PATCH 2/3] Add support to catch groups of syscalls.

Doug Evans
2014-10-27T19:20:47Z

On Mon, Oct 20, 2014 at 12:39 PM, Sergio Durigan Junior
<sergiodj@redhat.com> wrote:
> On Monday, October 20 2014, Gabriel Krisman Bertazi wrote:
>
>>> I'm not really comfortable with that (far more so than "catch syscall
>>> open network-group").
>>> If you want to require -g at the front, and thus disallow catching
>>> both syscalls and syscall groups in the same command then that would
>>> be fine with me.
>>
>> I really think we shouldn't disallow catching syscalls and syscalls
>> group on the same command, no matter which syntax we pick. GDB wiki
>> says that GDB should be more permissive about command's syntax, in a
>> sense that user shouldn't spend more time than needed to find out how a
>> command works. I think disallowing catching syscalls and groups on the
>> same command would reduce expressiveness in this case.
>
> I agree.
>
>>> Still need a solution for listing them. Arguably since we don't
>>> provide a way to list syscalls (sigh, modulo the hack I showed, which
>>> should be fixed so that it no longer works anyways :-)), providing a
>>> way to list syscall groups is for a separate patch. Kudos if you
>>> still want to provide a way to list syscalls and groups though.
>>
>> So, definitively allowing "catch syscall -g" to list syscalls is not a
>> good idea. Sergio suggested off-list to use another option, maybe -lg
>> to list syscall groups. Then, a future patch could also extend catch
>> syscall to list all syscalls using a -l option or something like that.
>> Sergio, sorry if I got your suggestion wrong.
>
> It is alright, I completely forgot I made that suggestion! Thanks for
> bringing it to the table.
>
> Anyway, yeah, I guess '-lg' (or -list-groups) should be OK.
>
>> OTOH, I might be over-thinking this simple stuff :). I'm ok with the
>> namespace (suffix) syntax, but I think we should go with "g:" (or even
>> "group:network", if it's not too verbose) instead of "-group", to avoid
>> the issue pointed out by Sergio with the exit_group syscall.
>
> Yeah, maybe this is a bit over-thinking, but OTOH we are talking about
> user interface, which cannot be changed easily after we make a release.
>
> BTW, I like the idea of using the "g:" prefix, so I say "go for it" if
> you think it is OK.
>
> Sorry for not being able to comment more on the thread now, I am busy
> with other things. However, I think you covered all the issues with
> your message, so you should be good to go as long as Doug has no other
> comments.

I can live with "g:foo g:bar" more than "-g foo [-g?] bar", though I'm
willing to defer to a majority if it arises (depending on what the
majority decides on :-)).

I can also live with "catch syscall -l/-lg" though there are other
things where we want to provide the ability to list things (e.g.,
catch signal) and I would want consistency throughout. Another
thought is "catch list foo".

"g:" is pretty non-descript. "group:" is clearer.
OTOH, we do try to minimize typing where we can.
I'm hesitant to get too elaborate here and suggest supporting both.
OTOH, we can start with "g:" and add a "group:" alias later.

Anyone else have a preference?