Commit Graph

3384 Commits

Author SHA1 Message Date
Yonghua Huang
b51b89807f dm: close filepointer before exiting acrn_load_elf()
In acrn_load_elf(), file pointer 'fp' is kept in
 open state before exiting if 'load_elf32()' is executed,
 this patch is to fix this bug.

Tracked-On: #4085
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
2019-11-18 10:40:02 +08:00
Gao Junhao
84c3ee21e4 dm: modify DIR handler reference postion
DIR handler is referenced after release, need to be adjusted before
released.

Tracked-On: #4084
Signed-off-by: Gao Junhao <junhao.gao@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-11-18 10:40:02 +08:00
Junhao Gao
4baccdcebd dm: reduce potential crash caused by LIST_FOREACH
When removing node in list, list_foreach_safe will be safer than
LIST_FOREACH.

Tracked-On: #4083
Signed-off-by: Junhao Gao <junhao.gao@intel.com>
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-11-18 10:40:02 +08:00
Yonghua Huang
2e054f6c48 hv: fix error debug message in hcall_set_callback_vector
this patch is to fix error debug message
 for invalid 'param' case, there is no string
 variable for '%s' output, which will potenially
 trigger hypervisor crash as it may access random
 memroy address and trigger SMAP violation.

Tracked-On: #4092
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
2019-11-18 10:40:02 +08:00
Yonghua Huang
6199e65341 dm: validate the input in 'pci_emul_mem_handler()'
checking the inputs explicitly instead of using Assert.

Tracked-On: #4003
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Reviewed-by: Shuo Liu <shuo.a.liu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-11-06 16:33:25 +08:00
Tianhua Sun
749556ef12 hv: fix symbols not stripped from release binaries
In release environment, binary files must be stripped in
order to remove debugging code sections and symbol information
that aid attackers in the process of disassembly and reverse
engineering.
Use '-s' linking option to remove symbol table and relocation
information from release binaries.

Tracked-On: #3427
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
2019-07-19 16:39:36 +08:00
Tianhua Sun
5530fc8f36 efi-stub: update string operation in efi-stub
Remove unsafe API in efi-stub
1, use Strnlen instead of StrLen except the parameter
   is a static string.
2, strlen() only work on static strings.

Tracked-On: #3276
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
2019-07-19 16:39:20 +08:00
Tianhua Sun
d6f7288580 hv: fix some potential array overflow risk
'pcpu_id' should be less than CONFIG_MAX_PCPU_NUM,
else 'per_cpu_data' will overflow. This commit fixes
this potential overflow issue.

Tracked-On: #3397
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
2019-07-19 16:39:01 +08:00
Tianhua Sun
2e7171d616 dm: fix variable argument list read without ending with va_end
va_end() was not getting called under certain condition
after the va_start() function call taking the va_list.

Tracked-On: #3396
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
2019-07-19 16:38:42 +08:00
Tianhua Sun
1394758d69 tools: fix variable argument list read without ending with va_end
va_end() was not getting called under certain condition
after the va_start() function call taking the va_list

Tracked-On: #3396
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Acked-by: Gang Chen <gang.c.chen@intel.com>
2019-07-19 16:38:24 +08:00
Tianhua Sun
bc90db46fc dm: fix some possible memory leak
free memory allocated by strdup()

Tracked-On: #3395
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Reviewed-by: Yonghua Huang <yonghua.huang@intel.com>
2019-07-19 16:37:52 +08:00
Tianhua Sun
0c0371fc9e dm: fix some potential memory leaks
This patch is to fix some potential memory leak issues

1, free mrp if the mmio_rb_lookup() function return 0;
2, free memory allocated by strdup in some error case handling.

Tracked-On: #3277
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-07-19 16:37:33 +08:00
Tianhua Sun
b65489c27d dm: use strnlen to replace strlen
Replace strlen function with strnlen function in DM

Tracked-On: #3276
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-07-19 16:37:16 +08:00
Tianhua Sun
5ced5fe77f dm: use strncpy to replace strcpy
Use strncpy instead of strcpy to avoid buf overflow.
Fix strncpy null-terminated issues.

Tracked-On: #3245
Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-07-19 16:36:59 +08:00
Jack Ren
3f2dde4ee5 version: v1.0
Signed-off-by: Jack Ren <jack.ren@intel.com>
2019-05-09 13:28:18 +08:00
ruix.li
9cdb5e959c doc: release note v1.0, correct some words.
Signed-off-by: ruix.li <ruix.li@intel.com>
2019-05-09 13:14:46 +08:00
David B. Kinder
7a275f6740 doc: Update intro to 1.0 release notes
Update the high-level summary.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-09 09:10:47 +08:00
David B. Kinder
11c9e27636 doc: Update 1.0 release notes
Fix release intro description, misspellings, remove trailing blanks,
trademark use.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-08 14:27:30 +08:00
David B. Kinder
5dbeb87fb3 doc: update APL NUC GSG
APL NUC Getting started guide has some obsolete information (such as
saying the user had to build ACRN as part of the installation process
and changed instructions because the Clear Linux installer changed),
along with some spelling and grammar issues.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-08 14:27:17 +08:00
root
9c21472f40 doc: Update the diagram of KBL NUC serial port rework
Update the connection of serial port rework for KBL NUC

Signed off by: Xie, Zhengtian<zhengtian.xie@intel.com>
2019-05-08 14:21:42 +08:00
David B. Kinder
13e780dd8d doc: update APL GSG details
Add additional edits to APL NUC GSG.
Also update corrupt PNG image

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-08 14:21:26 +08:00
ruix.li
c97cdc0da4 Setting up KBL serial console on the GSG
Signed-off-by: ruix.li <ruix.li@intel.com>
2019-05-08 14:21:00 +08:00
ruix.li
1bc3d83519 doc: Add v1.0 release note
v1.0 release note

Signed-off-by: ruix.li <ruix.li@intel.com>
2019-05-07 16:40:28 +08:00
Shiqing Gao
72d79a5fee doc: initial draft of Assembly coding guidelines
This patch creates initial draft of Assembly coding guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-05-07 16:40:00 +08:00
David B. Kinder
dd1830b823 doc: Fix references to be Wi-Fi
Correct spelling of the trademarked name is Wi-Fi

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-05-07 16:39:24 +08:00
ruix.li
aced3f43d7 doc: Add instruction for gsg_quick_setup.sh script.
An instruction is needed from gsg so that user could know where
to get the script and also how to use it to setup SOS, UOS automatically.

Signed-off-by: ruix.li <ruix.li@intel.com>
2019-05-07 16:25:04 +08:00
Li, Wilson
b0adc2dd0f Updated GSG of using RT Linux as RTVM in accordance with acrn-kernel v4.19.28
Signed-off-by: Li, Wilson <wilson.li@intel.com>
2019-05-07 16:22:03 +08:00
Geoffroy Van Cutsem
65d877b809 doc: update "Using PREEMPT_RT-Linux for real-time UOS" to use RTVM term
Update the architectural diagram in the "Using PREEMPT_RT-Linux for
real-time UOS" tutorial to reflect the new name given to that type of
VM, i.e. from "Privileged VM" to "RTVM".

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2019-05-07 16:21:12 +08:00
zhangyun
31776e0eca doc: How to build ACRN on Fedora 29
Update FAQ about compilation issue workaround on Fedora 29

Tracked-On: #2457
Signed-off-by: zhangyun <yunxzhang@intel.com>
2019-05-07 16:20:12 +08:00
Shiqing Gao
42baefd392 doc: add rules in C coding guidelines
This patch adds rules in C coding guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-05-07 16:19:33 +08:00
Geoffroy Van Cutsem
8543486462 doc: update instructions for building ACRN on Ubuntu 16.04
Update the instructions on how to build ACRN on Ubuntu 16.04,
specifically:
* Add 'pkg-config' package
* Upgrade 'binutils' to 2.27

Note: there is still an issue with regards to the GPIO header
(linux/gpio.h) which needs to be resolved.

Tracked-On: #2737
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2019-05-07 16:18:27 +08:00
Conghui Chen
1f8dcd2203 DOC: change hv shell cmd sos_console to vm_console
Change shell command 'sos_console' to 'vm_console' as it is not only
used to switch console to SOS.

Tracked-On: #2987
Signed-off-by: Conghui Chen <conghui.chen@intel.com>
2019-05-07 16:16:39 +08:00
Shiqing Gao
ce255fa003 doc: rename rules ID in C coding guidelines
This patch renames rules ID to reflect the language, in order
to support multiple programming languages.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-05-07 16:14:30 +08:00
Shiqing Gao
5146830542 doc: re-organize coding guidelines
This patch re-organizes ACRN coding guidelines to support
language-specific guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-05-07 16:10:50 +08:00
Shiqing Gao
292e510e06 doc: update coding guidelines
This patch updates some rules in coding guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-05-07 16:10:33 +08:00
Yin Fengwei
6ce32a3579 Makefile: add gcc option to workaround build issue with latest gcc
With latest gcc, there are build error with current ACRN code.
Fixing could involve many code changes. We use gcc option to
remove build error as temperary workaround. And will fix the
build error one by one.

Tracked-On: #3010
Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-25 21:25:55 +08:00
Liu, Xinwu
f8b1c504f0 tools:acrn-crashlog: fix the compiling error on gcc version 9.0.1
Meet compiling error:

In function ‘strncpy’,
    inlined from ‘main’ at main.c:88:4:
/usr/include/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’
specified bound 4096 equals destination size
[-Werror=stringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos
(__dest));
      |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This patch aims to fix it.

Tracked-On: #1024
Signed-off-by: Liu, Xinwu <xinwu.liu@intel.com>
Acked-by: Chen, Gang <gang.c.chen@intel.com>
2019-04-25 19:40:44 +08:00
Long Liu
b22a510d8d ACRN: tool: Fix buffer overflow risk in acrnctl
There will be a buffer overflow fisk in delete runc functions.
If the shell command function return length longer or equal to
the length of the buffer, at that time execute strstr function it
will cause buffer overflow issue. Set buffer's last byte to Zero
will avoid the risk.

Tracked-On: #3001
Signed-off-by: Long Liu <long.liu@intel.com>
Acked-by: Like Yan <like.yan@intel.com>
2019-04-23 15:11:35 +08:00
Liu Yuan
90343a48fa DM: virtio-gpio: fix array overflow issue
explicitly initialize the cmd_cap string array.

Tracked-On: #3001
Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-04-23 15:11:22 +08:00
Jian Jun Chen
fb9bd2a19a dm: uart: use mevent_add only when it is a tty
When acrn-dm is started by acrnd as a background process, STDIN is
redirected to journal. In this case mevent_add cannot be called on
the fd of STDIN.

Tracked-On: #2998
Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-04-23 15:11:08 +08:00
Yonghua Huang
49563b2a11 dm: fix possible null pointer dereference in pci_gvt_deinit
will access null pointer if 'gvt' is null.

Tracked-On: #1479
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Reviewed-by: He, Min <min.he@intel.com>
2019-04-23 13:45:41 +08:00
Yonghua Huang
7bcfebc55f hv: fix possible buffer overflow in vlapic.c
Possible buffer overflow will happen in vlapic_set_tmr()
  and vlapic_update_ppr(),this path is to fix them.

Tracked-On: #1252
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-04-23 13:45:28 +08:00
Qi Yadong
a3a77c7123 hv: seed: fix potential NULL pointer dereferencing
The 'boot_params' and 'entry' might be dereferenced after they were
positively checked for NULL. Refine checking logic to fix the issue.

Tracked-On: #2979
Signed-off-by: Qi Yadong <yadong.qi@intel.com>
Acked-by: Zhu Bing <bing.zhu@intel.com>
2019-04-23 10:23:54 +08:00
Sainath Grandhi
824caf8ce0 hv: Remove need for init_fallback_iommu_domain and fallback_iommu_domain
In the presence of SOS, ACRN uses fallback_iommu_domain which is the same
used by SOS, to assign domain to devices during ACRN init. Also it uses
fallback_iommu_domain when DM requests ACRN to remove device from UOS domain.
This patch changes the design of assign/remove_iommu_device to avoid the
concept of fallback_iommu_domain and its setup. This way ACRN can commonly
treat pre-launched VMs bringup w.r.t. IOMMU domain creation.

Tracked-On: #2965
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2019-04-17 11:42:36 +08:00
Wei Liu
948d58fb9c acrn-dm: enable debug option for acrn-dm
enable acrn-dm debug option via RELEASE=0(by default)

Tracked-On: #2939
Reviewed-by: Minggui Cao <minggui.cao@intel.com>
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-04-16 15:24:25 +08:00
Yin Fengwei
2e5a6e28b9 watchdog: map the watchdog reset to warm reset
Per debugging requirement, map the watchdog reset to warm reset.
So the ramconsole could be used to capture the kernel log of UOS
before watchdog is hit.

Tracked-On: #2471
Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-04-16 15:24:25 +08:00
Jian Jun Chen
2f4e320730 dm: virtio-input: adapt Windows virtio-input driver
Update PCIR_SUBDEV_0 and PCIR_REVID in PCI configuration space to adapt
windows virtio-input driver. Otherwise virtio-input driver on Windows
will not be loaded correctly.

Tracked-On: #2962
Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Acked-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-16 15:03:04 +08:00
Jian Jun Chen
8115857956 dm: pci: unregister bars which are still enabled in pci_emul_free_bars
Guest OS for example Windows will disable bars before shutdown. Bars
are unregistered when they are disabled. Trying to unregister a bar
which has been unregistered causes a assertion. In pci_emul_free_bars
only those enabled bars should be unregistered.

Tracked-On: #2962
Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Acked-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-16 15:03:04 +08:00
Jian Jun Chen
fd389cb15c dm: disable ACPI PM timer
ACPI PM timer is disabled in FADT since there is no pm timer emulation
in device model now.

Tracked-On: #2962
Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Acked-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-16 15:03:04 +08:00
Yu Wang
98dfc6f267 dm: virtio-block: extend the max iov number of virtio block
It is found that windows will issue blkio operation with amount of
sectors in one request. This patch extends the max iov number of
virtio block to 256.

Tracked-On: #2962
Signed-off-by: Yu Wang <yu1.wang@intel.com>
Acked-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-16 15:03:04 +08:00