lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6825db9f-be27-4096-9723-6ad65342a59e@moroto.mountain>
Date: Wed, 12 Jun 2024 11:49:56 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Thorsten Leemhuis <linux@...mhuis.info>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
	Andy Whitcroft <apw@...onical.com>, Joe Perches <joe@...ches.com>,
	Dwaipayan Ray <dwaipayanray1@...il.com>,
	Lukas Bulwahn <lukas.bulwahn@...il.com>,
	linux-kernel@...r.kernel.org,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Arnd Bergmann <arnd@...db.de>, Kees Cook <keescook@...omium.org>,
	Sasha Levin <sashal@...nel.org>, Tom Gall <tom.gall@...aro.org>,
	kernel-janitors@...r.kernel.org
Subject: Re: [PATCH v5] checkpatch: check for missing Fixes tags

On Wed, Jun 12, 2024 at 08:46:24AM +0200, Thorsten Leemhuis wrote:
> On 11.06.24 20:38, Andrew Morton wrote:
> > On Tue, 11 Jun 2024 16:43:29 +0300 Dan Carpenter <dan.carpenter@...aro.org> wrote:
> > 
> >> This check looks for common words that probably indicate a patch
> >> is a fix.  For now the regex is:
> >>
> >> 	(?:(?:BUG: K.|UB)SAN: |Call Trace:|stable\@|syzkaller)/)
> >>
> >> Why are stable patches encouraged to have a fixes tag?  Some people mark
> >> their stable patches as "# 5.10" etc.  This is useful but a Fixes tag is
> >> still a good idea.
> > 
> > I'd say that "# 5.10" is lame
> 
> Documentation/process/stable-kernel-rules.rst documents this use to
> "Point out kernel version prerequisites".
> 

No, the 5.10 means that the fix is required for everything after 5.10.
Here is how you reference pre-requisites.

    Cc: <stable@...r.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
    Cc: <stable@...r.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle
    Cc: <stable@...r.kernel.org> # 3.3.x: fd21073: sched: Fix affinity logic

The documentation was written before we went to 12 character hashes and
also these days we normally put ("") around the subject.  I've made a
copy of all the uses of this format from 2023 at the bottom of this
email to see how people use it in real life.

> > and it would be good if checkpatch could
> > detect this and warn "hey, use a proper Fixes:".  Because
> > 
> >> It  helps people to not cherry-pick buggy patches without also
> >> cherry-picking the fix.
> > 
> > seems pretty important.
> 
> Hmmm. That would lead to false positive when it comes to changes that
> for example just add a device ID (and thus do not "Fix" anything) while
> having prerequisites that are only available in a specific version.

What I'm saying is, imagine you are maintaining a distro kernel for
10 years.  In this scenario you're pulling in whole new wifi drivers
so the kernel still runs on modern hardware.  The stable tag says
"apply this to 6.8+" because that's when the driver was merged.  But as
a distro maintainer it's much nicer to have a Fixes: 123412341234 ("Add
new wifi driver").

regards,
dan carpenter

Dependencies listed in 2023:

    Cc:  <stable@...r.kernel.org> # 6.1.x: 3837a03 serial: sc16is7xx: improve regmap debugfs by using one regmap per port
    Cc:  <stable@...r.kernel.org> # 6.1.x: 3837a03 serial: sc16is7xx: improve regmap debugfs by using one regmap per port
    Cc: <stable@...r.kernel.org> # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
    Cc: <stable@...r.kernel.org> # v6.0+: 1da5c9b x86: Introduce ia32_enabled()
    Cc: stable@...r.kernel.org # 6.6.x: c5dbf0416000: platform/x86: hp-bioscfg: Simplify return check in hp_add_other_attributes()
    Cc: stable@...r.kernel.org # 6.6.x: 5736aa9537c9: platform/x86: hp-bioscfg: move mutex_lock() down in hp_add_other_attributes()
    Cc: <stable@...r.kernel.org> # selftests/resctrl: Refactor feature check to use resource and feature name
    Cc: <stable@...r.kernel.org> # selftests/resctrl: Remove duplicate feature check from CMT test
    Cc: <stable@...r.kernel.org> # selftests/resctrl: Move _GNU_SOURCE define into Makefile
    Cc: stable@...r.kernel.org # 5.9.x: 09252177d5f9: SUNRPC: Handle major timeout in xprt_adjust_timeout()
    Cc: stable@...r.kernel.org # 5.9.x: 7de62bc09fe6: SUNRPC dont update timeout value on connection reset
    Cc: stable@...r.kernel.org # 0b035401c570: rbd: move rbd_dev_refresh() definition
    Cc: stable@...r.kernel.org # 510a7330c82a: rbd: decouple header read-in from updating rbd_dev->header
    Cc: stable@...r.kernel.org # c10311776f0a: rbd: decouple parent info read-in from updating rbd_dev
    Cc: <stable@...r.kernel.org> # 6.1.y: bf0207e172703 ("drm/amdgpu: add S/G display parameter")
    Cc: <stable@...r.kernel.org> # 6.1.y: bf0207e172703 ("drm/amdgpu: add S/G display parameter")
    Cc: <stable@...r.kernel.org> # 5.15.x: 60a0aab7463ee69 arm64: module-plts: inline linux/moduleloader.h
    Cc: stable@...r.kernel.org # 588159009d5b: rbd: retrieve and check lock owner twice before blocklisting
    Cc: stable@...r.kernel.org # f38cb9d9c204: rbd: make get_lock_owner_info() return a single locker or NULL
    Cc: stable@...r.kernel.org # 8ff2c64c9765: rbd: harden get_lock_owner_info() a bit
    Cc: 6.4+ <stable@...r.kernel.org> # 6.4+: 8bcbb18c61d6: thermal: core: constify params in thermal_zone_device_register
    Cc: stable@...r.kernel.org # please backport to all LTSes but not before v6.6-rc2 is tagged
    Cc: stable@...r.kernel.org      # 3.18: a872ab303d5d: "usb: dwc3: qcom: fix use-after-free on runtime-PM wakeup"
    Cc: stable@...r.kernel.org # v6.0+ 2f38e84 net/ncsi: make one oem_gma function for all mfr id
    Cc: <stable@...r.kernel.org> # 6.0: 5365cea199c7 ("soc: qcom: llcc: Rename reg_offset structs to reflect LLCC version")
    Cc: <stable@...r.kernel.org> # 6.0: c13d7d261e36 ("soc: qcom: llcc: Pass LLCC version based register offsets to EDAC driver")
    Cc: stable@...r.kernel.org # 6.1.y: 5591a051b86b: drm/amdgpu: refine get gpu clock counter method
    Cc: stable@...r.kernel.org # 6.2.y: 5591a051b86b: drm/amdgpu: refine get gpu clock counter method
    Cc: stable@...r.kernel.org # 6.3.y: 5591a051b86b: drm/amdgpu: refine get gpu clock counter method
    Cc: stable@...r.kernel.org #3.2: 30332eeefec8: debugfs: regset32: Add Runtime PM support
    Cc: <stable@...r.kernel.org> # dependency for "drm/rockchip: vop: Leave
    Cc: stable@...r.kernel.org # 4.15: 30332eeefec8: debugfs: regset32: Add Runtime PM support
    Cc: <stable@...r.kernel.org> # v5.19+ (if someone else does the backport)
    CC: stable@...r.kernel.org # 5.4.x: c8a5f8ca9a9c: btrfs: print checksum type and implementation at mount time
    Cc: <stable@...nel.org> # d6fd48eff750 ("virt/coco/sev-guest: Check SEV_SNP attribute at probe time")
    Cc: <stable@...nel.org> # 970ab823743f (" virt/coco/sev-guest: Simplify extended guest request handling")
    Cc: <stable@...nel.org> # c5a338274bdb ("virt/coco/sev-guest: Remove the disable_vmpck label in handle_guest_request()")
    Cc: <stable@...nel.org> # 0fdb6cc7c89c ("virt/coco/sev-guest: Carve out the request issuing logic into a helper")
    Cc: <stable@...nel.org> # d25bae7dc7b0 ("virt/coco/sev-guest: Do some code style cleanups")
    Cc: <stable@...nel.org> # fa4ae42cc60a ("virt/coco/sev-guest: Convert the sw_exit_info_2 checking to a switch-case")
    Cc: stable@...r.kernel.org      # 5.1: 680f8666baf6: interconnect: Make icc_provider_del() return void
    Cc: <stable@...nel.org> # 2355370cd941 ("x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter")
    Cc: <stable@...nel.org> # a5ad92134bd1 ("x86/microcode/AMD: Add a @cpu parameter to the reloading functions")


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ