* [linux-next:master 4258/5787] fs/cifsd/smbacl.c:786:6: warning: variable 'total_ace_size' set but not used
@ 2021-03-20 8:34 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-20 8:34 UTC (permalink / raw)
To: Namjae Jeon
Cc: kbuild-all, Linux Memory Management List, Sergey Senozhatsky,
Hyunchul Lee, Steve French
[-- Attachment #1: Type: text/plain, Size: 18897 bytes --]
Hi Namjae,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: f00397ee41c79b6155b9b44abd0055b2c0621349
commit: 001c10aa51b4deb76eb074442ad1eac6df042f97 [4258/5787] cifsd: add Kconfig and Makefile
config: h8300-randconfig-r006-20210320 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=001c10aa51b4deb76eb074442ad1eac6df042f97
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 001c10aa51b4deb76eb074442ad1eac6df042f97
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
fs/cifsd/smbacl.c: In function 'parse_sec_desc':
>> fs/cifsd/smbacl.c:786:6: warning: variable 'total_ace_size' set but not used [-Wunused-but-set-variable]
786 | int total_ace_size = 0, pntsd_type;
| ^~~~~~~~~~~~~~
--
fs/cifsd/smb2pdu.c: In function 'smb2_open':
>> fs/cifsd/smb2pdu.c:3285:26: warning: variable 'posix_ccontext' set but not used [-Wunused-but-set-variable]
3285 | struct create_context *posix_ccontext;
| ^~~~~~~~~~~~~~
--
fs/cifsd/smb_common.c:119: warning: Function parameter or member 'work' not described in 'ksmbd_verify_smb_message'
>> fs/cifsd/smb_common.c:119: warning: expecting prototype for check_message(). Prototype was for ksmbd_verify_smb_message() instead
>> fs/cifsd/smb_common.c:136: warning: expecting prototype for is_smb_request(). Prototype was for ksmbd_smb_request() instead
--
fs/cifsd/server.c:94: warning: Function parameter or member 'work' not described in 'check_conn_state'
fs/cifsd/server.c:94: warning: Excess function parameter 'ksmbd_work' description in 'check_conn_state'
fs/cifsd/server.c:258: warning: Function parameter or member 'wk' not described in 'handle_ksmbd_work'
fs/cifsd/server.c:258: warning: Excess function parameter 'ksmbd_work' description in 'handle_ksmbd_work'
>> fs/cifsd/server.c:612: warning: expecting prototype for exit_smb_server(). Prototype was for ksmbd_server_exit() instead
--
fs/cifsd/transport_tcp.c:184: warning: Function parameter or member 'client_sk' not described in 'ksmbd_tcp_new_connection'
fs/cifsd/transport_tcp.c:184: warning: Excess function parameter 'sock' description in 'ksmbd_tcp_new_connection'
fs/cifsd/transport_tcp.c:264: warning: Function parameter or member 'iface' not described in 'ksmbd_tcp_run_kthread'
>> fs/cifsd/transport_tcp.c:264: warning: expecting prototype for ksmbd_create_ksmbd_kthread(). Prototype was for ksmbd_tcp_run_kthread() instead
fs/cifsd/transport_tcp.c:398: warning: Function parameter or member 'iface' not described in 'create_socket'
--
fs/cifsd/oplock.c:34: warning: Function parameter or member 'work' not described in 'alloc_opinfo'
>> fs/cifsd/oplock.c:34: warning: expecting prototype for get_new_opinfo(). Prototype was for alloc_opinfo() instead
fs/cifsd/oplock.c:475: warning: Function parameter or member 'opinfo' not described in 'compare_guid_key'
>> fs/cifsd/oplock.c:475: warning: expecting prototype for find_opinfo(). Prototype was for compare_guid_key() instead
fs/cifsd/oplock.c:623: warning: Function parameter or member 'wk' not described in '__smb2_oplock_break_noti'
>> fs/cifsd/oplock.c:623: warning: expecting prototype for smb2_oplock_break_noti(). Prototype was for __smb2_oplock_break_noti() instead
>> fs/cifsd/oplock.c:697: warning: expecting prototype for smb2_oplock_break(). Prototype was for smb2_oplock_break_noti() instead
fs/cifsd/oplock.c:740: warning: Function parameter or member 'wk' not described in '__smb2_lease_break_noti'
fs/cifsd/oplock.c:740: warning: Excess function parameter 'work' description in '__smb2_lease_break_noti'
>> fs/cifsd/oplock.c:801: warning: expecting prototype for smb2_break_lease(). Prototype was for smb2_lease_break_noti() instead
fs/cifsd/oplock.c:1104: warning: Function parameter or member 'work' not described in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Function parameter or member 'req_op_level' not described in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Function parameter or member 'pid' not described in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Function parameter or member 'tid' not described in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Function parameter or member 'share_ret' not described in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Excess function parameter 'oplock' description in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Excess function parameter 'id' description in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Excess function parameter 'Tid' description in 'smb_grant_oplock'
fs/cifsd/oplock.c:1104: warning: Excess function parameter 'attr_only' description in 'smb_grant_oplock'
fs/cifsd/oplock.c:1232: warning: Function parameter or member 'is_trunc' not described in 'smb_break_all_write_oplock'
>> fs/cifsd/oplock.c:1232: warning: expecting prototype for smb_break_write_oplock(). Prototype was for smb_break_all_write_oplock() instead
fs/cifsd/oplock.c:1259: warning: Function parameter or member 'work' not described in 'smb_break_all_levII_oplock'
fs/cifsd/oplock.c:1259: warning: Excess function parameter 'conn' description in 'smb_break_all_levII_oplock'
fs/cifsd/oplock.c:1357: warning: Function parameter or member 'lease' not described in 'create_lease_buf'
fs/cifsd/oplock.c:1357: warning: Excess function parameter 'lreq' description in 'create_lease_buf'
fs/cifsd/oplock.c:1386: warning: Excess function parameter 'lreq' description in 'parse_lease_state'
fs/cifsd/oplock.c:1434: warning: Function parameter or member 'tag' not described in 'smb2_find_context_vals'
fs/cifsd/oplock.c:1434: warning: Excess function parameter 'str' description in 'smb2_find_context_vals'
>> fs/cifsd/oplock.c:1465: warning: expecting prototype for create_durable_buf(). Prototype was for create_durable_rsp_buf() instead
fs/cifsd/oplock.c:1488: warning: Function parameter or member 'fp' not described in 'create_durable_v2_rsp_buf'
>> fs/cifsd/oplock.c:1488: warning: expecting prototype for create_durable_buf(). Prototype was for create_durable_v2_rsp_buf() instead
fs/cifsd/oplock.c:1515: warning: Function parameter or member 'maximal_access' not described in 'create_mxac_rsp_buf'
>> fs/cifsd/oplock.c:1515: warning: expecting prototype for create_mxac_buf(). Prototype was for create_mxac_rsp_buf() instead
fs/cifsd/oplock.c:1541: warning: Function parameter or member 'file_id' not described in 'create_disk_id_rsp_buf'
fs/cifsd/oplock.c:1541: warning: Function parameter or member 'vol_id' not described in 'create_disk_id_rsp_buf'
>> fs/cifsd/oplock.c:1541: warning: expecting prototype for create_mxac_buf(). Prototype was for create_disk_id_rsp_buf() instead
fs/cifsd/oplock.c:1567: warning: Function parameter or member 'fp' not described in 'create_posix_rsp_buf'
>> fs/cifsd/oplock.c:1567: warning: expecting prototype for create_posix_buf(). Prototype was for create_posix_rsp_buf() instead
--
fs/cifsd/smb2pdu.c:97: warning: Function parameter or member 'work' not described in 'smb2_get_ksmbd_tcon'
fs/cifsd/smb2pdu.c:97: warning: Excess function parameter 'sess' description in 'smb2_get_ksmbd_tcon'
fs/cifsd/smb2pdu.c:97: warning: Excess function parameter 'tid' description in 'smb2_get_ksmbd_tcon'
fs/cifsd/smb2pdu.c:214: warning: Function parameter or member 'err' not described in 'set_smb2_rsp_status'
fs/cifsd/smb2pdu.c:647: warning: Function parameter or member 'share' not described in 'smb2_get_name'
fs/cifsd/smb2pdu.c:647: warning: Function parameter or member 'local_nls' not described in 'smb2_get_name'
fs/cifsd/smb2pdu.c:647: warning: Excess function parameter 'work' description in 'smb2_get_name'
fs/cifsd/smb2pdu.c:754: warning: Function parameter or member 'attribute' not described in 'smb2_get_dos_mode'
fs/cifsd/smb2pdu.c:1806: warning: Excess function parameter 'work' description in 'smb2_create_open_flags'
fs/cifsd/smb2pdu.c:4123: warning: Function parameter or member 'sess' not described in 'smb2_get_info_file_pipe'
fs/cifsd/smb2pdu.c:4123: warning: Function parameter or member 'req' not described in 'smb2_get_info_file_pipe'
fs/cifsd/smb2pdu.c:4123: warning: Function parameter or member 'rsp' not described in 'smb2_get_info_file_pipe'
>> fs/cifsd/smb2pdu.c:4123: warning: expecting prototype for smb2_info_file_pipe(). Prototype was for smb2_get_info_file_pipe() instead
fs/cifsd/smb2pdu.c:4172: warning: Function parameter or member 'fp' not described in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Function parameter or member 'req' not described in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Function parameter or member 'rsp' not described in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Function parameter or member 'rsp_org' not described in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Excess function parameter 'path' description in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Excess function parameter 'rq' description in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Excess function parameter 'resp' description in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4172: warning: Excess function parameter 'resp_org' description in 'smb2_get_ea'
fs/cifsd/smb2pdu.c:4774: warning: Function parameter or member 'req' not described in 'smb2_get_info_file'
fs/cifsd/smb2pdu.c:4774: warning: Function parameter or member 'rsp' not described in 'smb2_get_info_file'
fs/cifsd/smb2pdu.c:4774: warning: Function parameter or member 'rsp_org' not described in 'smb2_get_info_file'
fs/cifsd/smb2pdu.c:4915: warning: Function parameter or member 'req' not described in 'smb2_get_info_filesystem'
fs/cifsd/smb2pdu.c:4915: warning: Function parameter or member 'rsp' not described in 'smb2_get_info_filesystem'
fs/cifsd/smb2pdu.c:4915: warning: Function parameter or member 'rsp_org' not described in 'smb2_get_info_filesystem'
fs/cifsd/smb2pdu.c:5430: warning: Function parameter or member 'fp' not described in 'smb2_rename'
fs/cifsd/smb2pdu.c:5430: warning: Function parameter or member 'file_info' not described in 'smb2_rename'
fs/cifsd/smb2pdu.c:5430: warning: Function parameter or member 'local_nls' not described in 'smb2_rename'
fs/cifsd/smb2pdu.c:5430: warning: Excess function parameter 'filp' description in 'smb2_rename'
fs/cifsd/smb2pdu.c:5430: warning: Excess function parameter 'old_fid' description in 'smb2_rename'
fs/cifsd/smb2pdu.c:5560: warning: Function parameter or member 'share' not described in 'smb2_create_link'
fs/cifsd/smb2pdu.c:5560: warning: Function parameter or member 'file_info' not described in 'smb2_create_link'
fs/cifsd/smb2pdu.c:5560: warning: Function parameter or member 'local_nls' not described in 'smb2_create_link'
fs/cifsd/smb2pdu.c:5926: warning: Function parameter or member 'fp' not described in 'smb2_set_info_file'
fs/cifsd/smb2pdu.c:5926: warning: Function parameter or member 'info_class' not described in 'smb2_set_info_file'
fs/cifsd/smb2pdu.c:5926: warning: Function parameter or member 'buf' not described in 'smb2_set_info_file'
fs/cifsd/smb2pdu.c:5926: warning: Function parameter or member 'share' not described in 'smb2_set_info_file'
fs/cifsd/smb2pdu.c:8065: warning: Function parameter or member 'work' not described in 'smb2_notify'
fs/cifsd/smb2pdu.c:8065: warning: Excess function parameter 'ksmbd_work' description in 'smb2_notify'
fs/cifsd/smb2pdu.c:8089: warning: Function parameter or member 'command' not described in 'smb2_is_sign_req'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for CRYPTO_ARC4
Depends on CRYPTO && CRYPTO_USER_API_ENABLE_OBSOLETE
Selected by
- SMB_SERVER && NETWORK_FILESYSTEMS && INET
vim +/total_ace_size +786 fs/cifsd/smbacl.c
788b6f45c1d2ee Namjae Jeon 2021-03-16 776
788b6f45c1d2ee Namjae Jeon 2021-03-16 777 /* Convert CIFS ACL to POSIX form */
788b6f45c1d2ee Namjae Jeon 2021-03-16 778 int parse_sec_desc(struct smb_ntsd *pntsd, int acl_len,
788b6f45c1d2ee Namjae Jeon 2021-03-16 779 struct smb_fattr *fattr)
788b6f45c1d2ee Namjae Jeon 2021-03-16 780 {
788b6f45c1d2ee Namjae Jeon 2021-03-16 781 int rc = 0;
788b6f45c1d2ee Namjae Jeon 2021-03-16 782 struct smb_sid *owner_sid_ptr, *group_sid_ptr;
788b6f45c1d2ee Namjae Jeon 2021-03-16 783 struct smb_acl *dacl_ptr; /* no need for SACL ptr */
788b6f45c1d2ee Namjae Jeon 2021-03-16 784 char *end_of_acl = ((char *)pntsd) + acl_len;
788b6f45c1d2ee Namjae Jeon 2021-03-16 785 __u32 dacloffset;
788b6f45c1d2ee Namjae Jeon 2021-03-16 @786 int total_ace_size = 0, pntsd_type;
788b6f45c1d2ee Namjae Jeon 2021-03-16 787
788b6f45c1d2ee Namjae Jeon 2021-03-16 788 if (pntsd == NULL)
788b6f45c1d2ee Namjae Jeon 2021-03-16 789 return -EIO;
788b6f45c1d2ee Namjae Jeon 2021-03-16 790
788b6f45c1d2ee Namjae Jeon 2021-03-16 791 owner_sid_ptr = (struct smb_sid *)((char *)pntsd +
788b6f45c1d2ee Namjae Jeon 2021-03-16 792 le32_to_cpu(pntsd->osidoffset));
788b6f45c1d2ee Namjae Jeon 2021-03-16 793 group_sid_ptr = (struct smb_sid *)((char *)pntsd +
788b6f45c1d2ee Namjae Jeon 2021-03-16 794 le32_to_cpu(pntsd->gsidoffset));
788b6f45c1d2ee Namjae Jeon 2021-03-16 795 dacloffset = le32_to_cpu(pntsd->dacloffset);
788b6f45c1d2ee Namjae Jeon 2021-03-16 796 dacl_ptr = (struct smb_acl *)((char *)pntsd + dacloffset);
788b6f45c1d2ee Namjae Jeon 2021-03-16 797 ksmbd_debug(SMB,
788b6f45c1d2ee Namjae Jeon 2021-03-16 798 "revision %d type 0x%x ooffset 0x%x goffset 0x%x sacloffset 0x%x dacloffset 0x%x\n",
788b6f45c1d2ee Namjae Jeon 2021-03-16 799 pntsd->revision, pntsd->type, le32_to_cpu(pntsd->osidoffset),
788b6f45c1d2ee Namjae Jeon 2021-03-16 800 le32_to_cpu(pntsd->gsidoffset),
788b6f45c1d2ee Namjae Jeon 2021-03-16 801 le32_to_cpu(pntsd->sacloffset), dacloffset);
788b6f45c1d2ee Namjae Jeon 2021-03-16 802
788b6f45c1d2ee Namjae Jeon 2021-03-16 803 if (dacloffset && dacl_ptr)
788b6f45c1d2ee Namjae Jeon 2021-03-16 804 total_ace_size =
788b6f45c1d2ee Namjae Jeon 2021-03-16 805 le16_to_cpu(dacl_ptr->size) - sizeof(struct smb_acl);
788b6f45c1d2ee Namjae Jeon 2021-03-16 806
788b6f45c1d2ee Namjae Jeon 2021-03-16 807 pntsd_type = le16_to_cpu(pntsd->type);
788b6f45c1d2ee Namjae Jeon 2021-03-16 808
788b6f45c1d2ee Namjae Jeon 2021-03-16 809 if (!(pntsd_type & DACL_PRESENT)) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 810 ksmbd_debug(SMB, "DACL_PRESENT in DACL type is not set\n");
788b6f45c1d2ee Namjae Jeon 2021-03-16 811 return rc;
788b6f45c1d2ee Namjae Jeon 2021-03-16 812 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 813
788b6f45c1d2ee Namjae Jeon 2021-03-16 814 pntsd->type = cpu_to_le16(DACL_PRESENT);
788b6f45c1d2ee Namjae Jeon 2021-03-16 815
788b6f45c1d2ee Namjae Jeon 2021-03-16 816 if (pntsd->osidoffset) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 817 rc = parse_sid(owner_sid_ptr, end_of_acl);
788b6f45c1d2ee Namjae Jeon 2021-03-16 818 if (rc) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 819 ksmbd_err("%s: Error %d parsing Owner SID\n", __func__, rc);
788b6f45c1d2ee Namjae Jeon 2021-03-16 820 return rc;
788b6f45c1d2ee Namjae Jeon 2021-03-16 821 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 822
788b6f45c1d2ee Namjae Jeon 2021-03-16 823 rc = sid_to_id(owner_sid_ptr, SIDOWNER, fattr);
788b6f45c1d2ee Namjae Jeon 2021-03-16 824 if (rc) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 825 ksmbd_err("%s: Error %d mapping Owner SID to uid\n",
788b6f45c1d2ee Namjae Jeon 2021-03-16 826 __func__, rc);
788b6f45c1d2ee Namjae Jeon 2021-03-16 827 owner_sid_ptr = NULL;
788b6f45c1d2ee Namjae Jeon 2021-03-16 828 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 829 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 830
788b6f45c1d2ee Namjae Jeon 2021-03-16 831 if (pntsd->gsidoffset) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 832 rc = parse_sid(group_sid_ptr, end_of_acl);
788b6f45c1d2ee Namjae Jeon 2021-03-16 833 if (rc) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 834 ksmbd_err("%s: Error %d mapping Owner SID to gid\n",
788b6f45c1d2ee Namjae Jeon 2021-03-16 835 __func__, rc);
788b6f45c1d2ee Namjae Jeon 2021-03-16 836 return rc;
788b6f45c1d2ee Namjae Jeon 2021-03-16 837 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 838 rc = sid_to_id(group_sid_ptr, SIDUNIX_GROUP, fattr);
788b6f45c1d2ee Namjae Jeon 2021-03-16 839 if (rc) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 840 ksmbd_err("%s: Error %d mapping Group SID to gid\n",
788b6f45c1d2ee Namjae Jeon 2021-03-16 841 __func__, rc);
788b6f45c1d2ee Namjae Jeon 2021-03-16 842 group_sid_ptr = NULL;
788b6f45c1d2ee Namjae Jeon 2021-03-16 843 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 844 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 845
788b6f45c1d2ee Namjae Jeon 2021-03-16 846 if ((pntsd_type &
788b6f45c1d2ee Namjae Jeon 2021-03-16 847 (DACL_AUTO_INHERITED | DACL_AUTO_INHERIT_REQ)) ==
788b6f45c1d2ee Namjae Jeon 2021-03-16 848 (DACL_AUTO_INHERITED | DACL_AUTO_INHERIT_REQ))
788b6f45c1d2ee Namjae Jeon 2021-03-16 849 pntsd->type |= cpu_to_le16(DACL_AUTO_INHERITED);
788b6f45c1d2ee Namjae Jeon 2021-03-16 850 if (pntsd_type & DACL_PROTECTED)
788b6f45c1d2ee Namjae Jeon 2021-03-16 851 pntsd->type |= cpu_to_le16(DACL_PROTECTED);
788b6f45c1d2ee Namjae Jeon 2021-03-16 852
788b6f45c1d2ee Namjae Jeon 2021-03-16 853 if (dacloffset) {
788b6f45c1d2ee Namjae Jeon 2021-03-16 854 parse_dacl(dacl_ptr, end_of_acl, owner_sid_ptr, group_sid_ptr,
788b6f45c1d2ee Namjae Jeon 2021-03-16 855 fattr);
788b6f45c1d2ee Namjae Jeon 2021-03-16 856 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 857
788b6f45c1d2ee Namjae Jeon 2021-03-16 858 return 0;
788b6f45c1d2ee Namjae Jeon 2021-03-16 859 }
788b6f45c1d2ee Namjae Jeon 2021-03-16 860
:::::: The code at line 786 was first introduced by commit
:::::: 788b6f45c1d2eef909c296d775196bc6ec7dd63a cifsd: add server-side procedures for SMB3
:::::: TO: Namjae Jeon <namjae.jeon@samsung.com>
:::::: CC: Namjae Jeon <namjae.jeon@samsung.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31386 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-20 8:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-20 8:34 [linux-next:master 4258/5787] fs/cifsd/smbacl.c:786:6: warning: variable 'total_ace_size' set but not used kernel test robot
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).