staging: ks7010: change ETHER_HDR_SIZE definition to use the size of struct ether_hdr
This commit changes ETHER_HDR_SIZE definition which is a hardcoded
number using the size of the structure ether_hdr which is the one
for what this definition has been created. This improves readability
and makes clear the intention of this definition along the code.
staging: ks7010: remove two redefined defines in eap_packet.h header
This commit removes GENERIC_INFO_ELEM and RSN_INFO_ELEM definitions
from eap_packet.h header file which are not being used at all.
These two are also defined in the ks_wlan_net.c source file as
GENERIC_INFO_ELEM_ID and RSN_INFO_ELEM_ID with the same values.
staging: ks7010: remove not used enum values from eap_packet.h header
This commit removes not used at all enum values from eap_packet.h
header file. This values are defined in the kernel ieee80211.h
header and the only one that is being used in ks_wlan_net.c source
which is WLAN_REASON_MIC_FAILURE is being used from this header.
Gustavo A. R. Silva [Thu, 12 Apr 2018 16:23:51 +0000 (11:23 -0500)]
staging: ks7010_sdio: fix NULL pointer dereference and memory leak
priv is being explicitly dereferenced when it is still null, when
jumping to goto label err_free_netdev, before it is properly
updated with a valid memory address.
Also, when this happens, memory allocated for netdev at line 854:
netdev = alloc_etherdev(sizeof(*priv)) is not being free'd before
return, hence there is a memory leak.
The current code looks a bit too complicated and can be replaced
by just directly freeing netdev before return.
Notice that card->priv = NULL isn't required because the next thing
we do to card is kfree(card).
Addresses-Coverity-ID: 1467844 ("Explicit null dereferenced") Suggested-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jia-Ju Bai [Tue, 10 Apr 2018 08:58:54 +0000 (16:58 +0800)]
staging: ks7010: Replace mdelay with usleep_range in ks7010_upload_firmware
ks7010_upload_firmware() is never called in atomic context.
The call chain ending up at ks7010_upload_firmware() is:
[1] ks7010_upload_firmware() <- ks7010_sdio_probe()
ks7010_sdio_probe() is set as ".probe" in struct sdio_driver.
This function is not called in atomic context.
Despite never getting called from atomic context, ks7010_upload_firmware()
calls mdelay() to busily wait.
This is not necessary and can be replaced with usleep_range() to
avoid busy waiting.
This is found by a static analysis tool named DCNS written by myself.
And I also manually check it.
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: ks7010: ks7010: factor out firmware copy process into ks7010_copy_firmware
This commit extracts firmware copy process into a new function
ks7010_copy_firmware. Because rom_buf is only needed for this
process, memory request for it has been also moved to this new
function so the error handling label release_host_and_free has
been renamed to release_host into ks7010_upload_firmware original
function.
staging: ks7010: fix label to jump to in error case
This commit fixs the label to jump to when in case
an error occurs disabling interrupts. At this point
of the code sdio_enable_func() function has been
successfully called.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:52 +0000 (23:08 -0700)]
staging: ks7010: Change 'device_open_status' to a bool.
The 'device_open_status' member of 'struct ks_wlan_private' is only
ever set to zero or one, so it makes more sense for it to be a bool
instead of an int.
All of the net_device_ops callbacks are named after their counterparts
in the kernel's 'struct net_device_ops', except
ks_wlan_set_multicast_list(). Rename it to ks_wlan_set_rx_mode() for
greater consistency.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:47 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct michael_mic_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct michael_mic_t' with 'struct michael_mic'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:46 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct wps_status_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct wps_status_t' with 'struct wps_status'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:45 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct pmk_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct pmk_t' with 'struct pmk'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:44 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct pmk_list_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct pmk_list_t' with 'struct pmk_list'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:43 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct wpa_status_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct wpa_status_t' with 'struct wpa_status'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:42 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct mic_failure_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct mic_failure_t' with 'struct mic_failure'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:41 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct wpa_key_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct wpa_key_t' with 'struct wpa_key'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:40 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct scan_ext_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct scan_ext_t' with 'struct scan_ext'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:39 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct sleep_status_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct sleep_status_t' with 'struct sleep_status'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:38 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct power_save_status_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct power_save_status_t' with 'struct
power_save_status'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:37 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct local_eeprom_sum_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct local_eeprom_sum_t' with 'struct
local_eeprom_sum'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:36 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct local_gain_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct local_gain_t' with 'struct local_gain'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:35 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct local_aplist_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct local_aplist_t' with 'struct local_aplist'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:34 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct local_ap_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct local_ap_t' with 'struct local_ap'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:33 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct wps_ie_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct wps_ie_t' with 'struct wps_ie'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:32 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct rsn_ie_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct rsn_ie_t' with 'struct rsn_ie'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:31 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostt_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostt_t' with 'struct hostt'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:29 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_mic_failure_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_mic_failure_request_t' with 'struct
hostif_mic_failure_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:27 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_sleep_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_sleep_request_t' with 'struct
hostif_sleep_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:25 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_phy_information_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_phy_information_request_t' with 'struct
hostif_phy_information_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:23 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_bss_scan_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_bss_scan_request_t' with 'struct
hostif_bss_scan_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:21 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct association_response_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct association_response_t' with 'struct
association_response'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:20 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct association_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct association_request_t' with 'struct
association_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:17 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_adhoc_set2_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_adhoc_set2_request_t' with 'struct
hostif_adhoc_set2_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:16 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_adhoc_set_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_adhoc_set_request_t' with 'struct
hostif_adhoc_set_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:14 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_infrastructure_set_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_infrastructure_set_request_t' with
'struct hostif_infrastructure_set_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:12 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_ps_adhoc_set_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_ps_adhoc_set_request_t' with 'struct
hostif_ps_adhoc_set_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:11 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_request_t' with 'struct hostif_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:09 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_stop_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_stop_request_t' with 'struct
hostif_stop_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:07 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct link_ap_info_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct link_ap_info_t' with 'struct link_ap_info'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:06 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct ap_info_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct ap_info_t' with 'struct ap_info'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:05 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct rate_set16_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct rate_set16_t' with 'struct rate_set16'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:02 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct ibss_parms_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct ibss_parms_t' with 'struct ibss_parms'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:01 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct cf_parms_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct cf_parms_t' with 'struct cf_parms'.
Quytelda Kahja [Sat, 31 Mar 2018 06:08:00 +0000 (23:08 -0700)]
staging: ks7010: Remove trailing _t from 'struct ds_parms_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct ds_parms_t' with 'struct ds_parms'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:59 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct fh_parms_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct fh_parms_t' with 'struct fh_parms'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:58 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct rate_set8_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct rate_set8_t' with 'struct rate_set8'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:57 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct ssid_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct ssid_t' with 'struct ssid'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:55 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_start_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_start_request_t' with 'struct
hostif_start_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:53 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_power_mgmt_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_power_mgmt_request_t' with 'struct
hostif_power_mgmt_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:49 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_mib_value_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_mib_value_t' with 'struct
hostif_mib_value'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:48 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_mib_get_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_mib_get_request_t' with 'struct
hostif_mib_get_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:47 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct channel_list_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct channel_list_t' with 'struct channel_list'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:45 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct hostif_data_request_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct hostif_data_request_t' with 'struct
hostif_data_request'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:44 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct pmk_cache_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct pmk_cache_t' with 'struct pmk_cache'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:43 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct rsn_mode_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct rsn_mode_t' with 'struct rsn_mode'.
Quytelda Kahja [Sat, 31 Mar 2018 06:07:42 +0000 (23:07 -0700)]
staging: ks7010: Remove trailing _t from 'struct wpa_suite_t'.
The "_t" suffix is not needed for structure names in this driver, and is a
reflection of an older typedef system that is no longer in place. Replace
all occurences of 'struct wpa_suite_t' with 'struct wpa_suite'.
Razvan Stefanescu [Wed, 28 Mar 2018 10:50:20 +0000 (05:50 -0500)]
staging: fsl-dpaa2/ethsw: Fix tag control information value overwrite
The tag control information (TCI) part of the VLAN header contains several
fields, including PCP (priority code point) and PVID (port VLAN id).
Current implementation uses function ethsw_port_set_tci() to set the PVID
value and mistakenly overwrites the rest of the TCI fields with 0,
including PCP which by default has a value of 7.
Fix this by adding support to retrieve TCI set in hardware. Read existing
value and only updated the PVID fields, leaving others unchanged.
staging: emxx_udc: Change platform dependency to ARCH_RENESAS
Emma Mobile is a Renesas ARM SoC. Since commit 9b5ba0df4ea4f940 ("ARM:
shmobile: Introduce ARCH_RENESAS") is ARCH_RENESAS a more appropriate
platform dependency than the legacy ARCH_SHMOBILE, hence use the
former.
This will allow to drop ARCH_SHMOBILE on ARM in the near future.
Merge tag 'for-4.17-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull more btrfs updates from David Sterba:
"We have queued a few more fixes (error handling, log replay,
softlockup) and the rest is SPDX updates that touche almost all files
so the diffstat is long"
* tag 'for-4.17-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
btrfs: Only check first key for committed tree blocks
btrfs: add SPDX header to Kconfig
btrfs: replace GPL boilerplate by SPDX -- sources
btrfs: replace GPL boilerplate by SPDX -- headers
Btrfs: fix loss of prealloc extents past i_size after fsync log replay
Btrfs: clean up resources during umount after trans is aborted
btrfs: Fix possible softlock on single core machines
Btrfs: bail out on error during replay_dir_deletes
Btrfs: fix NULL pointer dereference in log_dir_items
Merge tag '4.17-rc1SMB3-Fixes' of git://git.samba.org/sfrench/cifs-2.6
Pull cifs fixes from Steve French:
"SMB3 fixes, a few for stable, and some important cleanup work from
Ronnie of the smb3 transport code"
* tag '4.17-rc1SMB3-Fixes' of git://git.samba.org/sfrench/cifs-2.6:
cifs: change validate_buf to validate_iov
cifs: remove rfc1002 hardcoded constants from cifs_discard_remaining_data()
cifs: Change SMB2_open to return an iov for the error parameter
cifs: add resp_buf_size to the mid_q_entry structure
smb3.11: replace a 4 with server->vals->header_preamble_size
cifs: replace a 4 with server->vals->header_preamble_size
cifs: add pdu_size to the TCP_Server_Info structure
SMB311: Improve checking of negotiate security contexts
SMB3: Fix length checking of SMB3.11 negotiate request
CIFS: add ONCE flag for cifs_dbg type
cifs: Use ULL suffix for 64-bit constant
SMB3: Log at least once if tree connect fails during reconnect
cifs: smb2pdu: Fix potential NULL pointer dereference
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"This is a set of minor (and safe changes) that didn't make the initial
pull request plus some bug fixes.
The status handling code is actually a running regression from the
previous merge window which had an incomplete fix (now reverted) and
most of the remaining bug fixes are for problems older than the
current merge window"
[ Side note: this merge also takes the base kernel git repository to 6+
million objects for the first time. Technically we hit it a couple of
merges ago already if you count all the tag objects, but now it
reaches 6M+ objects reachable from HEAD.
I was joking around that that's when I should switch to 5.0, because
3.0 happened at the 2M mark, and 4.0 happened at 4M objects. But
probably not, even if numerology is about as good a reason as any.
- Linus ]
* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: devinfo: Add Microsoft iSCSI target to 1024 sector blacklist
scsi: cxgb4i: silence overflow warning in t4_uld_rx_handler()
scsi: dpt_i2o: Use after free in I2ORESETCMD ioctl
scsi: core: Make scsi_result_to_blk_status() recognize CONDITION MET
scsi: core: Rename __scsi_error_from_host_byte() into scsi_result_to_blk_status()
Revert "scsi: core: return BLK_STS_OK for DID_OK in __scsi_error_from_host_byte()"
scsi: aacraid: Insure command thread is not recursively stopped
scsi: qla2xxx: Correct setting of SAM_STAT_CHECK_CONDITION
scsi: qla2xxx: correctly shift host byte
scsi: qla2xxx: Fix race condition between iocb timeout and initialisation
scsi: qla2xxx: Avoid double completion of abort command
scsi: qla2xxx: Fix small memory leak in qla2x00_probe_one on probe failure
scsi: scsi_dh: Don't look for NULL devices handlers by name
scsi: core: remove redundant assignment to shost->use_blk_mq
Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull more Kbuild updates from Masahiro Yamada:
- pass HOSTLDFLAGS when compiling single .c host programs
- build genksyms lexer and parser files instead of using shipped
versions
- rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
- let the top .gitignore globally ignore artifacts generated by flex,
bison, and asn1_compiler
- let the top Makefile globally clean artifacts generated by flex,
bison, and asn1_compiler
- use safer .SECONDARY marker instead of .PRECIOUS to prevent
intermediate files from being removed
- support -fmacro-prefix-map option to make __FILE__ a relative path
- fix # escaping to prepare for the future GNU Make release
- clean up deb-pkg by using debian tools instead of handrolled
source/changes generation
- improve rpm-pkg portability by supporting kernel-install as a
fallback of new-kernel-pkg
- extend Kconfig listnewconfig target to provide more information
* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kconfig: extend output of 'listnewconfig'
kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
Kbuild: fix # escaping in .cmd files for future Make
kbuild: deb-pkg: split generating packaging and build
kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
kbuild: rename *-asn1.[ch] to *.asn1.[ch]
kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
.gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
kbuild: add %.dtb.S and %.dtb to 'targets' automatically
kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
genksyms: generate lexer and parser during build instead of shipping
kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
.gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
kbuild: use HOSTLDFLAGS for single .c executables
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Thomas Gleixner:
"A set of fixes and updates for x86:
- Address a swiotlb regression which was caused by the recent DMA
rework and made driver fail because dma_direct_supported() returned
false
- Fix a signedness bug in the APIC ID validation which caused invalid
APIC IDs to be detected as valid thereby bloating the CPU possible
space.
- Fix inconsisten config dependcy/select magic for the MFD_CS5535
driver.
- Fix a corruption of the physical address space bits when encryption
has reduced the address space and late cpuinfo updates overwrite
the reduced bit information with the original value.
- Dominiks syscall rework which consolidates the architecture
specific syscall functions so all syscalls can be wrapped with the
same macros. This allows to switch x86/64 to struct pt_regs based
syscalls. Extend the clearing of user space controlled registers in
the entry patch to the lower registers"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/apic: Fix signedness bug in APIC ID validity checks
x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment corruption
x86/olpc: Fix inconsistent MFD_CS5535 configuration
swiotlb: Use dma_direct_supported() for swiotlb_ops
syscalls/x86: Adapt syscall_wrapper.h to the new syscall stub naming convention
syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()
syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
syscalls/core, syscalls/x86: Clean up syscall stub naming convention
syscalls/x86: Extend register clearing on syscall entry to lower registers
syscalls/x86: Unconditionally enable 'struct pt_regs' based syscalls on x86_64
syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32
syscalls/core: Prepare CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y for compat syscalls
syscalls/x86: Use 'struct pt_regs' based syscall calling convention for 64-bit syscalls
syscalls/core: Introduce CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
x86/syscalls: Don't pointlessly reload the system call number
x86/mm: Fix documentation of module mapping range with 4-level paging
x86/cpuid: Switch to 'static const' specifier
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 pti updates from Thomas Gleixner:
"Another series of PTI related changes:
- Remove the manual stack switch for user entries from the idtentry
code. This debloats entry by 5k+ bytes of text.
- Use the proper types for the asm/bootparam.h defines to prevent
user space compile errors.
- Use PAGE_GLOBAL for !PCID systems to gain back performance
- Prevent setting of huge PUD/PMD entries when the entries are not
leaf entries otherwise the entries to which the PUD/PMD points to
and are populated get lost"
* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/pgtable: Don't set huge PUD/PMD on non-leaf entries
x86/pti: Leave kernel text global for !PCID
x86/pti: Never implicitly clear _PAGE_GLOBAL for kernel image
x86/pti: Enable global pages for shared areas
x86/mm: Do not forbid _PAGE_RW before init for __ro_after_init
x86/mm: Comment _PAGE_GLOBAL mystery
x86/mm: Remove extra filtering in pageattr code
x86/mm: Do not auto-massage page protections
x86/espfix: Document use of _PAGE_GLOBAL
x86/mm: Introduce "default" kernel PTE mask
x86/mm: Undo double _PAGE_PSE clearing
x86/mm: Factor out pageattr _PAGE_GLOBAL setting
x86/entry/64: Drop idtentry's manual stack switch for user entries
x86/uapi: Fix asm/bootparam.h userspace compilation errors