stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Hao Ge <gehao@kylinos.cn>,
	Daniel Baluta <daniel.baluta@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 020/128] firmware/imx-dsp: Fix use_after_free in imx_dsp_setup_channels()
Date: Mon,  6 Nov 2023 14:03:00 +0100	[thread overview]
Message-ID: <20231106130310.051086146@linuxfoundation.org> (raw)
In-Reply-To: <20231106130309.112650042@linuxfoundation.org>

5.15-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Hao Ge <gehao@kylinos.cn>

[ Upstream commit 1558b1a8dd388f5fcc3abc1e24de854a295044c3 ]

dsp_chan->name and chan_name points to same block of memory,
because dev_err still needs to be used it,so we need free
it's memory after use to avoid use_after_free.

Fixes: e527adfb9b7d ("firmware: imx-dsp: Fix an error handling path in imx_dsp_setup_channels()")
Signed-off-by: Hao Ge <gehao@kylinos.cn>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/firmware/imx/imx-dsp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/imx/imx-dsp.c b/drivers/firmware/imx/imx-dsp.c
index 1f410809d3ee4..0f656e4191d5c 100644
--- a/drivers/firmware/imx/imx-dsp.c
+++ b/drivers/firmware/imx/imx-dsp.c
@@ -115,11 +115,11 @@ static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
 		dsp_chan->idx = i % 2;
 		dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
 		if (IS_ERR(dsp_chan->ch)) {
-			kfree(dsp_chan->name);
 			ret = PTR_ERR(dsp_chan->ch);
 			if (ret != -EPROBE_DEFER)
 				dev_err(dev, "Failed to request mbox chan %s ret %d\n",
 					chan_name, ret);
+			kfree(dsp_chan->name);
 			goto out;
 		}
 
-- 
2.42.0




  parent reply	other threads:[~2023-11-06 13:24 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-06 13:02 [PATCH 5.15 000/128] 5.15.138-rc1 review Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 001/128] ASoC: codecs: wcd938x: fix resource leaks on bind errors Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 002/128] ASoC: codecs: wcd938x: fix runtime PM imbalance on remove Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 003/128] pinctrl: qcom: lpass-lpi: fix concurrent register updates Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 004/128] tcp: remove dead code from tcp_sendmsg_locked() Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 005/128] tcp: cleanup tcp_remove_empty_skb() use Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 006/128] mptcp: more conservative check for zero probes Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 007/128] mcb: Return actual parsed size when reading chameleon table Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 008/128] mcb-lpc: Reallocate memory region to avoid memory overlapping Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 009/128] virtio_balloon: Fix endless deflation and inflation on arm64 Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 010/128] virtio-mmio: fix memory leak of vm_dev Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 011/128] vhost: Allow null msg.size on VHOST_IOTLB_INVALIDATE Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 012/128] mm/page_alloc: correct start page when guard page debug is enabled Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 013/128] mm/migrate: fix do_pages_move for compat pointers Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 014/128] nfsd: lock_rename() needs both directories to live on the same fs Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 015/128] drm/i915/pmu: Check if pmu is closed before stopping event Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 016/128] vsock/virtio: factor our the code to initialize and delete VQs Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 017/128] vsock/virtio: add support for device suspend/resume Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 018/128] vsock/virtio: initialize the_virtio_vsock before using VQs Greg Kroah-Hartman
2023-11-06 13:02 ` [PATCH 5.15 019/128] drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper() Greg Kroah-Hartman
2023-11-06 13:03 ` Greg Kroah-Hartman [this message]
2023-11-06 13:03 ` [PATCH 5.15 021/128] r8169: fix the KCSAN reported data-race in rtl_tx() while reading tp->cur_tx Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 022/128] r8169: fix the KCSAN reported data-race in rtl_tx while reading TxDescArray[entry].opts1 Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 023/128] r8169: fix the KCSAN reported data race in rtl_rx while reading desc->opts1 Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 024/128] i40e: Fix I40E_FLAG_VF_VLAN_PRUNING value Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 025/128] treewide: Spelling fix in comment Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 026/128] igb: Fix potential memory leak in igb_add_ethtool_nfc_entry Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 027/128] neighbour: fix various data-races Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 028/128] igc: Fix ambiguity in the ethtool advertising Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 029/128] net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 030/128] net: usb: smsc95xx: Fix uninit-value access in smsc95xx_read_reg Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 031/128] r8152: Increase USB control msg timeout to 5000ms as per spec Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 032/128] r8152: Run the unload routine if we have errors during probe Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 033/128] r8152: Cancel hw_phy_work if we have an error in probe Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 034/128] r8152: Release firmware " Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 035/128] tcp: fix wrong RTO timeout when received SACK reneging Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 036/128] gtp: uapi: fix GTPA_MAX Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 037/128] gtp: fix fragmentation needed check with gso Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 038/128] i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 039/128] kasan: print the original fault addr when access invalid shadow Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 040/128] iio: exynos-adc: request second interupt only when touchscreen mode is used Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 041/128] iio: adc: xilinx-xadc: Dont clobber preset voltage/temperature thresholds Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 042/128] iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 043/128] i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 044/128] i2c: muxes: i2c-mux-gpmux: " Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 045/128] i2c: muxes: i2c-demux-pinctrl: " Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 046/128] i2c: stm32f7: Fix PEC handling in case of SMBUS transfers Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 047/128] i2c: aspeed: Fix i2c bus hang in slave read Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 048/128] tracing/kprobes: Fix the description of variable length arguments Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 049/128] misc: fastrpc: Clean buffers on remote invocation failures Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 050/128] nvmem: imx: correct nregs for i.MX6ULL Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 051/128] nvmem: imx: correct nregs for i.MX6SLL Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 052/128] nvmem: imx: correct nregs for i.MX6UL Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 053/128] perf/core: Fix potential NULL deref Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 054/128] sparc32: fix a braino in fault handling in csum_and_copy_..._user() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 055/128] clk: Sanitize possible_parent_show to Handle Return Value of of_clk_get_parent_name Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 056/128] iio: afe: rescale: reorder includes Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 057/128] iio: afe: rescale: expose scale processing function Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 058/128] iio: afe: rescale: add offset support Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 059/128] iio: afe: rescale: Accept only offset channels Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 060/128] gve: Fix GFP flags when allocing pages Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 061/128] x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 062/128] x86/mm: Simplify RESERVE_BRK() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 063/128] x86/mm: Fix RESERVE_BRK() for older binutils Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 064/128] ext4: add two helper functions extent_logical_end() and pa_logical_end() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 065/128] ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 066/128] ext4: avoid overlapping preallocations " Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 067/128] objtool/x86: add missing embedded_insn check Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 068/128] driver: platform: Add helper for safer setting of driver_override Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 069/128] rpmsg: Constify local variable in field store macro Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 070/128] rpmsg: Fix kfree() of static memory on setting driver_override Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 071/128] rpmsg: Fix calling device_lock() on non-initialized device Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 072/128] rpmsg: glink: Release driver_override Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 073/128] rpmsg: Fix possible refcount leak in rpmsg_register_device_override() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 074/128] x86: Fix .brk attribute in linker script Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 075/128] ASoC: simple-card: fixup asoc_simple_probe() error handling Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 076/128] net: sched: cls_u32: Fix allocation size in u32_init() Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 077/128] irqchip/riscv-intc: Mark all INTC nodes as initialized Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 078/128] irqchip/stm32-exti: add missing DT IRQ flag translation Greg Kroah-Hartman
2023-11-06 13:03 ` [PATCH 5.15 079/128] dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 080/128] powerpc/85xx: Fix math emulation exception Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 081/128] Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 082/128] fbdev: atyfb: only use ioremap_uc() on i386 and ia64 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 083/128] fs/ntfs3: Add ckeck in ni_update_parent() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 084/128] fs/ntfs3: Write immediately updated ntfs state Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 085/128] fs/ntfs3: Use kvmalloc instead of kmalloc(... __GFP_NOWARN) Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 086/128] fs/ntfs3: Fix possible NULL-ptr-deref in ni_readpage_cmpr() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 087/128] fs/ntfs3: Fix NULL pointer dereference on error in attr_allocate_frame() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 088/128] fs/ntfs3: Fix directory element type detection Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 089/128] fs/ntfs3: Avoid possible memory leak Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 090/128] spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 091/128] netfilter: nfnetlink_log: silence bogus compiler warning Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 092/128] ASoC: rt5650: fix the wrong result of key button Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 093/128] drm/ttm: Reorder sys manager cleanup step Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 094/128] fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 095/128] scsi: mpt3sas: Fix in error path Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 096/128] platform/mellanox: mlxbf-tmfifo: Fix a warning message Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 097/128] net: chelsio: cxgb4: add an error code check in t4_load_phy_fw Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 098/128] r8152: Check for unplug in rtl_phy_patch_request() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 099/128] r8152: Check for unplug in r8153b_ups_en() / r8153c_ups_en() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 100/128] powerpc/mm: Fix boot crash with FLATMEM Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 101/128] perf evlist: Add evlist__add_dummy_on_all_cpus() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 102/128] perf tools: Get rid of evlist__add_on_all_cpus() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 103/128] perf evlist: Avoid frequency mode for the dummy event Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 104/128] can: isotp: set max PDU size to 64 kByte Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 105/128] can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 106/128] can: isotp: check CAN address family in isotp_bind() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 107/128] can: isotp: handle wait_event_interruptible() return values Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 108/128] can: isotp: add local echo tx processing and tx without FC Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 109/128] can: isotp: isotp_bind(): do not validate unused address information Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 110/128] can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 111/128] drm/amd: Move helper for dynamic speed switch check out of smu13 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 112/128] drm/amd: Disable ASPM for VI w/ all Intel systems Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 113/128] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 114/128] usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 115/128] usb: typec: tcpm: Fix NULL pointer dereference in tcpm_pd_svdm() Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 116/128] usb: raw-gadget: properly handle interrupted requests Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 117/128] tty: n_gsm: fix race condition in status line change on dead connections Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 118/128] tty: 8250: Remove UC-257 and UC-431 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 119/128] tty: 8250: Add support for additional Brainboxes UC cards Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 120/128] tty: 8250: Add support for Brainboxes UP cards Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 121/128] tty: 8250: Add support for Intashield IS-100 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 122/128] tty: 8250: Fix port count of PX-257 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 123/128] tty: 8250: Fix up PX-803/PX-857 Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 124/128] tty: 8250: Add support for additional Brainboxes PX cards Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 125/128] tty: 8250: Add support for Intashield IX cards Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 126/128] tty: 8250: Add Brainboxes Oxford Semiconductor-based quirks Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 127/128] misc: pci_endpoint_test: Add deviceID for J721S2 PCIe EP device support Greg Kroah-Hartman
2023-11-06 13:04 ` [PATCH 5.15 128/128] ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection Greg Kroah-Hartman
2023-11-06 14:54 ` [PATCH 5.15 000/128] 5.15.138-rc1 review Harshit Mogalapalli
2023-11-06 17:08   ` Allen Pais
2023-11-06 17:42     ` Florian Fainelli
2023-11-07 15:33   ` Harshit Mogalapalli
2023-11-07 20:21   ` Greg Kroah-Hartman
2023-11-06 17:23 ` SeongJae Park
2023-11-07  8:56 ` Ron Economos
2023-11-07 11:43 ` Jon Hunter
2023-11-07 15:37 ` Shuah Khan
2023-11-07 17:15 ` Ricardo B. Marliere
2023-11-07 17:58 ` Naresh Kamboju
2023-11-07 18:55 ` Guenter Roeck

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=20231106130310.051086146@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=daniel.baluta@nxp.com \
    --cc=gehao@kylinos.cn \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=shawnguo@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).