Re: exit: reparent: cleanup the changing of ->parent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/14, Dan Carpenter wrote:
>
> The patch eb6d8479b73d: "exit: reparent: cleanup the changing of
> ->parent" from Nov 13, 2014, leads to the following static checker
> warning:
>
> 	kernel/exit.c:543 forget_original_parent()
> 	warn: add some parenthesis here?
>
> kernel/exit.c
>    538          /* Can drop and reacquire tasklist_lock */
>    539          reaper = find_new_reaper(father);
>    540          list_for_each_entry(p, &father->children, sibling) {
>    541                  for_each_thread(p, t) {
>    542                          t->real_parent = reaper;
>    543                          BUG_ON(!t->ptrace != (t->parent == father));
>                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> The reason for this warning is that many people forget that ! is higher
> precedence than ==.

Do you really think we should try to shut up this warning?

IMO this warning is wrong, "!A == B" or "!A != B" looks fine to me...


> This is a complicated condition however you write
> it, but it might be more clear to say:
>
> 				BUG_ON((!!t->ptrace) == (t->parent == father));

This is subjective, but to me it looks more confusing.

If we really want to "fix" it, I'd suggest

				BUG_ON((!t->ptrace) != (t->parent == father));

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux