X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-check;h=7c83fffee0a8d6f442e0b26b4fd87921d2d0a500;hb=f056e6cf2b9363163758f6ade386d954294b15f0;hp=5aaf64ee2a1f838d20a3a4974a1eca594d416736;hpb=2c6205cbeaea642932d46016c3b92dfecc634d6e;p=releases.git diff --git a/deblob-check b/deblob-check index 5aaf64ee2a1f..7c83fffee0a8 100755 --- a/deblob-check +++ b/deblob-check @@ -1,6 +1,6 @@ #! /bin/sh -# deblob-check version 2017-06-30 +# deblob-check version 2017-11-30 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva @@ -904,7 +904,7 @@ set_except () { blobna 'DEFAULT_FIRMWARE' blobna '\([.]\|->\)firmware[ \n]*=[^=]' blobna 'mod_firmware_load' # sound/ - blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\)[\\]\?["]' + blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\)[\\]\?["]' # Catch misdeblobbed fw extension. blobname '["][^" \t\n]*[/][*][(]DEBLOBBED[)][*][/][^"\\]' # Ideally we'd whitelist URLs that don't recommend non-Free @@ -4446,7 +4446,7 @@ set_except () { blobname 'pre-cal-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c accept '[\t]fw_file->firmware[ ]=[ ]ath10k_fetch_fw_file' drivers/net/wireless/ath/ath10k/core.c blobname 'brcmfmac4356-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c - blobname 'iwlwifi-9000\(-pu-a0-\(jf\|lc\)-a0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c + blobname 'iwlwifi-9000\(-pu-[ab]0-\(jf\|lc\)-[ab]0-\|-\|\)' drivers/net/wireless/intel/iwlwifi/iwl-9000.c blobname 'iwlwifi-9260-th-a0-\(jf\|lc\)-a0-' drivers/net/wireless/intel/iwlwifi/iwl-9000.c blobname 'mrvl[/]pcie8897_uapsta_a0\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h blobname 'mrvl[/]pcieuart8997_combo\(_v2\)\?\.bin' drivers/net/wireless/marvell/mwifiex/pcie.h @@ -4808,6 +4808,120 @@ set_except () { accept '[\t]stage->firmware[ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline/src/pipeline.c blobname 'rtlwifi[/]rtl8723bs_\(wowlan\|nic\)\.bin' drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c blobname 'rtl8723b[/]FW_\(NIC\|WoWLAN\)\.bin' drivers/staging/rtl8723bs/include/rtl8723b_hal.h + + # New in 4.13 + accept '[ ]*This[ ]driver[ ]requires[ ]a[ ]patch[ ]for[ ]firmware_class\.c[^\n]*[\n][ ]*request_firmware_nowait[ ]function' Documentation/dell_rbu.txt + accept '[\t][ ]d=["]m[ ]0[,]0[ ]0[,]1895[ ]4118[,]0[ ][-0-9, LZm]*z["]' Documentation/media/uapi/v4l/crop.svg + defsnc 'static[ ]const[ ]struct[ ]akcipher_testvec[ ]pkcs1pad_rsa_tv_template\[\][ ]=' crypto/testmgr.h + accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c + defsnc 'static[ ]const[ ]struct[ ]cpg_pll_config[ ]cpg_pll_configs\[8\][ ]__initconst[ ]=' drivers/clk/renesas/clk-rcar-gen2.c + blobname 'cnn55xx_se.fw' drivers/crypto/cavium/nitrox/nitrox_main.c + defsnc 'unsigned[ ]int[ ]dsgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.h + blobname '\(ifpp\|ipue\)\.bin' drivers/crypto/inside-secure/safexcel.c + blobname 'amdgpu[/]\(%s\|vega10\|raven\)_gpu_info\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_device.c + blobname 'amdgpu[/]raven_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]raven_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + blobname 'amdgpu[/]\(vega10\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amdgpu/sdma_v4_0.c + defsnc 'const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + blobname 'i915[/]cnl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c + defsnc '[\t]static[ ]const[ ]int[ ]dividers\[\][ ]=' drivers/gpu/drm/i915/intel_dpll_mgr.c + defsnc 'const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]u8[ ]full_fm_\(eu\|na\)_1p0\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]max2175_reg_map[ ]\(dab12\|fmeu1p2\|fmna[12]p0\)_map\[\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]u8[ ]adc_presets\[2\]\[23\][ ]=' drivers/media/i2c/max2175.c + defsnc 'static[ ]const[ ]struct[ ]ov13858_reg[ ]mode_\(4224x3136\|2112x\(1568\|1188\)\|1056x784\)_regs\[\][ ]=' drivers/media/i2c/ov13858.c + defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_\)\?setting_\(30\|15\)fps_\(VGA\(_640_480\)\?\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c + blobname 'qcom[/]venus-\(1\.8\|4\.2\)[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[)]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c + blobname 'mellanox[/]mlxsw_spectrum-\([0-9.]*\|["]\([ \t]*\|[\\][\n]\|__stringify[(]MLXSW_FWREV_\(MAJOR\|MINOR\|SUBMINOR\)[)]\|["].["]\)*["]\)\.mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + # This firmware file name is supplied by the user, + # but there's another in the same source file (above) that is hardcoded. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[)]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[49\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h + defsc 'static[ ]const[ ]u8[ ]iwl_ext_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c + blobname '\(rsi[/]\)\?rs9113_wlan_qspi\.rps' drivers/net/wireless/rsi/rsi_common.h + defsnc '[}][ ]hsfreq_map\[\][ ]=' drivers/staging/media/imx/imx6-mipi-csi2.c + defsnc 'static[ ]const[ ]u16[ ]avc_thr_db2reg\[97\][ ]=' sound/soc/codecs/sgtl5000.c + blob 'SD8688[ ]firmware[\n]=*[\n]*Images:[\n]*\(-[ ][/]lib[/]firmware[^\n]*[\n]*\)*The[ ]images[^:]*:[\n]*[^\n]*[/]linux-firmware[^\n]*' Documentation/btmrvl.txt + blobname '%s-%s-%d\.bin' drivers/net/wireless/ath/ath10k/core.c + blobname 'wil6210_\(sparrow_plus_\)\?ftm\.fw' drivers/net/wireless/ath/wil6210/wil6210.h + blobname 'brcmfmac43430a0-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'iwlwifi-9000-pu-a0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c + blobname 'iwlwifi-QuIcp-z0-hrcdb-a0-' drivers/net/wireless/intel/iwlwifi/iwl-a000.c + blobname 'qtn[/]fmac_qsr10g\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h + blobname 'gsl1680-\(gp-electronic-t701\|pipo-w2s\)\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3692-pov-mobii-wintab-p800w\.fw' drivers/platform/x86/silead_dmi.c + blobname 'gsl3670-itworks-tw891\.fw' drivers/platform/x86/silead_dmi.c + defsnc 'struct[ ]phm_fuses_default[ ]vega10_fuses_default\[\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/pp_overdriver.c + blobname 'a530_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c + accept '[\t]\(complete\|init_completion\|[\t]wait_for_completion\)[(][&]bus->request_firmware_complete[)]' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c + blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c + blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + + # New in 4.14 (up to rc5). + blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'netronome[/]\(serial-%pMF-%02hhx-%02hhx\|pci-%s\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c + blobname 'rt5514_dsp_fw3\.bin' sound/soc/codecs/rt5514.h + blobname 'intel[/]dsp_fw_cnl\.bin' sound/soc/intel/skylake/skl.c + initnc '__aes_arm\(64\)\?_inverse_sbox:[\n][\t]\.byte[ \t]*' arch/arm/crypto/aes-cipher-core.S + defsnc 'static[ ]const[ ]struct[ ]hsdk_pll_cfg[ ]asdt_pll_cfg\[\][ ]=' drivers/clk/clk-hsdk-pll.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]d1cpre_div_table\[\][ ]=' drivers/clk/clk-stm32h7.c + defsnc 'static[ ]const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + defsnc '[\t]static[ ]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsc 'static[ ]const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity_avail\[\][ ]=' drivers/iio/proximity/srf08.c + defsc 'static[ ]const[ ]struct[ ]slookup[ ]\(lnagain_\(nf\|iip3\)\|gain_\(rfagc\|channel_agc_\(nf\|iip3\)\)\)_lookup\[\][ ]=' drivers/media/dvb-frontends/stv6111.c + defsnc 'static[ ]const[ ]struct[ ]ov5670_reg[ ]mode_\(2592x1944\|1296x972\|648x486\|2560x1440\|1280x720\|640x360\)_regs\[\][ ]=' drivers/media/i2c/ov5670.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(gnd\|dram\|pci\|pflash\)_351[26]_pins\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]pflash_351[26]_pins_extended\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsnc 'static[ ]const[ ]u16[ ]db_invert_table\[12\]\[8\][ ]=' drivers/staging/rtlwifi/phydm/phydm.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8723d\[CCK_TABLE_SIZE_8723D\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8710b\[CCK_TABLE_SIZE_8710B\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsnc 'static[ ]u32[ ]array_mp_8822b_\(agc_tab\|phy_reg\(_pg\)\?\|mac_reg\|radio[ab]\)\[\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c + defsnc 'static[ ]u8[ ]delta_swing_index_mp_5g[ba]_[np]_txpwrtrack_\(type[01246789]_\|type3_type5_\)\?8822b[\n\t ]*\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3328_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress.c + defsnc 'static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]LL_defaultDTable\[[(]1[ ][<][<][ ]LL_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]ML_defaultDTable\[[(]1[ ][<][<][ ]ML_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]OF_defaultDTable\[[(]1[ ][<][<][ ]OF_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc '[\t]static[ ]const[ ]U32[ ][LM]L_base\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc 'static[ ]const[ ]U32[ ][LM]L_bits\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]S16[ ][LM]L_defaultNorm\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs43130_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]pcm_ch_\(en\|dis\)_seq\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]cs43130_clk_gen[ ]cs43130_\(16\|32\|48\|64\)_clk_gen\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt274_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt274.c + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept '[#]define[ ]TEST_FIRMWARE_NAME[\t]["]test-firmware\.bin["]' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][ ]will[ ]be[ ]used[ ]instead' lib/test_firmware.c + accept '[ ][*][\t]of[ ]the[ ]request_firmware[*][(][)][ ]calls[ ]used[ ]in[ ]their[ ]tests' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][,][ ]otherwise[ ]request_firmware[(][)]' lib/test_firmware.c + accept '[\t]*test_fw_config->req_firmware[ ]=[ ]\(test_fw_config->sync_direct[ ][?][\n][ \t]*request_firmware_direct[ ][:][\n][ \t]*\)\?request_firmware[;]' lib/test_firmware.c + accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c + accept '[\t]release_firmware[(]test_firmware[)][;][\n][\t]test_firmware[ ]=[ ]NULL[;][\n][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[^)\n]*[\n][ \t]*NULL[,][ ]trigger_async_request_cb[)]' lib/test_firmware.c + accept '[#][ ]name:[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]*test_\(batched_\)\?request_firmware\(_direct\|_nowait_\(uevent\|custom\)\)\?\(_nofile\)\?\([(][)]\|[ ][$]i\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]\(uevent=\(true\|false\)\)\?[)][ ]\(nofile[ ]\)\?try[ ]#[$]1:[ ]["]' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\(config_set_name\|test_wait_and_cancel_custom_load\)[ ]nope-test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]%s_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v10_0.c + blobname 'lantiq[/]xrx[23]00_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/soc/lantiq/gphy.c + blobname 'rtlwifi[/]rtl8822befw\.bin' drivers/staging/rtlwifi/rtl8822be/sw.c + # This loads a file named by the user. + accept '[\t]const[ ]char[ ][*]name[ ]=[ ]i915\.vbt_firmware[;][\n][\t]int[ ]ret[;][\n][\n][\t]if[ ][(]!name[ ][|][|][ ][!][*]name[)][\n][\t][\t]return[ ]-ENOENT[;][\n][\n][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/gpu/drm/i915/intel_opregion.c + # New in 4.14-rc6. + defsnc '[\t]static[ ]const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c + # New in 4.14.3. When using python for deblobbing (default), this + # pattern appears too late. An earlier pattern that matches + # iwlwifi-9000 alone and starts with 'iwlwifi-9000\(' needed + # adjusting as well. + blobname 'iwlwifi-9000-pu-b0-jf-b0-' drivers/net/wireless/intel/iwlwifi/cfg/9000.c ;; */*freedo*.patch | */*logo*.patch)