2024-01-10 21:00:54

by James Bottomley

[permalink] [raw]
Subject: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

Updates to the usual drivers (ufs, mpi3mr, mpt3sas, lpfc, fnic,
hisi_sas, arcmsr, ) plus the usual assorted minor fixes and updates. 
This time around there's only a single line update to the core, so
nothing major and barely anything minor.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

The short changelog is:

Abhinav Singh (1):
scsi: dc395x: Fix warning using plain integer as NULL

Akinobu Mita (1):
scsi: ufs: core: Make fault injection dynamically configurable per HBA

Arnd Bergmann (1):
scsi: mpi3mr: Fix printk() format strings

Artem Chernyshev (2):
scsi: isci: Remove redundant check in isci_task_request_build()
scsi: fnic: Return error if vmalloc() failed

Bao D. Nguyen (1):
scsi: ufs: ufs-qcom: Add support for UFS device version detection

Bart Van Assche (5):
scsi: ufs: core: Simplify ufshcd_auto_hibern8_update()
scsi: ufs: core: Rename ufshcd_auto_hibern8_enable() and make it static
scsi: ufs: core: Warn if the request tag is truncated
scsi: core: Add a precondition check in scsi_eh_scmd_add()
scsi: bfa: Use the proper data type for BLIST flags

Bean Huo (3):
scsi: ufs: core: Add sysfs node for UFS RTC update
scsi: ufs: core: Add UFS RTC support
scsi: ufs: core: Add ufshcd_is_ufs_dev_busy()

Benjamin Coddington (1):
scsi: target: Enable READ CAPACITY for PR EARO

Can Guo (8):
scsi: ufs: ufs-qcom: Check return value of phy_set_mode_ext()
scsi: ufs: ufs-qcom: Set initial PHY gear to max HS gear for HW ver 4 and newer
scsi: ufs: ufs-qcom: Limit HS-G5 Rate-A to hosts with HW version 5
scsi: ufs: ufs-qcom: Allow the first init start with the maximum supported gear
scsi: ufs: ufs-qcom: Setup host power mode during init
scsi: ufs: ufs-qcom: No need to set hs_rate after ufshcd_init_host_param()
scsi: ufs: host: Rename structure ufs_dev_params to ufs_host_params
scsi: ufs: ufs-sysfs: Expose UFS power info

Chandrakanth patil (8):
scsi: mpi3mr: Update driver version to 8.5.1.0.0
scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-3
scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-2
scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-1
scsi: mpi3mr: Fetch correct device dev handle for status reply descriptor
scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State
scsi: mpi3mr: Clean up block devices post controller reset
scsi: mpi3mr: Refresh sdev queue depth after controller reset

Hannes Reinecke (3):
scsi: libfc: Map FC_TIMED_OUT to DID_TIME_OUT
scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
scsi: libfc: Don't schedule abort twice

James Seo (12):
scsi: mpt3sas: Replace dynamic allocations with local variables
scsi: mpt3sas: Replace a dynamic allocation with a local variable
scsi: mpt3sas: Fix typo of "TRIGGER"
scsi: mpt3sas: Fix an outdated comment
scsi: mpt3sas: Remove the iounit_pg8 member of the per-adapter struct
scsi: mpt3sas: Use struct_size() for struct size calculations
scsi: mpt3sas: Make MPI26_CONFIG_PAGE_PIOUNIT_1::PhyData[] a flexible array
scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_1::PhyData[] a flexible array
scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_0::PhyData[] a flexible array
scsi: mpt3sas: Make MPI2_CONFIG_PAGE_RAID_VOL_0::PhysDisk[] a flexible array
scsi: mpt3sas: Make MPI2_CONFIG_PAGE_IO_UNIT_8::Sensor[] a flexible array
scsi: mpt3sas: Use flexible arrays when obviously possible

Justin Stitt (8):
scsi: fcoe: Use sysfs_match_string() over fcoe_parse_mode()
scsi: ibmvscsi: Replace deprecated strncpy() with strscpy()
scsi: ibmvfc: Replace deprecated strncpy() with strscpy()
scsi: elx: libefc: Replace deprecated strncpy() with strscpy_pad()/memcpy()
scsi: csiostor: Replace deprecated strncpy() with strscpy()
scsi: ch: Replace deprecated strncpy() with strscpy()
scsi: bnx2fc: Replace deprecated strncpy() with strscpy()
scsi: 3w-sas: Replace deprecated strncpy() with strscpy()

Justin Tee (13):
scsi: lpfc: Update lpfc version to 14.2.0.17
scsi: lpfc: Move determination of vmid_flag after VMID reinitialization completes
scsi: lpfc: Reinitialize an NPIV's VMID data structures after FDISC
scsi: lpfc: Change VMID driver load time parameters to read only
scsi: lpfc: Copyright updates for 14.2.0.16 patches
scsi: lpfc: Update lpfc version to 14.2.0.16
scsi: lpfc: Enhance driver logging for selected discovery events
scsi: lpfc: Refactor and clean up mailbox command memory free
scsi: lpfc: Return early in lpfc_poll_eratt() when the driver is unloading
scsi: lpfc: Eliminate unnecessary relocking in lpfc_check_nlp_post_devloss()
scsi: lpfc: Fix list_entry null check warning in lpfc_cmpl_els_plogi()
scsi: lpfc: Fix possible file string name overflow when updating firmware
scsi: lpfc: Correct maximum PCI function value for RAS fw logging

Karan Tilak Kumar (13):
scsi: fnic: Increment driver version
scsi: fnic: Improve logs and add support for multiqueue (MQ)
scsi: fnic: Add support for multiqueue (MQ) in fnic driver
scsi: fnic: Add support for multiqueue (MQ) in fnic_main.c
scsi: fnic: Remove usage of host_lock
scsi: fnic: Define stats to track multiqueue (MQ) IOs
scsi: fnic: Modify ISRs to support multiqueue (MQ)
scsi: fnic: Refactor and redefine fnic.h for multiqueue
scsi: fnic: Get copy workqueue count and interrupt mode from config
scsi: fnic: Rename wq_copy to hw_copy_wq
scsi: fnic: Add and improve log messages
scsi: fnic: Add and use fnic number
scsi: fnic: Modify definitions to sync with VIC firmware

Kees Cook (1):
scsi: zfcp: Replace strlcpy() with strscpy()

Manivannan Sadhasivam (18):
scsi: ufs: qcom: Fix ESI vector mask
scsi: ufs: qcom: Remove unused definitions
scsi: ufs: qcom: Use ufshcd_rmwl() where applicable
scsi: ufs: qcom: Remove support for host controllers older than v2.0
scsi: ufs: qcom: Simplify ufs_qcom_{assert/deassert}_reset
scsi: ufs: qcom: Initialize cycles_in_1us variable in ufs_qcom_set_core_clk_ctrl()
scsi: ufs: qcom: Sort includes alphabetically
scsi: ufs: qcom: Remove unused ufs_qcom_hosts struct array
scsi: ufs: qcom: Use dev_err_probe() to simplify error handling of devm_gpiod_get_optional()
scsi: ufs: qcom: Remove redundant error print for devm_kzalloc() failure
scsi: ufs: qcom: Check the return value of ufs_qcom_power_up_sequence()
scsi: ufs: qcom: Fail ufs_qcom_power_up_sequence() when core_reset fails
scsi: ufs: qcom: Export ufshcd_{enable/disable}_irq helpers and make use of them
scsi: ufs: qcom: Remove the warning message when core_reset is not available
scsi: ufs: qcom: Remove superfluous variable assignments
scsi: ufs: qcom: Fix the return value when platform_get_resource_byname() fails
scsi: ufs: qcom: Fix the return value of ufs_qcom_ice_program_key()
scsi: ufs: qcom: Use clk_bulk APIs for managing lane clocks

Martin K. Petersen (1):
scsi: ufs: host: Fix kernel-doc warning

Michael Ellerman (1):
scsi: ipr: Remove obsolete check for old CPUs

Nitin Rawat (1):
scsi: ufs: qcom: dt-bindings: Add SC7280 compatible string

Stanley Jhu (1):
scsi: ufs: mediatek: Change the maintainer for MediaTek UFS hooks

Su Hui (3):
scsi: aic7xxx: Return negative error codes in aic7770_probe()
scsi: aic7xxx: Return ahc_linux_register_host()'s value rather than zero
scsi: aic7xxx: Return negative error codes in ahc_linux_register_host()

Sumit Saxena (5):
scsi: mpi3mr: driver version upgrade to 8.5.0.0.50
scsi: mpi3mr: Add support for status reply descriptor
scsi: mpi3mr: Increase maximum number of PHYs to 64 from 32
scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116
scsi: mpi3mr: Add support for SAS5116 PCI IDs

Tomas Henzl (1):
scsi: mpt3sas: Suppress a warning in debug kernel

Uwe Kleine-König (14):
scsi: sun_esp: Convert to platform remove callback returning void
scsi: sun3x_esp: Convert to platform remove callback returning void
scsi: sun3: Convert to platform remove callback returning void
scsi: sni_53c710: Convert to platform remove callback returning void
scsi: sgiwd93: Convert to platform remove callback returning void
scsi: qlogicpti: Convert to platform remove callback returning void
scsi: mvme16x: Convert to platform remove callback returning void
scsi: mac: Convert to platform remove callback returning void
scsi: mac_esp: Convert to platform remove callback returning void
scsi: jazz_esp: Convert to platform remove callback returning void
scsi: bvme6000: Convert to platform remove callback returning void
scsi: atari: Convert to platform remove callback returning void
scsi: a4000t: Convert to platform remove callback returning void
scsi: a3000: Convert to platform remove callback returning void

Yihang Li (5):
scsi: hisi_sas: Correct the number of global debugfs registers
scsi: hisi_sas: Rollback some operations if FLR failed
scsi: hisi_sas: Check before using pointer variables
scsi: hisi_sas: Replace with standard error code return value
scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM

Ziqi Chen (1):
scsi: ufs: dt-bindings: Add msi-parent for UFS MCQ

ching Huang (3):
scsi: arcmsr: Update driver version to v1.51.00.14-20230915
scsi: arcmsr: Support new PCI device IDs 1883 and 1886
scsi: arcmsr: Support new RAID controller ARC-1688

And the diffstat:

Documentation/ABI/testing/sysfs-driver-ufs | 56 ++
.../devicetree/bindings/ufs/qcom,ufs.yaml | 2 +
.../devicetree/bindings/ufs/ufs-common.yaml | 2 +
MAINTAINERS | 3 +-
drivers/s390/scsi/zfcp_fc.c | 15 +-
drivers/scsi/3w-sas.c | 3 +-
drivers/scsi/a3000.c | 5 +-
drivers/scsi/a4000t.c | 5 +-
drivers/scsi/aic7xxx/aic7770_osm.c | 6 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 3 +-
drivers/scsi/arcmsr/arcmsr.h | 29 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 96 ++-
drivers/scsi/atari_scsi.c | 5 +-
drivers/scsi/bfa/bfad_bsg.c | 2 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 14 +-
drivers/scsi/bvme6000_scsi.c | 6 +-
drivers/scsi/ch.c | 12 +-
drivers/scsi/csiostor/csio_init.c | 3 +-
drivers/scsi/dc395x.c | 2 +-
drivers/scsi/elx/libefc/efc_node.h | 12 +-
drivers/scsi/fcoe/fcoe_sysfs.c | 26 +-
drivers/scsi/fnic/fnic.h | 68 +-
drivers/scsi/fnic/fnic_debugfs.c | 3 +-
drivers/scsi/fnic/fnic_fcs.c | 63 +-
drivers/scsi/fnic/fnic_isr.c | 168 ++--
drivers/scsi/fnic/fnic_main.c | 144 ++--
drivers/scsi/fnic/fnic_res.c | 48 +-
drivers/scsi/fnic/fnic_scsi.c | 868 ++++++++++++---------
drivers/scsi/fnic/fnic_stats.h | 3 +
drivers/scsi/fnic/fnic_trace.c | 11 +
drivers/scsi/fnic/vnic_dev.c | 4 +
drivers/scsi/fnic/vnic_scsi.h | 13 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 11 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 19 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 12 +-
drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +-
drivers/scsi/ipr.c | 55 --
drivers/scsi/isci/request.c | 5 +-
drivers/scsi/isci/request.h | 2 +-
drivers/scsi/isci/task.c | 4 +-
drivers/scsi/jazz_esp.c | 6 +-
drivers/scsi/libfc/fc_fcp.c | 22 +-
drivers/scsi/lpfc/lpfc.h | 1 +
drivers/scsi/lpfc/lpfc_attr.c | 12 +-
drivers/scsi/lpfc/lpfc_els.c | 67 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
drivers/scsi/lpfc/lpfc_init.c | 4 +-
drivers/scsi/lpfc/lpfc_mbox.c | 6 +-
drivers/scsi/lpfc/lpfc_mem.c | 47 +-
drivers/scsi/lpfc/lpfc_sli.c | 20 +-
drivers/scsi/lpfc/lpfc_sli.h | 10 +-
drivers/scsi/lpfc/lpfc_version.h | 2 +-
drivers/scsi/lpfc/lpfc_vmid.c | 1 +
drivers/scsi/mac_esp.c | 6 +-
drivers/scsi/mac_scsi.c | 5 +-
drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 1 +
drivers/scsi/mpi3mr/mpi3mr.h | 33 +-
drivers/scsi/mpi3mr/mpi3mr_app.c | 536 ++++++++++---
drivers/scsi/mpi3mr/mpi3mr_fw.c | 118 ++-
drivers/scsi/mpi3mr/mpi3mr_os.c | 33 +-
drivers/scsi/mpi3mr/mpi3mr_transport.c | 16 +-
drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 231 ++----
drivers/scsi/mpt3sas/mpi/mpi2_image.h | 32 +-
drivers/scsi/mpt3sas/mpi/mpi2_ioc.h | 27 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 35 +-
drivers/scsi/mpt3sas/mpt3sas_base.h | 3 +-
drivers/scsi/mpt3sas/mpt3sas_config.c | 6 +-
drivers/scsi/mpt3sas/mpt3sas_ctl.c | 42 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 56 +-
drivers/scsi/mpt3sas/mpt3sas_transport.c | 9 +-
drivers/scsi/mpt3sas/mpt3sas_trigger_pages.h | 44 +-
drivers/scsi/mpt3sas/mpt3sas_warpdrive.c | 3 +-
drivers/scsi/mvme16x_scsi.c | 6 +-
drivers/scsi/qlogicpti.c | 6 +-
drivers/scsi/scsi_error.c | 1 +
drivers/scsi/sgiwd93.c | 5 +-
drivers/scsi/sni_53c710.c | 6 +-
drivers/scsi/sun3_scsi.c | 5 +-
drivers/scsi/sun3x_esp.c | 6 +-
drivers/scsi/sun_esp.c | 6 +-
drivers/target/target_core_pr.c | 1 +
drivers/ufs/core/ufs-fault-injection.c | 19 +-
drivers/ufs/core/ufs-fault-injection.h | 13 +-
drivers/ufs/core/ufs-sysfs.c | 151 ++++
drivers/ufs/core/ufshcd.c | 154 +++-
drivers/ufs/host/ufs-exynos.c | 7 +-
drivers/ufs/host/ufs-hisi.c | 11 +-
drivers/ufs/host/ufs-mediatek.c | 12 +-
drivers/ufs/host/ufs-qcom.c | 472 +++--------
drivers/ufs/host/ufs-qcom.h | 57 +-
drivers/ufs/host/ufshcd-pltfrm.c | 69 +-
drivers/ufs/host/ufshcd-pltfrm.h | 10 +-
include/uapi/scsi/scsi_bsg_mpi3mr.h | 2 +
include/ufs/ufs.h | 14 +
include/ufs/ufshcd.h | 12 +-
include/ufs/unipro.h | 4 +-
97 files changed, 2567 insertions(+), 1730 deletions(-)

James



2024-01-11 22:36:46

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Wed, 10 Jan 2024 at 12:48, James Bottomley
<[email protected]> wrote:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

Ok, I note that this has been signed with ECDSA key
E76040DB76CA3D176708F9AAE742C94CEE98AC85, and while it is currently
available and up-to-date at kernel.org, it shows as

sub nistp256 2018-01-23 [S] [expires: 2024-01-16]
E76040DB76CA3D176708F9AAE742C94CEE98AC85

note that expiration date: it's three days in the future.

Can I please ask you for the umpteenth time to STOP DICKING AROUND
WITH SHORT EXPIRATION DATES!

The pgp keyservers work *so* badly these days that refreshing keys is
a joke. The whole expiration date thing has always been a bad joke,
and only makes pgp an even worse UX than it already is (and damn,
that's saying a lot - pgp is some nasty stuff).

When you make a new key, or when you extend the expiration date, do it
properly. Give ita lifetime that is a big fraction of a decade. Or
two.

Because your keys constantly end up being expired, and they are making
the experience of pulling from you a pain - because I actually *check*
the keys.

Stop making a bad pgp experience even worse - for no reason and
absolutely zero upside.

Linus

2024-01-11 22:47:20

by James Bottomley

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, 2024-01-11 at 14:36 -0800, Linus Torvalds wrote:
> On Wed, 10 Jan 2024 at 12:48, James Bottomley
> <[email protected]> wrote:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-
> > misc
>
> Ok, I note that this has been signed with ECDSA key
> E76040DB76CA3D176708F9AAE742C94CEE98AC85, and while it is currently
> available and up-to-date at kernel.org, it shows as
>
>   sub   nistp256 2018-01-23 [S] [expires: 2024-01-16]
>         E76040DB76CA3D176708F9AAE742C94CEE98AC85
>
> note that expiration date: it's three days in the future.
>
> Can I please ask you for the umpteenth time to STOP DICKING AROUND
> WITH SHORT EXPIRATION DATES!
>
> The pgp keyservers work *so* badly these days that refreshing keys is
> a joke. The whole expiration date thing has always been a bad joke,
> and only makes pgp an even worse UX than it already is (and damn,
> that's saying a lot - pgp is some nasty stuff).

Well, I did already tell you that I bypass the pgp keyservers because I
use a DNSSEC based DANE entry instead:

https://lore.kernel.org/all/[email protected]/

And I'm sure there was an earlier one where you confirmed this worked,
but lore seems to be missing it.

> When you make a new key, or when you extend the expiration date, do
> it properly. Give ita lifetime that is a big fraction of a decade. Or
> two.
>
> Because your keys constantly end up being expired, and they are
> making the experience of pulling from you a pain - because I actually
> *check* the keys.
>
> Stop making a bad pgp experience even worse - for no reason and
> absolutely zero upside.

I can concede that if I'm the only person with a DANE updateable key
then it is a pain to remember because gpg doesn't automatically do it
(although it can be configured to), so I can certainly set a longer
expiry date.

James


2024-01-11 22:48:24

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, 11 Jan 2024 at 14:36, Linus Torvalds
<[email protected]> wrote:
>
> Stop making a bad pgp experience even worse - for no reason and
> absolutely zero upside.

Side note: even getting gpg to show the subkeys was just an exercise
in frustration.

For example, I'd expect that when you do

gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85

it would show the details of that key. No, it does not. It doesn't
even *mention* that key.

Because this is gpg, and the project motto was probably "pgp was
designed to be hard to use, and by golly, we'll take that to 11".

And no, adding "-vv" to get more verbose output doesn't help. That
just makes gpg show more *other* keys.

Now, obviously, in order to actually show the key I *asked* gpg to
list, I also have to use the "--with-subkey-fingerprint". OBVIOUSLY.

I can hear everybody go all Homer on me and say "Well, duh, dummy".

So yes, I realize that my frustration with pgp is because I'm just too
stupid to understand how wonderful the UX really is, but my point is
that you're really making it worse by using pointless features that
actively makes it all so much less usable than it already is.

Subkeys and expiration date make a bad experience worse.

Yes, I blame myself for thinking pgp was a good model for tag signing.
What can I say? I didn't expect people to actively try to use every
bad feature.

Linus

2024-01-11 22:54:27

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, 11 Jan 2024 at 14:47, James Bottomley
<[email protected]> wrote:
>
> Well, I did already tell you that I bypass the pgp keyservers because I
> use a DNSSEC based DANE entry instead:
>
> https://lore.kernel.org/all/[email protected]/

I think I dimly remember seeing that email.

But honestly, that just reinforces my point: this is yet ANOTHER
magical thing you have to know about gpg, and that nobody buy you use.

So if you insist on using these things that are obscure, you need to
keep reminding people. Every time your keys are close to expiry, send
out an email saying "To update my key, use this magical command line".

If gpg did that auto-locate automatically, and it all JustWorked(tm),
it would be one thing. But that is clearly against the design
principles of pgp and gpg.

Linus

2024-01-11 22:58:12

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

The pull request you sent on Wed, 10 Jan 2024 15:48:41 -0500:

> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/22d29f1112c85c1ad519a8c0403f7f7289cf060c

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

2024-01-11 23:28:38

by James Bottomley

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, 2024-01-11 at 14:47 -0800, Linus Torvalds wrote:
> On Thu, 11 Jan 2024 at 14:36, Linus Torvalds
> <[email protected]> wrote:
> >
> > Stop making a bad pgp experience even worse - for no reason and
> > absolutely zero upside.
>
> Side note: even getting gpg to show the subkeys was just an exercise
> in frustration.
>
> For example, I'd expect that when you do
>
>    gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85
>
> it would show the details of that key. No, it does not. It doesn't
> even *mention* that key.

You installed the special "make it even harder to use" version didn't
you? Because for me (gpg 2.4.3) it gives

jejb@lingrow:~> gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85
pub rsa2048 2011-09-23 [SC] [expires: 2026-03-11]
D5606E73C8B46271BEAD9ADF814AE47C214854D6
uid [ultimate] James Bottomley
<[email protected]>
uid [ultimate] James Bottomley <[email protected]>
uid [ultimate] James Bottomley <[email protected]>
uid [ultimate] [jpeg image of size 5254]
uid [ultimate] James Bottomley <[email protected]>
uid [ultimate] James Bottomley <[email protected]>
sub nistp256 2018-01-23 [S] [expires: 2024-01-16]
sub nistp256 2018-01-23 [E] [expires: 2024-01-16]
sub nistp256 2023-07-20 [A] [expires: 2024-01-16]

Which shows all the subkeys and their expiration dates. I admit it
doesn't show the fingerprints and you have to know you've requested a
subkey and it's showing the master record.

> Because this is gpg, and the project motto was probably "pgp was
> designed to be hard to use, and by golly, we'll take that to 11".
>
> And no, adding "-vv" to get more verbose output doesn't help. That
> just makes gpg show more *other* keys.
>
> Now, obviously, in order to actually show the key I *asked* gpg to
> list, I also have to use the "--with-subkey-fingerprint". OBVIOUSLY.
>
> I can hear everybody go all Homer on me and say "Well, duh, dummy".
>
> So yes, I realize that my frustration with pgp is because I'm just
> too stupid to understand how wonderful the UX really is, but my point
> is that you're really making it worse by using pointless features
> that actively makes it all so much less usable than it already is.

OK, OK, I can do longer expiration dates.

> Subkeys and expiration date make a bad experience worse.

I can't really fix the subkeys bit. The reason I have a signing subkey
is because on my laptop it's TPM resident but with the authorization
password in gnome-keyring, so I unlock it on login (and so, for me, it
just works for all the day to day signing operations). My master key
is also TPM resident but with a different password that doesn't unlock
on login to try to keep it more secure and because I only need to use
it when extending expiration dates or signing someone else's key.

> Yes, I blame myself for thinking pgp was a good model for tag
> signing. What can I say? I didn't expect people to actively try to
> use every bad feature.

Heh, well to paraphrase Churchill: gpg is the worst key management
system ... except for all the other key management systems out there
..

James


2024-01-11 23:51:07

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, 11 Jan 2024 at 15:28, James Bottomley
<[email protected]> wrote:
>
> You installed the special "make it even harder to use" version didn't
> you?

We call that the standard version. Because "harder to use" comes with
the base package.

You have the same one:

> Because for me (gpg 2.4.3) it gives
>
> jejb@lingrow:~> gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85
> pub rsa2048 2011-09-23 [SC] [expires: 2026-03-11]
> D5606E73C8B46271BEAD9ADF814AE47C214854D6
> uid [ultimate] James Bottomley
> <[email protected]>
> uid [ultimate] James Bottomley <[email protected]>
> uid [ultimate] James Bottomley <[email protected]>
> uid [ultimate] [jpeg image of size 5254]
> uid [ultimate] James Bottomley <[email protected]>
> uid [ultimate] James Bottomley <[email protected]>
> sub nistp256 2018-01-23 [S] [expires: 2024-01-16]
> sub nistp256 2018-01-23 [E] [expires: 2024-01-16]
> sub nistp256 2023-07-20 [A] [expires: 2024-01-16]

Look closer.

NOWHERE there does it mention E76040D.. Nowhere.

Really.

Yeah, it says that a key that I didn't even ask for has subkeys. It
doesn't say what those subkeys are, nor does it say which one matches
the one I actually asked for.

Yes, you clearly have Stockholm syndrome and think that this is all
normal and exactly what you would expect to see.

I happen to think it's unbelievable garbage, and I think subkeys are
something that makes gpg even harder to use than it would otherwise
be.

Here's a clue: if I ask "ls" to show a file, do you think it would be
ok if "ls" instead said "here's the directory the file is in, and here
are the dates of all the files inside that directory"?

Or would you say that such a program is crap? Honestly now...

And the above is actually being *generous* to gpg. The reality is even
worse. Try this:

gpg --list-key 37AAA9562C5CBD0C

and notice how it doesn't even list the subkey I asked about. Not even
with '--with-subkey-fingerprint'.

And no, I'm not just making up particularly bad examples. This is the
reality I deal with all the time when people use expiration dates on
their keys.

The above "show my the key" is *literally* the key you used a decade ago:

git show --oneline --show-signature 233ba2c5ffcf

and this is (one of millions) reason why I despise gpg and subkeys in
particular. That key was valid at the time, and as far as I know
there's no way for git to say "was it expired at the time", so now all
those signatures flag as invalid.

Plus the "--list-key" thing NOT EVEN SHOWING THE KEY I ASKED FOR.

Christ.

Ok, I'm over it now. I just wanted to rant about my least favourite
program ever, and how you trigger all the worst parts of it.

Linus

2024-01-12 14:28:06

by Konstantin Ryabitsev

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Thu, Jan 11, 2024 at 03:50:32PM -0800, Linus Torvalds wrote:
> > jejb@lingrow:~> gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85
> > pub rsa2048 2011-09-23 [SC] [expires: 2026-03-11]
> > D5606E73C8B46271BEAD9ADF814AE47C214854D6
> > uid [ultimate] James Bottomley
> > <[email protected]>
> > uid [ultimate] James Bottomley <[email protected]>
> > uid [ultimate] James Bottomley <[email protected]>
> > uid [ultimate] [jpeg image of size 5254]
> > uid [ultimate] James Bottomley <[email protected]>
> > uid [ultimate] James Bottomley <[email protected]>
> > sub nistp256 2018-01-23 [S] [expires: 2024-01-16]
> > sub nistp256 2018-01-23 [E] [expires: 2024-01-16]
> > sub nistp256 2023-07-20 [A] [expires: 2024-01-16]
>
> Look closer.
>
> NOWHERE there does it mention E76040D.. Nowhere.

I'm piping up just because I know how to get the output you want, not because
I hold any opinions on GnuPG (I do, but they aren't relevant here). :)

Add the following to your ~/.gnupg/gpg.conf:

keyid-format long

After that the output should look like this:

$ gpg --list-key E76040DB76CA3D176708F9AAE742C94CEE98AC85
pub rsa2048/814AE47C214854D6 2011-09-23 [SC] [expires: 2026-03-11]
D5606E73C8B46271BEAD9ADF814AE47C214854D6
uid [ full ] James Bottomley <[email protected]>
uid [ full ] James Bottomley <[email protected]>
uid [ full ] James Bottomley <[email protected]>
uid [ never ] [jpeg image of size 5254]
uid [ full ] James Bottomley <[email protected]>
sub nistp256/E742C94CEE98AC85 2018-01-23 [S] [expires: 2024-01-16]
sub nistp256/3E01E40786F26FB8 2018-01-23 [E] [expires: 2024-01-16]
sub nistp256/920E9CA6AA3F170D 2023-07-20 [A] [expires: 2024-01-16]

Note, that keyids are truncated from the right, as opposed to git commits.

> And the above is actually being *generous* to gpg. The reality is even
> worse. Try this:
>
> gpg --list-key 37AAA9562C5CBD0C
>
> and notice how it doesn't even list the subkey I asked about. Not even
> with '--with-subkey-fingerprint'.

Again, just because I happen to know the right incantation and it may come up
in a search for someone:

$ gpg --list-options show-unusable-subkeys --list-key 37AAA9562C5CBD0C

You can add it to your .gnupg/gpg.conf as well:

list-options show-unusable-subkeys

-K

2024-01-12 18:35:27

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.7+ merge window

On Fri, 12 Jan 2024 at 06:27, Konstantin Ryabitsev
<[email protected]> wrote:
>
> I'm piping up just because I know how to get the output you want

Oh, I know how to get the output - I can read a man-page.

I'm just saying that the default output is unbelievably bad, and
subkeys are really atrocious from a usability standpoint, with
expiration making things even worse.

And being bad from a usability standpoint here is in the context of
gpg. That's a very low bar to begin with.

Linus