]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
lib/bootconfig: use signed type for offset in xbc_init_node()
authorJosh Law <objecting@objecting.org>
Wed, 18 Mar 2026 15:59:17 +0000 (15:59 +0000)
committerMasami Hiramatsu (Google) <mhiramat@kernel.org>
Wed, 18 Mar 2026 23:44:46 +0000 (08:44 +0900)
commit0f2199904188abd5477a6517a9ce525bdc2dc01d
tree4d1268e68813a34da3f2bfc48722b1b4c4008d8e
parent68f479de0e013d0c27432240f35bf2a3cc3260f6
lib/bootconfig: use signed type for offset in xbc_init_node()

  lib/bootconfig.c:415:32: warning: conversion to 'long unsigned int'
  from 'long int' may change the sign of the result [-Wsign-conversion]

Pointer subtraction yields ptrdiff_t (signed), which was stored in
unsigned long.  The original unsigned type implicitly caught a negative
offset (data < xbc_data) because the wrapped value would exceed
XBC_DATA_MAX.  Make this intent explicit by using a signed long and
adding an offset < 0 check to the WARN_ON condition.

Link: https://lore.kernel.org/all/20260318155919.78168-12-objecting@objecting.org/
Signed-off-by: Josh Law <objecting@objecting.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
lib/bootconfig.c