mbox series

[GIT,PULL] non-MM commits for 6.2-rc1

Message ID 20221212134425.b20b80955e5e8a4a36ce1b9a@linux-foundation.org (mailing list archive)
State New
Headers show
Series [GIT,PULL] non-MM commits for 6.2-rc1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-nonmm-stable-2022-12-12

Message

Andrew Morton Dec. 12, 2022, 9:44 p.m. UTC
Linus, please merge this cycle's batch on non-MM updates, thanks.

I'll get the MM tree over tomorrow, hopefully.  David went and broke it
as it was being loaded into Santa's sleigh but Sidhartha has some glue.
(https://lkml.kernel.org/r/62ca3baf-4220-e69f-2218-3b4a157e88f0@oracle.com)


The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc:

  Linux 6.1-rc4 (2022-11-06 15:07:11 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-nonmm-stable-2022-12-12

for you to fetch changes up to 12b677f2c697d61e5ddbcb6c1650050a39392f54:

  ipc: fix memory leak in init_mqueue_fs() (2022-12-11 19:30:20 -0800)

----------------------------------------------------------------
Non-MM patches for 6.2-rc1.

- A ptrace API cleanup series from Sergey Shtylyov

- Fixes and cleanups for kexec from ye xingchen

- nilfs2 updates from Ryusuke Konishi

- squashfs feature work from Xiaoming Ni: permit configuration of the
  filesystem's compression concurrency from the mount command line.

- A series from Akinobu Mita which addresses bound checking errors when
  writing to debugfs files.

- A series from Yang Yingliang to address rapido memory leaks

- A series from Zheng Yejian to address possible overflow errors in
  encode_comp_t().

- And a whole shower of singleton patches all over the place.

----------------------------------------------------------------
Aditya Garg (1):
      hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount

Akinobu Mita (3):
      libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
      lib/notifier-error-inject: fix error when writing -errno to debugfs file
      debugfs: fix error when writing negative value to atomic_t debugfs file

Alexey Asemov (1):
      ocfs2: always read both high and low parts of dinode link count

Alexey Dobriyan (2):
      proc: give /proc/cmdline size
      proc: fixup uptime selftest

Anders Roxell (1):
      kernel: kcsan: kcsan_test: build without structleak plugin

Andy Shevchenko (1):
      panic: use str_enabled_disabled() helper

Baokun Li (1):
      squashfs: fix null-ptr-deref in squashfs_fill_super

Bjorn Helgaas (2):
      checkpatch: add warning for non-lore mailing list URLs
      ia64: remove unused __SLOW_DOWN_IO and SLOW_DOWN_IO definitions

Bo Liu (1):
      fat (exportfs): fix some kernel-doc warnings

Cai Xinchen (1):
      rapidio: devices: fix missing put_device in mport_cdev_open

Chen Lifu (1):
      ARM: kexec: make machine_crash_nonpanic_core() static

Christophe JAILLET (1):
      io-mapping: move some code within the include guarded section

Colin Ian King (2):
      lib/oid_registry.c: remove redundant assignment to variable num
      scripts/spelling.txt: add more spellings to spelling.txt

Gaosheng Cui (2):
      ia64/kprobes: remove orphan declarations from arch/ia64/include/asm/kprobes.h
      lib/fonts: fix undefined behavior in bit shift for get_default_font

Gavrilov Ilia (1):
      relay: fix type mismatch when allocating memory in relay_create_buf()

Iskren Chernev (1):
      mailmap: update email for Iskren Chernev

Ivan Babrou (1):
      proc: report open files as size in stat() for /proc/pid/fd

Jason A. Donenfeld (3):
      minmax: sanity check constant bounds when clamping
      minmax: clamp more efficiently by avoiding extra comparison
      wifi: rt2x00: use explicitly signed or unsigned types

Jianglei Nie (1):
      proc/vmcore: fix potential memory leak in vmcore_init()

Joseph Qi (3):
      ocfs2/cluster: use bitmap API instead of hand-writing it
      ocfs2: use bitmap API in fill_node_map
      ocfs2/dlm: use bitmap API instead of hand-writing it

Li Chen (1):
      kexec: replace crash_mem_range with range

Li Zetao (1):
      ocfs2: fix memory leak in ocfs2_mount_volume()

Liao Chang (1):
      checkpatch: add check for array allocator family argument order

Masahiro Yamada (1):
      linux/init.h: include <linux/build_bug.h> and <linux/stringify.h>

Oleksandr Natalenko (1):
      core_pattern: add CPU specifier

Palmer Dabbelt (1):
      MAINTAINERS: git://github -> https://github.com for linux-test-project

Rong Tao (2):
      lib/radix-tree.c: fix uninitialized variable compilation warning
      kcov: fix spelling typos in comments

Ryusuke Konishi (2):
      nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
      nilfs2: fix shift-out-of-bounds due to too large exponent of block size

Sergey Shtylyov (13):
      arc: ptrace: user_regset_copyin_ignore() always returns 0
      arm: ptrace: user_regset_copyin_ignore() always returns 0
      arm64: ptrace: user_regset_copyin_ignore() always returns 0
      hexagon: ptrace: user_regset_copyin_ignore() always returns 0
      ia64: ptrace: user_regset_copyin_ignore() always returns 0
      mips: ptrace: user_regset_copyin_ignore() always returns 0
      nios2: ptrace: user_regset_copyin_ignore() always returns 0
      openrisc: ptrace: user_regset_copyin_ignore() always returns 0
      parisc: ptrace: user_regset_copyin_ignore() always returns 0
      powerpc: ptrace: user_regset_copyin_ignore() always returns 0
      sh: ptrace: user_regset_copyin_ignore() always returns 0
      sparc: ptrace: user_regset_copyin_ignore() always returns 0
      regset: make user_regset_copyin_ignore() *void*

Shang XiaoJing (1):
      ocfs2: fix memory leak in ocfs2_stack_glue_init()

Stanislaw Gruszka (1):
      scripts: checkpatch: allow "case" macros

Stephen Brennan (1):
      vmcoreinfo: warn if we exceed vmcoreinfo data size

Tetsuo Handa (1):
      rapidio/tsi721: replace flush_scheduled_work() with flush_work()

Uros Bizjak (2):
      llist: avoid extra memory read in llist_add_batch
      sched/fair: use try_cmpxchg in task_numa_work

Wang Weiyang (1):
      rapidio: fix possible UAF when kfifo_alloc() fails

XU pengfei (1):
      initramfs: remove unnecessary (void*) conversion

Xiaoming Ni (2):
      squashfs: add the mount parameter theads=<single|multi|percpu>
      squashfs: allows users to configure the number of decompression threads

Xiongfeng Wang (1):
      tools/accounting/procacct: remove some unused variables

Xu Panda (1):
      relay: use strscpy() is more robust and safer

Yang Yingliang (2):
      rapidio: fix possible name leaks when rio_add_device() fails
      rapidio: rio: fix possible name leak in rio_register_mport()

YueHaibing (1):
      selftests: cgroup: fix unsigned comparison with less than zero

Yury Norov (1):
      cpumask: limit visibility of FORCE_NR_CPUS

Zhang Qilong (1):
      eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD

ZhangPeng (2):
      hfs: fix OOB Read in __hfs_brec_find
      hfs: Fix OOB Write in hfs_asc2mac

Zhao Gongyi (1):
      selftests/vm: add local_config.h and local_config.mk to .gitignore

Zheng Yejian (2):
      acct: fix accuracy loss for input value of encode_comp_t()
      acct: fix potential integer overflow in encode_comp_t()

Zhengchao Shao (1):
      ipc: fix memory leak in init_mqueue_fs()

wuchi (1):
      lib/debugobjects: fix stat count and optimize debug_objects_mem_init

ye xingchen (2):
      kexec: remove the unneeded result variable
      ia64: replace IS_ERR() with IS_ERR_VALUE()

 .mailmap                                          |   1 +
 Documentation/admin-guide/sysctl/kernel.rst       |   1 +
 Documentation/fault-injection/fault-injection.rst |  10 +--
 Documentation/filesystems/proc.rst                |  17 ++++
 MAINTAINERS                                       |   2 +-
 arch/arc/kernel/ptrace.c                          |   2 +-
 arch/arm/kernel/machine_kexec.c                   |   2 +-
 arch/arm/kernel/ptrace.c                          |   8 +-
 arch/arm64/kernel/ptrace.c                        |  16 +---
 arch/hexagon/kernel/ptrace.c                      |   7 +-
 arch/ia64/include/asm/io.h                        |   4 -
 arch/ia64/include/asm/kprobes.h                   |   2 -
 arch/ia64/kernel/ptrace.c                         |  20 ++---
 arch/ia64/kernel/sys_ia64.c                       |   6 +-
 arch/mips/kernel/ptrace.c                         |   9 +-
 arch/nios2/kernel/ptrace.c                        |   6 +-
 arch/openrisc/kernel/ptrace.c                     |   8 +-
 arch/parisc/kernel/ptrace.c                       |  15 ++--
 arch/powerpc/kernel/ptrace/ptrace-tm.c            |  10 +--
 arch/powerpc/kernel/ptrace/ptrace-view.c          |  15 ++--
 arch/powerpc/kexec/file_load_64.c                 |   2 +-
 arch/powerpc/kexec/ranges.c                       |   8 +-
 arch/sh/kernel/ptrace_32.c                        |   8 +-
 arch/sparc/kernel/ptrace_32.c                     |   9 +-
 arch/sparc/kernel/ptrace_64.c                     |  23 +++--
 drivers/net/wireless/ralink/rt2x00/rt2400pci.c    |   8 +-
 drivers/net/wireless/ralink/rt2x00/rt2400pci.h    |   2 +-
 drivers/net/wireless/ralink/rt2x00/rt2500pci.c    |   8 +-
 drivers/net/wireless/ralink/rt2x00/rt2500pci.h    |   2 +-
 drivers/net/wireless/ralink/rt2x00/rt2500usb.c    |   8 +-
 drivers/net/wireless/ralink/rt2x00/rt2500usb.h    |   2 +-
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c    |  60 ++++++-------
 drivers/net/wireless/ralink/rt2x00/rt2800lib.h    |   8 +-
 drivers/net/wireless/ralink/rt2x00/rt2x00usb.c    |   6 +-
 drivers/net/wireless/ralink/rt2x00/rt61pci.c      |   4 +-
 drivers/net/wireless/ralink/rt2x00/rt61pci.h      |   2 +-
 drivers/net/wireless/ralink/rt2x00/rt73usb.c      |   4 +-
 drivers/net/wireless/ralink/rt2x00/rt73usb.h      |   2 +-
 drivers/rapidio/devices/rio_mport_cdev.c          |  15 ++--
 drivers/rapidio/devices/tsi721.c                  |   3 +-
 drivers/rapidio/rio-scan.c                        |   8 +-
 drivers/rapidio/rio.c                             |   9 +-
 fs/coredump.c                                     |   5 ++
 fs/debugfs/file.c                                 |  28 ++++--
 fs/fat/nfs.c                                      |   4 +-
 fs/hfs/inode.c                                    |   2 +
 fs/hfs/trans.c                                    |   2 +-
 fs/hfsplus/hfsplus_fs.h                           |   2 +
 fs/hfsplus/inode.c                                |   4 +-
 fs/hfsplus/options.c                              |   4 +
 fs/libfs.c                                        |  22 ++++-
 fs/nilfs2/the_nilfs.c                             |  73 ++++++++++++++--
 fs/ocfs2/cluster/heartbeat.c                      |  38 ++++----
 fs/ocfs2/cluster/heartbeat.h                      |   2 +-
 fs/ocfs2/cluster/netdebug.c                       |   2 +-
 fs/ocfs2/cluster/nodemanager.c                    |   2 +-
 fs/ocfs2/cluster/tcp.c                            |   6 +-
 fs/ocfs2/dlm/dlmcommon.h                          |   2 +-
 fs/ocfs2/dlm/dlmdomain.c                          |  19 ++--
 fs/ocfs2/dlm/dlmmaster.c                          |  30 +++----
 fs/ocfs2/dlm/dlmrecovery.c                        |   2 +-
 fs/ocfs2/journal.c                                |   2 +-
 fs/ocfs2/journal.h                                |   1 +
 fs/ocfs2/ocfs2.h                                  |   3 +-
 fs/ocfs2/stack_o2cb.c                             |   6 +-
 fs/ocfs2/stackglue.c                              |   8 +-
 fs/ocfs2/super.c                                  |   5 +-
 fs/proc/cmdline.c                                 |   6 +-
 fs/proc/fd.c                                      |  45 ++++++++++
 fs/proc/vmcore.c                                  |   1 +
 fs/squashfs/Kconfig                               |  51 +++++++++--
 fs/squashfs/block.c                               |   2 +-
 fs/squashfs/decompressor.c                        |   2 +-
 fs/squashfs/decompressor_multi.c                  |  20 +++--
 fs/squashfs/decompressor_multi_percpu.c           |  23 +++--
 fs/squashfs/decompressor_single.c                 |  15 +++-
 fs/squashfs/squashfs.h                            |  23 +++--
 fs/squashfs/squashfs_fs_sb.h                      |   4 +-
 fs/squashfs/super.c                               | 100 +++++++++++++++++++++-
 include/linux/coredump.h                          |   1 +
 include/linux/debugfs.h                           |  19 +++-
 include/linux/eventfd.h                           |   2 +-
 include/linux/fs.h                                |  12 ++-
 include/linux/init.h                              |   3 +
 include/linux/io-mapping.h                        |   4 +-
 include/linux/kcov.h                              |   2 +-
 include/linux/kexec.h                             |   7 +-
 include/linux/minmax.h                            |  26 +++++-
 include/linux/regset.h                            |  15 ++--
 init/initramfs.c                                  |   2 +-
 init/main.c                                       |   7 +-
 ipc/mqueue.c                                      |   6 +-
 kernel/acct.c                                     |   6 +-
 kernel/crash_core.c                               |   3 +
 kernel/kcsan/Makefile                             |   1 +
 kernel/kexec_core.c                               |  10 +--
 kernel/kexec_file.c                               |   2 +-
 kernel/panic.c                                    |   5 +-
 kernel/relay.c                                    |   8 +-
 kernel/sched/fair.c                               |   2 +-
 lib/Kconfig                                       |   4 +-
 lib/debugobjects.c                                |  10 +++
 lib/fonts/fonts.c                                 |   4 +-
 lib/llist.c                                       |   4 +-
 lib/notifier-error-inject.c                       |   2 +-
 lib/oid_registry.c                                |   1 -
 lib/radix-tree.c                                  |   2 +-
 scripts/checkpatch.pl                             |  20 ++++-
 scripts/spelling.txt                              |  33 ++++++-
 tools/accounting/procacct.c                       |   7 +-
 tools/testing/selftests/cgroup/cgroup_util.c      |   5 +-
 tools/testing/selftests/proc/proc-uptime-002.c    |   3 +-
 tools/testing/selftests/vm/.gitignore             |   2 +
 113 files changed, 808 insertions(+), 360 deletions(-)

Comments

Jason A. Donenfeld Dec. 12, 2022, 10:16 p.m. UTC | #1
On Mon, Dec 12, 2022 at 01:44:25PM -0800, Andrew Morton wrote:
>       wifi: rt2x00: use explicitly signed or unsigned types

Why is this part of your PULL? This was a netdev/wireless tree fix which
was in 6.1-rc5. Kalle wrote that he took it on 21 Oct 2022 in:
https://lore.kernel.org/all/166633563389.6242.13987912613257140089.kvalo@kernel.org/

Jason
Andrew Morton Dec. 12, 2022, 10:27 p.m. UTC | #2
On Mon, 12 Dec 2022 15:16:43 -0700 "Jason A. Donenfeld" <Jason@zx2c4.com> wrote:

> On Mon, Dec 12, 2022 at 01:44:25PM -0800, Andrew Morton wrote:
> >       wifi: rt2x00: use explicitly signed or unsigned types
> 
> Why is this part of your PULL? This was a netdev/wireless tree fix which
> was in 6.1-rc5. Kalle wrote that he took it on 21 Oct 2022 in:
> https://lore.kernel.org/all/166633563389.6242.13987912613257140089.kvalo@kernel.org/
> 

Huh.  I guess git quietly accepts the identical commit, so Stephen
never told me and my test-merge-with-Linus-latest also came up clean. 
Which leaves it to me to manually handle these things, and that's
unreliable.

Is there some way of telling git to complain about identical changes
when doing a trial merge?
Vlastimil Babka Dec. 12, 2022, 11:16 p.m. UTC | #3
On 12/12/22 23:27, Andrew Morton wrote:
> On Mon, 12 Dec 2022 15:16:43 -0700 "Jason A. Donenfeld" <Jason@zx2c4.com> wrote:
> 
>> On Mon, Dec 12, 2022 at 01:44:25PM -0800, Andrew Morton wrote:
>> >       wifi: rt2x00: use explicitly signed or unsigned types
>> 
>> Why is this part of your PULL? This was a netdev/wireless tree fix which
>> was in 6.1-rc5. Kalle wrote that he took it on 21 Oct 2022 in:
>> https://lore.kernel.org/all/166633563389.6242.13987912613257140089.kvalo@kernel.org/
>> 
> 
> Huh.  I guess git quietly accepts the identical commit, so Stephen
> never told me and my test-merge-with-Linus-latest also came up clean. 
> Which leaves it to me to manually handle these things, and that's
> unreliable.
> 
> Is there some way of telling git to complain about identical changes
> when doing a trial merge?
 
Probably not exactly that, but there seems to be a way with "git cherry". Dunno
how reliable in practice, seems to be based on patch-id so probably can fail
easily if the commit or context changes slightly?

$ git checkout mm-nonmm-stable-2022-12-12
$ git cherry -v origin/master
+ eabb7f1ace53e127309407b2b5e74e8199e85270 lib/debugobjects: fix stat count and optimize debug_objects_mem_init
+ 461cc6e54ececa86007d44b0ff2521f75b872745 arc: ptrace: user_regset_copyin_ignore() always returns 0
...
+ d472cf797c4e268613dbce5ec9b95d0bcae19ecb debugfs: fix error when writing negative value to atomic_t debugfs file
- d04bb0852b8bd31c53981a04ff0132698d24523d wifi: rt2x00: use explicitly signed or unsigned types
+ 3965292ad0ca70320f1c632f2ac3b886c88b9e80 checkpatch: add check for array allocator family argument order
...

Seems to have worked in this case and flagged the wifi commit with '-'

HTH,
Vlastimil
Linus Torvalds Dec. 12, 2022, 11:33 p.m. UTC | #4
On Mon, Dec 12, 2022 at 2:27 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Is there some way of telling git to complain about identical changes
> when doing a trial merge?

No, the merge functionality of git literally doesn't care about
individual commits.

(git does walk the commit chain as part of finding the common
ancestor, but apart from that, very fundamentally merging in git is
*not* about merging individual commits at any point. None of the darcs
"patch algebra" nonsense).

But as Vlastimil pointed out, git does have various log-based models
for finding identical patches based on the patch ID.

Those are intentionally not used for merging, but for the various
"move patches around" models (cherry-picking and rebasing).

           Linus
Linus Torvalds Dec. 13, 2022, 1:32 a.m. UTC | #5
On Mon, Dec 12, 2022 at 1:44 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> - A series from Yang Yingliang to address rapido memory leaks

"rapido memory leaks"?

[ Goes off to look at the commits ]

Ahh. Typo.

           Linus
pr-tracker-bot@kernel.org Dec. 13, 2022, 1:39 a.m. UTC | #6
The pull request you sent on Mon, 12 Dec 2022 13:44:25 -0800:

> git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-nonmm-stable-2022-12-12

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8702f2c611bf124c48b21b5c57bfc156cd11f4ca

Thank you!
Andrew Morton Dec. 13, 2022, 2:35 a.m. UTC | #7
On Tue, 13 Dec 2022 00:16:07 +0100 Vlastimil Babka <vbabka@suse.cz> wrote:

> On 12/12/22 23:27, Andrew Morton wrote:
> > On Mon, 12 Dec 2022 15:16:43 -0700 "Jason A. Donenfeld" <Jason@zx2c4.com> wrote:
> > 
> >> On Mon, Dec 12, 2022 at 01:44:25PM -0800, Andrew Morton wrote:
> >> >       wifi: rt2x00: use explicitly signed or unsigned types
> >> 
> >> Why is this part of your PULL? This was a netdev/wireless tree fix which
> >> was in 6.1-rc5. Kalle wrote that he took it on 21 Oct 2022 in:
> >> https://lore.kernel.org/all/166633563389.6242.13987912613257140089.kvalo@kernel.org/
> >> 
> > 
> > Huh.  I guess git quietly accepts the identical commit, so Stephen
> > never told me and my test-merge-with-Linus-latest also came up clean. 
> > Which leaves it to me to manually handle these things, and that's
> > unreliable.
> > 
> > Is there some way of telling git to complain about identical changes
> > when doing a trial merge?
>  
> Probably not exactly that, but there seems to be a way with "git cherry". Dunno
> how reliable in practice, seems to be based on patch-id so probably can fail
> easily if the commit or context changes slightly?

Well here's a hacky thing - just look for duplicated patch titles after
stripping away the hashes.


$ git log --oneline --no-merges v6.0..HEAD | sed -e "s/[^ ]* //" | sort > /tmp/1        
$ uniq < /tmp/1 > /tmp/2
$ diff -u /tmp/1 /tmp/2 | grep "^-.*"

The above turns up 67 duplicates in Linus's tree and 382 in linux-next.
Maybe this is wrong - I'm just tossing it out there in the hope that
someone will do the work for me :)
Linus Torvalds Dec. 13, 2022, 2:44 a.m. UTC | #8
On Mon, Dec 12, 2022 at 6:35 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Well here's a hacky thing - just look for duplicated patch titles after
> stripping away the hashes.

Please don't do that.

Just use the git machinery that Vlastimil pointed at.

"git cherry" uses the actual patch ID (which is just a hash of the
patch with whitespace removed), so it actually looks at the patch
itself, not just eh first line of the commit message.

If you insist on writing your own shell script for this, please use
that same "patch-id" logic. That's made available by "git patch-id".

But do "man git-cherry" and "man git-patch-id" before you do any of that.

And in no situation should you go "the first line of the commit
message is identical, so the patches must be the same".

                     Linus
Stephen Rothwell Dec. 13, 2022, 2:58 a.m. UTC | #9
Hi Andrew,

On Mon, 12 Dec 2022 18:35:54 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
>
> On Tue, 13 Dec 2022 00:16:07 +0100 Vlastimil Babka <vbabka@suse.cz> wrote:
> 
> > On 12/12/22 23:27, Andrew Morton wrote:  
> > > On Mon, 12 Dec 2022 15:16:43 -0700 "Jason A. Donenfeld" <Jason@zx2c4.com> wrote:
> > >   
> > >> On Mon, Dec 12, 2022 at 01:44:25PM -0800, Andrew Morton wrote:  
> > >> >       wifi: rt2x00: use explicitly signed or unsigned types  
> > >> 
> > >> Why is this part of your PULL? This was a netdev/wireless tree fix which
> > >> was in 6.1-rc5. Kalle wrote that he took it on 21 Oct 2022 in:
> > >> https://lore.kernel.org/all/166633563389.6242.13987912613257140089.kvalo@kernel.org/
> > >>   
> > > 
> > > Huh.  I guess git quietly accepts the identical commit, so Stephen
> > > never told me and my test-merge-with-Linus-latest also came up clean. 
> > > Which leaves it to me to manually handle these things, and that's
> > > unreliable.
> > > 
> > > Is there some way of telling git to complain about identical changes
> > > when doing a trial merge?  
> >  
> > Probably not exactly that, but there seems to be a way with "git cherry". Dunno
> > how reliable in practice, seems to be based on patch-id so probably can fail
> > easily if the commit or context changes slightly?  
> 
> Well here's a hacky thing - just look for duplicated patch titles after
> stripping away the hashes.
> 
> 
> $ git log --oneline --no-merges v6.0..HEAD | sed -e "s/[^ ]* //" | sort > /tmp/1        
> $ uniq < /tmp/1 > /tmp/2
> $ diff -u /tmp/1 /tmp/2 | grep "^-.*"
> 
> The above turns up 67 duplicates in Linus's tree and 382 in linux-next.
> Maybe this is wrong - I'm just tossing it out there in the hope that
> someone will do the work for me :)

I already do this when I produce my stats after the merge window - I
produce three lines like these (from last time):

Commits with the same SHA1:                        10436
Commits with the same patch_id:                      342
Commits with the same subject line:                   20

The above is pretty easy, but takes a while (looking at 11000+ commits)
because I am just conparing Linus' tree to one of my trees (so 2
branches in my tree).  During out development phase, these commits
could be spread over 350+ branches in my tree :-(

I will have a play and see what I can come up with.  The plan would be
to figure these out when I fetch trees and only report them to people
who care (just you, Andrew, initially) as there are trees out there for
which duplicating patches between the development branches and -fixes
branches (and Linus' tree) is part of the process :-(