stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Hulk Robot <hulkci@huawei.com>,
	YueHaibing <yuehaibing@huawei.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.14 108/115] packet: Fix error path in packet_init
Date: Wed, 15 May 2019 12:56:28 +0200	[thread overview]
Message-ID: <20190515090706.952441016@linuxfoundation.org> (raw)
In-Reply-To: <20190515090659.123121100@linuxfoundation.org>

From: YueHaibing <yuehaibing@huawei.com>

[ Upstream commit 36096f2f4fa05f7678bc87397665491700bae757 ]

kernel BUG at lib/list_debug.c:47!
invalid opcode: 0000 [#1
CPU: 0 PID: 12914 Comm: rmmod Tainted: G        W         5.1.0+ #47
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
RIP: 0010:__list_del_entry_valid+0x53/0x90
Code: 48 8b 32 48 39 fe 75 35 48 8b 50 08 48 39 f2 75 40 b8 01 00 00 00 5d c3 48
89 fe 48 89 c2 48 c7 c7 18 75 fe 82 e8 cb 34 78 ff <0f> 0b 48 89 fe 48 c7 c7 50 75 fe 82 e8 ba 34 78 ff 0f 0b 48 89 f2
RSP: 0018:ffffc90001c2fe40 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffffffffa0184000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff888237a17788 RDI: 00000000ffffffff
RBP: ffffc90001c2fe40 R08: 0000000000000000 R09: 0000000000000000
R10: ffffc90001c2fe10 R11: 0000000000000000 R12: 0000000000000000
R13: ffffc90001c2fe50 R14: ffffffffa0184000 R15: 0000000000000000
FS:  00007f3d83634540(0000) GS:ffff888237a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555c350ea818 CR3: 0000000231677000 CR4: 00000000000006f0
Call Trace:
 unregister_pernet_operations+0x34/0x120
 unregister_pernet_subsys+0x1c/0x30
 packet_exit+0x1c/0x369 [af_packet
 __x64_sys_delete_module+0x156/0x260
 ? lockdep_hardirqs_on+0x133/0x1b0
 ? do_syscall_64+0x12/0x1f0
 do_syscall_64+0x6e/0x1f0
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

When modprobe af_packet, register_pernet_subsys
fails and does a cleanup, ops->list is set to LIST_POISON1,
but the module init is considered to success, then while rmmod it,
BUG() is triggered in __list_del_entry_valid which is called from
unregister_pernet_subsys. This patch fix error handing path in
packet_init to avoid possilbe issue if some error occur.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/packet/af_packet.c |   25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -4629,14 +4629,29 @@ static void __exit packet_exit(void)
 
 static int __init packet_init(void)
 {
-	int rc = proto_register(&packet_proto, 0);
+	int rc;
 
-	if (rc != 0)
+	rc = proto_register(&packet_proto, 0);
+	if (rc)
 		goto out;
+	rc = sock_register(&packet_family_ops);
+	if (rc)
+		goto out_proto;
+	rc = register_pernet_subsys(&packet_net_ops);
+	if (rc)
+		goto out_sock;
+	rc = register_netdevice_notifier(&packet_netdev_notifier);
+	if (rc)
+		goto out_pernet;
 
-	sock_register(&packet_family_ops);
-	register_pernet_subsys(&packet_net_ops);
-	register_netdevice_notifier(&packet_netdev_notifier);
+	return 0;
+
+out_pernet:
+	unregister_pernet_subsys(&packet_net_ops);
+out_sock:
+	sock_unregister(PF_PACKET);
+out_proto:
+	proto_unregister(&packet_proto);
 out:
 	return rc;
 }



  parent reply	other threads:[~2019-05-15 11:51 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-15 10:54 [PATCH 4.14 000/115] 4.14.120-stable review Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 001/115] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 002/115] platform/x86: sony-laptop: Fix unintentional fall-through Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 003/115] platform/x86: thinkpad_acpi: Disable Bluetooth for some machines Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 004/115] hwmon: (pwm-fan) Disable PWM if fetching cooling data fails Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 005/115] kernfs: fix barrier usage in __kernfs_new_node() Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 006/115] USB: serial: fix unthrottle races Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 007/115] iio: adc: xilinx: fix potential use-after-free on remove Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 008/115] libnvdimm/namespace: Fix a potential NULL pointer dereference Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 009/115] HID: input: add mapping for Expose/Overview key Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 010/115] HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 011/115] HID: input: add mapping for "Toggle Display" key Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 012/115] libnvdimm/btt: Fix a kmemdup failure check Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 013/115] s390/dasd: Fix capacity calculation for large volumes Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 014/115] mac80211: fix unaligned access in mesh table hash function Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 015/115] mac80211: Increase MAX_MSG_LEN Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 016/115] mac80211: fix memory accounting with A-MSDU aggregation Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 017/115] nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 018/115] s390/3270: fix lockdep false positive on view->lock Greg Kroah-Hartman
2019-05-15 10:54 ` [PATCH 4.14 019/115] clocksource/drivers/oxnas: Fix OX820 compatible Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 020/115] mISDN: Check address length before reading address family Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 021/115] s390/pkey: add one more argument space for debug feature entry Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 022/115] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 023/115] KVM: fix spectrev1 gadgets Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 024/115] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 025/115] tools lib traceevent: Fix missing equality check for strcmp Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 026/115] mm: fix inactive list balancing between NUMA nodes and cgroups Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 027/115] init: initialize jump labels before command line option parsing Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 028/115] selftests: netfilter: check icmp pkttoobig errors are set as related Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 029/115] ipvs: do not schedule icmp errors from tunnels Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 030/115] netfilter: ctnetlink: dont use conntrack/expect object addresses as id Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 031/115] MIPS: perf: ath79: Fix perfcount IRQ assignment Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 032/115] s390: ctcm: fix ctcm_new_device error return code Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 033/115] drm/sun4i: Set device driver data at bind time for use in unbind Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 034/115] selftests/net: correct the return value for run_netsocktests Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 035/115] gpu: ipu-v3: dp: fix CSC handling Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 036/115] drm/imx: dont skip DP channel disable for background plane Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 037/115] spi: Micrel eth switch: declare missing of table Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 038/115] spi: ST ST95HF NFC: " Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 039/115] Input: synaptics-rmi4 - fix possible double free Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 040/115] sparc64: Export __node_distance Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 041/115] sparc64: Make corrupted user stacks more debuggable Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 042/115] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 043/115] bcache: correct dirty data statistics Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 044/115] ACPICA: AML interpreter: add region addresses in global list during initialization Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 045/115] IB/rxe: Revise the ib_wr_opcode enum Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 046/115] ima: open a new file instance if no read permissions Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 047/115] KVM: arm/arm64: Ensure only THP is candidate for adjustment Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 048/115] media: cec: make cec_get_edid_spa_location() an inline function Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 049/115] media: cec: integrate cec_validate_phys_addr() in cec-api.c Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 050/115] media: adv7604: when the EDID is cleared, unconfigure CEC as well Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 051/115] media: adv7842: " Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 052/115] fuse: fix possibly missed wake-up after abort Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 053/115] i2c: omap: Enable for ARCH_K3 Greg Kroah-Hartman
2019-05-15 11:28   ` Grygorii Strashko
2019-05-15 16:53     ` Vignesh Raghavendra
2019-05-15 17:06       ` Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 054/115] drm/i915: Disable LP3 watermarks on all SNB machines Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 055/115] media: ov5640: fix wrong binning value in exposure calculation Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 056/115] media: ov5640: fix auto controls values when switching to manual mode Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 057/115] net: dont keep lonely packets forever in the gro hash Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 058/115] tracing/fgraph: Fix set_graph_function from showing interrupts Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 059/115] drm/i915: Downgrade Gen9 Plane WM latency error Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 060/115] scsi: raid_attrs: fix unused variable warning Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 061/115] staging: olpc_dcon: add a missing dependency Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 062/115] net: stmmac: Move debugfs init/exit to ->probe()/->remove() Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 063/115] Btrfs: fix missing delayed iputs on unmount Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 064/115] x86/vdso: Pass --eh-frame-hdr to the linker Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 065/115] mm: introduce mm_[p4d|pud|pmd]_folded Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 066/115] arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 067/115] crypto: testmgr - add AES-CFB tests Greg Kroah-Hartman
2019-05-15 15:59   ` Jinpu Wang
2019-05-15 16:31     ` Greg Kroah-Hartman
2019-05-16  7:40       ` Jinpu Wang
2019-05-15 10:55 ` [PATCH 4.14 068/115] powerpc: remove old GCC version checks Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 069/115] leds: pwm: silently error out on EPROBE_DEFER Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 070/115] drm/rockchip: psr: do not dereference encoder before it is null checked Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 071/115] RDMA/vmw_pvrdma: Return the correct opcode when creating WR Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 072/115] arm64: dts: marvell: armada-ap806: reserve PSCI area Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 073/115] vt: always call notifier with the console lock held Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 074/115] devres: Align data[] to ARCH_KMALLOC_MINALIGN Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 075/115] xtensa: xtfpga.dtsi: fix dtc warnings about SPI Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 076/115] net_sched: fix two more memory leaks in cls_tcindex Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 077/115] gtp: change NET_UDP_TUNNEL dependency to select Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 078/115] ACPICA: Namespace: remove address node from global list after method termination Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.14 079/115] Input: elan_i2c - add hardware ID for multiple Lenovo laptops Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 080/115] netfilter: nf_tables: warn when expr implements only one of activate/deactivate Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 081/115] drm/rockchip: fix for mailbox read validation Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 082/115] cifs: fix memory leak in SMB2_read Greg Kroah-Hartman
2019-05-23  7:53   ` Lars Persson
2019-05-23  8:45     ` Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 083/115] x86/fpu: Dont export __kernel_fpu_{begin,end}() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 084/115] net: hns: Fix WARNING when hns modules installed Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 085/115] mm/memory.c: fix modifying of page protection by insert_pfn() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 086/115] net: fec: manage ahb clock in runtime pm Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 087/115] mlxsw: spectrum_switchdev: Add MDB entries in prepare phase Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 088/115] mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 089/115] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 090/115] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 091/115] NFC: nci: Add some bounds checking in nci_hci_cmd_received() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 092/115] nfc: nci: Potential off by one in ->pipes[] array Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 093/115] x86/kprobes: Avoid kretprobe recursion bug Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 094/115] cw1200: fix missing unlock on error in cw1200_hw_scan() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 095/115] mwl8k: Fix rate_idx underflow Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 096/115] rtlwifi: rtl8723ae: Fix missing break in switch statement Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 097/115] Dont jump to compute_result state from check_result state Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 098/115] powerpc/64s: Include cpu header Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 099/115] bonding: fix arp_validate toggling in active-backup mode Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 100/115] bridge: Fix error path for kobject_init_and_add() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 101/115] dpaa_eth: fix SG frame cleanup Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 102/115] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 103/115] ipv4: Fix raw socket lookup for local traffic Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 104/115] net: dsa: Fix error cleanup path in dsa_init_module Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 105/115] net: ethernet: stmmac: dwmac-sun8i: enable support of unicast filtering Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 106/115] net: seeq: fix crash caused by not set dev.parent Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 107/115] net: ucc_geth - fix Oops when changing number of buffers in the ring Greg Kroah-Hartman
2019-05-15 10:56 ` Greg Kroah-Hartman [this message]
2019-05-15 10:56 ` [PATCH 4.14 109/115] vlan: disable SIOCSHWTSTAMP in container Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 110/115] vrf: sit mtu should not be updated when vrf netdev is the link Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 111/115] tipc: fix hanging clients using poll with EPOLLOUT flag Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 112/115] drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 113/115] drivers/virt/fsl_hypervisor.c: prevent integer overflow " Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 114/115] powerpc/powernv/idle: Restore IAMR after idle Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.14 115/115] powerpc/booke64: set RI in default MSR Greg Kroah-Hartman
2019-05-15 16:26 ` [PATCH 4.14 000/115] 4.14.120-stable review Guenter Roeck
2019-05-15 16:42   ` Greg Kroah-Hartman
2019-05-15 18:07 ` kernelci.org bot
2019-05-15 18:17 ` Guenter Roeck
2019-05-15 18:24   ` Greg Kroah-Hartman
2019-05-15 18:37     ` Greg Kroah-Hartman
2019-05-16  1:57       ` Naresh Kamboju
2019-05-16  3:35 ` Guenter Roeck
2019-05-16 11:02 ` Jon Hunter
2019-05-16 14:05 ` shuah

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=20190515090706.952441016@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=hulkci@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=yuehaibing@huawei.com \
    /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).