All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: Or Gerlitz <gerlitz.or@gmail.com>
Cc: Edward Cree <ecree@solarflare.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Jakub Kicinski <kuba@kernel.org>, Stable <stable@vger.kernel.org>,
	Linux Netdev List <netdev@vger.kernel.org>,
	Saeed Mahameed <saeedm@mellanox.com>,
	David Miller <davem@davemloft.net>
Subject: Re: [PATCH AUTOSEL 4.9 09/26] net/mlx5e: Init ethtool steering for representors
Date: Thu, 16 Apr 2020 10:36:36 -0400	[thread overview]
Message-ID: <20200416143636.GM1068@sasha-vm> (raw)
In-Reply-To: <CAJ3xEMjobvx=S4JC4n+TLwN9xnJcwNa-B4O_Evi6PUq30VJchQ@mail.gmail.com>

On Thu, Apr 16, 2020 at 05:17:09PM +0300, Or Gerlitz wrote:
>On Thu, Apr 16, 2020 at 5:04 PM Sasha Levin <sashal@kernel.org> wrote:
>> On Thu, Apr 16, 2020 at 04:40:31PM +0300, Or Gerlitz wrote:
>> >On Thu, Apr 16, 2020 at 3:00 AM Sasha Levin <sashal@kernel.org> wrote:
>> >> I'd maybe point out that the selection process is based on a neural
>> >> network which knows about the existence of a Fixes tag in a commit.
>> >>
>> >> It does exactly what you're describing, but also taking a bunch more
>> >> factors into it's desicion process ("panic"? "oops"? "overflow"? etc).
>> >
>> >As Saeed commented, every extra line in stable / production kernel
>> >is wrong. IMHO it doesn't make any sense to take into stable automatically
>> >any patch that doesn't have fixes line. Do you have 1/2/3/4/5 concrete
>> >examples from your (referring to your Microsoft employee hat comment
>> >below) or other's people production environment where patches proved to
>> >be necessary but they lacked the fixes tag - would love to see them.
>>
>> Sure, here are 5 from the past few months:
>>
>> e5e884b42639 ("libertas: Fix two buffer overflows at parsing bss descriptor")
>> 3d94a4a8373b ("mwifiex: fix possible heap overflow in mwifiex_process_country_ie()")
>> 39d170b3cb62 ("ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe()")
>> 8b51dc729147 ("rsi: fix a double free bug in rsi_91x_deinit()")
>> 5146f95df782 ("USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data")
>>
>> 5 Different drivers, neither has a stable tag or a Fixes: tag, all 5
>> have a CVE number assigned to them.
>
>CVE number sounds good enough to me to AI around and pull to
>stable,  BUT only to where relevant, and nothing beyond (see below).

But this is true with so many other things... This example was easy
because I could grep for CVE, but what about commits that don't get
assigned a CVE number but are just as severe?

Here are few without a CVE ID:

f700546682a6 ("rsi: fix nommu_map_sg overflow kernel panic")
3c68b8fffb48 ("dpaa_eth: FMan erratum A050385 workaround")
536dc5df2808 ("hv_netvsc: Fix memory leak when removing rndis device")

Could we agree here that important commits from drivers/net/ don't have
a fixes tag but still should end up in stable?

>> >We've been coaching new comers for years during internal and on-list
>> >code reviews to put proper fixes tag. This serves (A) for the upstream
>> >human review of the patch and (B) reasonable human stable considerations.
>>
>> Thanks for doing it - we do see more and more fixes tags.
>>
>> >You are practically saying that for cases we screwed up stage (A) you
>> >can somehow still get away with good results on stage (B) - I don't
>> >accept it. BTW - during my reviews I tend to ask/require developers to
>> >skip the word panic, and instead better explain the nature of the
>> >problem / result.
>>
>> Humans are still humans, and humans make mistakes. Fixes tags get
>> forgotten
>
>In the netdev land, the very much usual habit is for -rc patches to have
>Fixes tag, so maybe some RCA comment here would be to
>enforce that better across the kermel land?

I'd be very happy to see better tagging (not just fixes, but also
reported-by/tested-by/etc).

>> stable tags get forgotten.
>
>An easy AI would be to deduce the -stable tag from the -fixes tag, just
>find out where the offending patch was accepted and never/ever (please!)
>push a fix beyond that kernel.

This is tricky because not all commits with a fixes tag need to go to
stable, right?

We have a bunch of commits that "fix" a documentation typo for example.

>> I very much belive you that the mellanox stuff are in good shape thanks
>> to your efforts, but the kernel world is bigger than a few select drivers.
>
>>>>>> This is great, but the kernel is more than just net/. Note that I also
>>>>>> do not look at net/ itself, but rather drivers/net/ as those end up with
>>>>>> a bunch of missed fixes.
>
>>>>>drivers/net/ goes through the same DaveM net/net-next trees, with the
>>>>> same rules.
>
>>>you ignored this comment, any more specific complaints?
>
>> See above (the example commits). The drivers/net/ stuff don't work as
>> well as net/ sadly.
>
>Disagree.
>
>If there is a problem it is due to some driver/net/ driver maintainers
>not doing their job good enough.

Maybe it's just me missing something here, but I thought that
drivers/net/ aren't supposed to add a stable tag, they're just supposed
to write good commit message, add a fixes tag if necessary, and the
netdev maintainers will do the rest?

"""
Q: How can I tell what patches are queued up for backporting to the various stable releases?
A: Normally Greg Kroah-Hartman collects stable commits himself, but for networking, Dave collects up patches he deems critical for the networking subsystem, and then hands them off to Greg.
"""

There are 2 things I understood from this:

1. "networking subsystem" == net/
2. Dave does patch selection.

>> >> Let me put my Microsoft employee hat on here. We have driver/net/hyperv/
>> >> which definitely wasn't getting all the fixes it should have been
>> >> getting without AUTOSEL.
>> >
>> >> While net/ is doing great, drivers/net/ is not. If it's indeed following
>> >> the same rules then we need to talk about how we get done right.
>> >
>> >I never [1] saw -stable push requests being ignored here in netdev.
>> >Your drivers have four listed maintainers and it's common habit by
>> >commercial companies to have paid && human (non autosel robots)
>> >maintainers that take care of their open source drivers. As in commercial
>> >SW products, Linux has a current, next and past (stable) releases, so
>> >something sounds as missing to me in your care matrix.
>>
>> How come? DaveM is specifically asking not to add stable tags because he
>> will do the selection himself, right? So the hyperv stuff indeed don't
>> include a stable tag, but all fixes should have a proper Fixes: tag.
>
>Ask/tell your maintainer to note that in their cover letters, it will be taken.

Or allow them to tag stuff for stable? :)

>> So why don't they end up in a stable tree?
>
>> If we need to send a mail saying which commits should go to stable, we
>> might as well tag them for stable to begin with, right?
>
>so how about you go and argue with the netdev maintainer and
>settle your complaints instead of WA your disagreements using autosel?

So we had this discussion a while back and what I thought the outcome
was that I'll ignore net/ and so I did.

I've mentioned it before - I'm not stuck on doing what I'm doing now for
no reason. If the netdev maintainers want this done in a different way,
or if you can show me data that what I'm doing is wrong, I'll be happy
to change my workflow.

-- 
Thanks,
Sasha

  reply	other threads:[~2020-04-16 14:36 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-11 23:13 [PATCH AUTOSEL 4.9 01/26] net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 02/26] net: phy: probe PHY drivers synchronously Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 03/26] serial: 8250_omap: Fix sleeping function called from invalid context during probe Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 04/26] net: phy: mscc: accept all RGMII species in vsc85xx_mac_if_set Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 05/26] RDMA/cm: Add missing locking around id.state in cm_dup_req_handler Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 06/26] mwifiex: set needed_headroom, not hard_header_len Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 07/26] Bluetooth: L2CAP: handle l2cap config request during open state Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 08/26] drm/tegra: dc: Release PM and RGB output when client's registration fails Sasha Levin
2020-04-11 23:13   ` Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 09/26] net/mlx5e: Init ethtool steering for representors Sasha Levin
2020-04-12  7:10   ` Or Gerlitz
2020-04-12 17:59     ` Jakub Kicinski
2020-04-12 18:29       ` Or Gerlitz
2020-04-14  1:56       ` Sasha Levin
2020-04-14  7:16         ` Leon Romanovsky
2020-04-14 10:22         ` Or Gerlitz
2020-04-14 11:09           ` Greg KH
2020-04-14 14:38             ` Or Gerlitz
2020-04-14 15:16               ` Sasha Levin
2020-04-14 15:49               ` Edward Cree
2020-04-14 17:37                 ` Leon Romanovsky
2020-04-14 19:03                   ` Jakub Kicinski
2020-04-14 21:00                   ` Sasha Levin
2020-04-14 22:50                   ` Michal Kubecek
2020-04-15  5:31                     ` Leon Romanovsky
2020-04-15 14:07                     ` Sasha Levin
2020-04-14 20:57                 ` Sasha Levin
2020-04-15 16:18                   ` Edward Cree
2020-04-16  0:00                     ` Sasha Levin
2020-04-16  4:08                       ` Saeed Mahameed
2020-04-16  5:24                         ` Leon Romanovsky
2020-04-16 13:30                           ` Sasha Levin
2020-04-16 19:07                             ` Saeed Mahameed
2020-04-16 19:58                               ` Sasha Levin
2020-04-16 21:08                                 ` Saeed Mahameed
2020-04-17  8:28                                   ` gregkh
2020-04-17 22:23                                     ` Saeed Mahameed
2020-04-18 10:51                                       ` gregkh
2020-04-17 13:21                                   ` Sasha Levin
2020-04-17 22:38                                     ` Saeed Mahameed
2020-04-16 13:40                       ` Or Gerlitz
2020-04-16 14:04                         ` Sasha Levin
2020-04-16 14:17                           ` Or Gerlitz
2020-04-16 14:36                             ` Sasha Levin [this message]
2020-04-16 17:20                         ` Greg KH
2020-04-16 19:31                           ` Saeed Mahameed
2020-04-16 19:53                             ` Sasha Levin
2020-04-16 21:32                               ` Saeed Mahameed
2020-04-16 23:23                                 ` Sasha Levin
2020-04-21  3:07                                   ` Saeed Mahameed
2020-04-16 20:08                             ` Jakub Kicinski
2020-04-16 21:11                               ` Saeed Mahameed
2020-04-17  8:25                                 ` gregkh
2020-04-16 16:06                       ` Edward Cree
2020-04-16 18:49                         ` Sasha Levin
2020-04-20 11:45                           ` Edward Cree
2020-04-20 12:53                             ` Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 10/26] Bluetooth: Fix calculation of SCO handle for packet processing Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 11/26] Bluetooth: guard against controllers sending zero'd events Sasha Levin
2020-04-11 23:13 ` [PATCH AUTOSEL 4.9 12/26] RDMA/rxe: Fix configuration of atomic queue pair attributes Sasha Levin
2020-04-11 23:14 ` [Intel-wired-lan] [PATCH AUTOSEL 4.9 13/26] net: intel: e1000e: fix possible sleep-in-atomic-context bugs in e1000e_get_hw_semaphore() Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 14/26] crypto: tcrypt - fix printed skcipher [a]sync mode Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 15/26] drm/omap: fix possible object reference leak Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 16/26] audit: CONFIG_CHANGE don't log internal bookkeeping as an event Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 17/26] Bluetooth: btusb: Add support for 13d3:3548 Realtek 8822CE device Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 18/26] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 19/26] Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 20/26] brcmfmac: Fix driver crash on USB control transfer timeout Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 21/26] RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 22/26] ASoC: Intel: Skylake: Enable codec wakeup during chip init Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 23/26] dmaengine: stm32-dma: use reset controller only at probe time Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 24/26] scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14   ` Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 25/26] ext4: check for non-zero journal inum in ext4_calculate_overhead Sasha Levin
2020-04-11 23:14 ` [PATCH AUTOSEL 4.9 26/26] svcrdma: Fix leak of transport addresses Sasha Levin

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=20200416143636.GM1068@sasha-vm \
    --to=sashal@kernel.org \
    --cc=davem@davemloft.net \
    --cc=ecree@solarflare.com \
    --cc=gerlitz.or@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@mellanox.com \
    --cc=stable@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.