Dan Carpenter
2c09d1443b
pstore/zone: cleanup "rcnt" type
...
The info->read() function returns ssize_t. That means that info->read()
either returns either negative error codes or a positive number
representing the bytes read.
The "rcnt" variable should be declared as ssize_t as well. Most places
do this correctly but psz_kmsg_recover_meta() needed to be fixed.
This code casts the "rcnt" to int. That is unnecessary when "rcnt"
is already signed. It's also slightly wrong because if info->read()
returned a very high (more than INT_MAX) number of bytes then this might
treat that as an error. This bug cannot happen in real life, so it
doesn't affect run time, but static checkers correctly complain that it
is wrong.
fs/pstore/zone.c:366 psz_kmsg_recover_data() warn: casting 'rcnt' truncates high bits
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/YrRtPSFHDVJzV6d+@kili
2022-06-23 08:27:52 -07:00
Mauro Carvalho Chehab
4fd15eaf42
pstore/zone: fix a kernel-doc markup
...
The documented struct is psz_head and not psz_buffer.
Reviewed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/a67ca4d12c3ef277dadb9e0d0df8450158e637cc.1610610937.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net >
2021-01-21 14:06:00 -07:00
Christoph Hellwig
cbf82e3503
pstore/zone: cap the maximum device size
...
Introduce an abritrary 128MiB cap to avoid malloc failures when using
a larger block device.
Signed-off-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: WeiXiong Liao <gmpy.liaowx@gmail.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20201016132047.3068029-2-hch@lst.de
2020-12-01 11:32:55 -08:00
Gustavo A. R. Silva
df561f6688
treewide: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
2020-08-23 17:36:59 -05:00
WeiXiong Liao
7dcb7848ba
pstore/blk: Support non-block storage devices
...
Add support for non-block devices (e.g. MTD). A non-block driver calls
pstore_blk_register_device() to register iself.
In addition, pstore/zone is updated to handle non-block devices,
where an erase must be done before a write. Without this, there is no
way to remove records stored to an MTD.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-10-keescook@chromium.org/
Co-developed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-31 19:49:00 -07:00
WeiXiong Liao
335426c6dc
pstore/zone: Provide way to skip "broken" zone for MTD devices
...
One requirement to support MTD devices in pstore/zone is having a
way to declare certain regions as broken. Add this support to
pstore/zone.
The MTD driver should return -ENOMSG when encountering a bad region,
which tells pstore/zone to skip and try the next one.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-8-keescook@chromium.org/
Co-developed-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Link: //lore.kernel.org/lkml/20200512173801.222666-1-colin.king@canonical.com
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-31 19:48:56 -07:00
WeiXiong Liao
34327e9fd2
pstore/zone,blk: Add ftrace frontend support
...
Support backend for ftrace. To enable ftrace backend, just make
ftrace_size be greater than 0 and a multiple of 4096.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-6-keescook@chromium.org/
Co-developed-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Link: https://lore.kernel.org/lkml/20200512170719.221514-1-colin.king@canonical.com
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-30 10:34:03 -07:00
WeiXiong Liao
cc9c4d1b55
pstore/zone,blk: Add console frontend support
...
Support backend for console. To enable console backend, just make
console_size be greater than 0 and a multiple of 4096.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-5-keescook@chromium.org/
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-30 10:34:03 -07:00
WeiXiong Liao
0dc068265a
pstore/zone,blk: Add support for pmsg frontend
...
Add pmsg support to pstore/blk (through pstore/zone). To enable, pmsg_size
must be greater than 0 and a multiple of 4096.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-4-keescook@chromium.org/
Co-developed-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Link: https://lore.kernel.org/lkml/20200512171932.222102-1-colin.king@canonical.com
Co-developed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-30 10:34:03 -07:00
WeiXiong Liao
d26c3321fe
pstore/zone: Introduce common layer to manage storage zones
...
Implement a common set of APIs needed to support pstore storage zones,
based on how ramoops is designed. This will be used by pstore/blk with
the intention of migrating pstore/ram in the future.
Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com >
Link: https://lore.kernel.org/lkml/20200511233229.27745-2-keescook@chromium.org/
Co-developed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Kees Cook <keescook@chromium.org >
2020-05-30 10:34:03 -07:00